Diffstat (limited to 'noncore/styles/liquid/liquid.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/styles/liquid/liquid.cpp | 28 |
1 files changed, 19 insertions, 9 deletions
diff --git a/noncore/styles/liquid/liquid.cpp b/noncore/styles/liquid/liquid.cpp index 87b5488..22bf8af 100644 --- a/noncore/styles/liquid/liquid.cpp +++ b/noncore/styles/liquid/liquid.cpp @@ -170,4 +170,6 @@ LiquidStyle::LiquidStyle() setName ( "LiquidStyle" ); + flatTBButtons = false; + btnMaskBmp = QBitmap(37, 26, buttonmask_bits, true); btnMaskBmp.setMask(btnMaskBmp); @@ -832,4 +834,11 @@ void LiquidStyle::polish(QWidget *w) //((QFrame*)w)->setLineWidth(0); w->setBackgroundMode(QWidget::PaletteBackground); + w->setBackgroundOrigin(QWidget::ParentOrigin); + return; + } + if(w->inherits("QToolBar")){ + w->installEventFilter(this); + w->setBackgroundMode(QWidget::PaletteBackground); + w->setBackgroundOrigin(QWidget::WidgetOrigin); return; } @@ -894,6 +903,8 @@ void LiquidStyle::polish(QWidget *w) w->installEventFilter(this); } - if(w-> inherits("QToolButton")) { - ((QToolButton*)w)->setAutoRaise (false); + if(w-> inherits("QToolButton")&&w->parent()->inherits("QToolBar")) { + ((QToolButton*)w)->setAutoRaise (flatTBButtons); + if ( flatTBButtons ) + w->setBackgroundOrigin(QWidget::ParentOrigin); } if(w->ownPalette() && !w->inherits("QButton") && !w->inherits("QComboBox")){ @@ -913,9 +924,4 @@ void LiquidStyle::polish(QWidget *w) } } - if(w->inherits("QToolBar")){ - w->installEventFilter(this); - w->setBackgroundMode(QWidget::PaletteBackground); - return; - } } @@ -1002,4 +1008,6 @@ void LiquidStyle::polish(QApplication *app) if ( config. readBoolEntry ( "WinDecoration", true )) QApplication::qwsSetDecoration ( new LiquidDecoration ( )); + + flatTBButtons = config. readBoolEntry ( "FlatToolButtons", false ); } @@ -1999,6 +2007,8 @@ void LiquidStyle::drawMenuBarItem(QPainter *p, int x, int y, int w, int h, h += 2; } - - p-> fillRect ( x, y, w, h, g.brush(QColorGroup::Background)); + + QWidget *parent = (QWidget *)p->device(); + p->setBrushOrigin(parent->pos()); + parent->erase(x, y, w, h); if(menuHandler->useShadowText()){ |