summaryrefslogtreecommitdiff
path: root/noncore/styles/liquid/liquid.cpp
Side-by-side diff
Diffstat (limited to 'noncore/styles/liquid/liquid.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/styles/liquid/liquid.cpp26
1 files changed, 18 insertions, 8 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
@@ -168,8 +168,10 @@ LiquidStyle::LiquidStyle()
:QWindowsStyle()
{
setName ( "LiquidStyle" );
+ flatTBButtons = false;
+
btnMaskBmp = QBitmap(37, 26, buttonmask_bits, true);
btnMaskBmp.setMask(btnMaskBmp);
htmlBtnMaskBmp = QBitmap(37, 26, htmlbuttonmask_bits, true);
htmlBtnMaskBmp.setMask(htmlBtnMaskBmp);
@@ -830,8 +832,15 @@ void LiquidStyle::polish(QWidget *w)
{
if(w->inherits("QMenuBar")){
//((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;
}
if(w->inherits("QPopupMenu"))
w->setBackgroundMode(QWidget::NoBackground);
@@ -892,10 +901,12 @@ void LiquidStyle::polish(QWidget *w)
if(w->inherits("QHeader")){
w->setMouseTracking(true);
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")){
return;
}
@@ -911,13 +922,8 @@ void LiquidStyle::polish(QWidget *w)
w->backgroundMode() == QWidget::PaletteButton){
w->setBackgroundMode(QWidget::X11ParentRelative);
}
}
- if(w->inherits("QToolBar")){
- w->installEventFilter(this);
- w->setBackgroundMode(QWidget::PaletteBackground);
- return;
- }
}
void LiquidStyle::unPolish(QWidget *w)
@@ -1000,8 +1006,10 @@ void LiquidStyle::polish(QApplication *app)
config. setGroup ( "Liquid-Style" );
if ( config. readBoolEntry ( "WinDecoration", true ))
QApplication::qwsSetDecoration ( new LiquidDecoration ( ));
+
+ flatTBButtons = config. readBoolEntry ( "FlatToolButtons", false );
}
void LiquidStyle::unPolish(QApplication *app)
{
@@ -1998,9 +2006,11 @@ void LiquidStyle::drawMenuBarItem(QPainter *p, int x, int y, int w, int h,
w += 2;
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()){
QColor shadow;
if(p->device() && p->device()->devType() == QInternal::Widget &&