git-svn-id: svn://db.shs.com.ru/libs@466 a8b55f48-bf90-11e4-a774-851b48703e85
This commit is contained in:
@@ -31,7 +31,7 @@ void EDockWidget::setWindowIcon(const QIcon & icon) {
|
|||||||
|
|
||||||
bool EDockWidget::event(QEvent * e) {
|
bool EDockWidget::event(QEvent * e) {
|
||||||
if (e->type() == QEvent::FontChange || e->type() == QEvent::Polish) {
|
if (e->type() == QEvent::FontChange || e->type() == QEvent::Polish) {
|
||||||
lbl_icon->setFixedSize(preferredIconSize(1.5, this));
|
updateStyle();
|
||||||
}
|
}
|
||||||
return QDockWidget::event(e);
|
return QDockWidget::event(e);
|
||||||
}
|
}
|
||||||
@@ -54,7 +54,6 @@ void EDockWidget::init() {
|
|||||||
#endif*/
|
#endif*/
|
||||||
//qDebug() << windowTitle() << wi.pixmap(QSize(256,256)).size();
|
//qDebug() << windowTitle() << wi.pixmap(QSize(256,256)).size();
|
||||||
lbl_icon->setScaledContents(true);
|
lbl_icon->setScaledContents(true);
|
||||||
lbl_icon->setFixedSize(preferredIconSize(1.5));
|
|
||||||
}
|
}
|
||||||
lbl_icon->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
|
lbl_icon->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
|
||||||
//#endif
|
//#endif
|
||||||
@@ -62,21 +61,11 @@ void EDockWidget::init() {
|
|||||||
lbl_title->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);
|
lbl_title->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);
|
||||||
btn_dock = new QToolButton();
|
btn_dock = new QToolButton();
|
||||||
//btn_dock->setIconSize(QSize(16, 16));
|
//btn_dock->setIconSize(QSize(16, 16));
|
||||||
int btn_wh = style()->pixelMetric(QStyle::PM_SmallIconSize);
|
|
||||||
QSize icon_size(btn_wh, btn_wh);
|
|
||||||
btn_wh += 2 * style()->pixelMetric(QStyle::PM_DockWidgetTitleBarButtonMargin, 0, this);
|
|
||||||
QSize btn_size(btn_wh, btn_wh);
|
|
||||||
btn_dock->setIcon(style()->standardIcon(QStyle::SP_TitleBarNormalButton));
|
|
||||||
btn_dock->setIconSize(icon_size);
|
|
||||||
btn_dock->setFixedSize(btn_size);
|
|
||||||
btn_dock->setAutoRaise(true);
|
btn_dock->setAutoRaise(true);
|
||||||
btn_dock->setFocusPolicy(Qt::NoFocus);
|
btn_dock->setFocusPolicy(Qt::NoFocus);
|
||||||
btn_dock->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
|
btn_dock->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
|
||||||
btn_hide = new QToolButton();
|
btn_hide = new QToolButton();
|
||||||
//btn_hide->setIconSize(QSize(16, 16));
|
//btn_hide->setIconSize(QSize(16, 16));
|
||||||
btn_hide->setIcon(style()->standardIcon(QStyle::SP_DockWidgetCloseButton));
|
|
||||||
btn_hide->setIconSize(icon_size);
|
|
||||||
btn_hide->setFixedSize(btn_size);
|
|
||||||
btn_hide->setAutoRaise(true);
|
btn_hide->setAutoRaise(true);
|
||||||
btn_hide->setFocusPolicy(Qt::NoFocus);
|
btn_hide->setFocusPolicy(Qt::NoFocus);
|
||||||
btn_hide->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
|
btn_hide->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
|
||||||
@@ -87,5 +76,21 @@ void EDockWidget::init() {
|
|||||||
lay->addWidget(btn_dock);
|
lay->addWidget(btn_dock);
|
||||||
lay->addWidget(btn_hide);
|
lay->addWidget(btn_hide);
|
||||||
header->setLayout(lay);
|
header->setLayout(lay);
|
||||||
|
updateStyle();
|
||||||
setTitleBarWidget(header);
|
setTitleBarWidget(header);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void EDockWidget::updateStyle() {
|
||||||
|
QSize icon_size = preferredIconSize(0.75, this);
|
||||||
|
int bm = 2 * style()->pixelMetric(QStyle::PM_DockWidgetTitleBarButtonMargin, 0, this);
|
||||||
|
QSize btn_size = icon_size;
|
||||||
|
btn_size += QSize(bm, bm);
|
||||||
|
btn_dock->setIcon(style()->standardIcon(QStyle::SP_TitleBarNormalButton));
|
||||||
|
btn_dock->setIconSize(icon_size);
|
||||||
|
btn_dock->setFixedSize(btn_size);
|
||||||
|
btn_hide->setIcon(style()->standardIcon(QStyle::SP_TitleBarCloseButton));
|
||||||
|
btn_hide->setIconSize(icon_size);
|
||||||
|
btn_hide->setFixedSize(btn_size);
|
||||||
|
lbl_icon->setFixedSize(preferredIconSize(1.5, this));
|
||||||
|
}
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ public:
|
|||||||
private:
|
private:
|
||||||
bool event(QEvent * e);
|
bool event(QEvent * e);
|
||||||
void init();
|
void init();
|
||||||
|
void updateStyle();
|
||||||
|
|
||||||
QFrame * header;
|
QFrame * header;
|
||||||
QLabel * lbl_title, * lbl_icon;
|
QLabel * lbl_title, * lbl_icon;
|
||||||
|
|||||||
@@ -187,13 +187,15 @@ bool BlockView::eventFilter(QObject * o, QEvent * e) {
|
|||||||
mil = scene_->items(scene_point);
|
mil = scene_->items(scene_point);
|
||||||
foreach (QGraphicsItem * i, mil) {
|
foreach (QGraphicsItem * i, mil) {
|
||||||
if (i->data(1006) == "item") {
|
if (i->data(1006) == "item") {
|
||||||
emit blockDoubleClicked((BlockItem * )i);
|
//emit blockDoubleClicked((BlockItem * )i);
|
||||||
break;
|
QMetaObject::invokeMethod(this, "blockDoubleClicked", Qt::QueuedConnection, Q_ARG(BlockItem * , (BlockItem*)i));
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
if (i->data(1005) == "connection") {
|
if (i->data(1005) == "connection") {
|
||||||
if (qgraphicsitem_cast<BlockBusItem*>(i)->isBusSelected()) {
|
if (qgraphicsitem_cast<BlockBusItem*>(i)->isBusSelected()) {
|
||||||
emit busDoubleClicked(qgraphicsitem_cast<BlockBusItem*>(i));
|
//emit busDoubleClicked(qgraphicsitem_cast<BlockBusItem*>(i));
|
||||||
break;
|
QMetaObject::invokeMethod(this, "busDoubleClicked", Qt::QueuedConnection, Q_ARG(BlockBusItem * , (BlockBusItem*)i));
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user