summaryrefslogtreecommitdiff
path: root/noncore/styles/liquid/liquid.cpp
Unidiff
Diffstat (limited to 'noncore/styles/liquid/liquid.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/styles/liquid/liquid.cpp28
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
@@ -166,12 +166,14 @@ bool TransMenuHandler::eventFilter(QObject *obj, QEvent *ev)
166 166
167LiquidStyle::LiquidStyle() 167LiquidStyle::LiquidStyle()
168 :QWindowsStyle() 168 :QWindowsStyle()
169{ 169{
170 setName ( "LiquidStyle" ); 170 setName ( "LiquidStyle" );
171 171
172 flatTBButtons = false;
173
172 btnMaskBmp = QBitmap(37, 26, buttonmask_bits, true); 174 btnMaskBmp = QBitmap(37, 26, buttonmask_bits, true);
173 btnMaskBmp.setMask(btnMaskBmp); 175 btnMaskBmp.setMask(btnMaskBmp);
174 htmlBtnMaskBmp = QBitmap(37, 26, htmlbuttonmask_bits, true); 176 htmlBtnMaskBmp = QBitmap(37, 26, htmlbuttonmask_bits, true);
175 htmlBtnMaskBmp.setMask(htmlBtnMaskBmp); 177 htmlBtnMaskBmp.setMask(htmlBtnMaskBmp);
176 headerHoverID = -1; 178 headerHoverID = -1;
177 highlightWidget = NULL; 179 highlightWidget = NULL;
@@ -828,12 +830,19 @@ void LiquidStyle::polish(QPalette &appPal)
828 830
829void LiquidStyle::polish(QWidget *w) 831void LiquidStyle::polish(QWidget *w)
830{ 832{
831 if(w->inherits("QMenuBar")){ 833 if(w->inherits("QMenuBar")){
832 //((QFrame*)w)->setLineWidth(0); 834 //((QFrame*)w)->setLineWidth(0);
833 w->setBackgroundMode(QWidget::PaletteBackground); 835 w->setBackgroundMode(QWidget::PaletteBackground);
836 w->setBackgroundOrigin(QWidget::ParentOrigin);
837 return;
838 }
839 if(w->inherits("QToolBar")){
840 w->installEventFilter(this);
841 w->setBackgroundMode(QWidget::PaletteBackground);
842 w->setBackgroundOrigin(QWidget::WidgetOrigin);
834 return; 843 return;
835 } 844 }
836 if(w->inherits("QPopupMenu")) 845 if(w->inherits("QPopupMenu"))
837 w->setBackgroundMode(QWidget::NoBackground); 846 w->setBackgroundMode(QWidget::NoBackground);
838 else if(w-> testWFlags(Qt::WType_Popup) && !w->inherits("QListBox")) { 847 else if(w-> testWFlags(Qt::WType_Popup) && !w->inherits("QListBox")) {
839 w->installEventFilter(menuHandler); 848 w->installEventFilter(menuHandler);
@@ -890,14 +899,16 @@ void LiquidStyle::polish(QWidget *w)
890 } 899 }
891 } 900 }
892 if(w->inherits("QHeader")){ 901 if(w->inherits("QHeader")){
893 w->setMouseTracking(true); 902 w->setMouseTracking(true);
894 w->installEventFilter(this); 903 w->installEventFilter(this);
895 } 904 }
896 if(w-> inherits("QToolButton")) { 905 if(w-> inherits("QToolButton")&&w->parent()->inherits("QToolBar")) {
897 ((QToolButton*)w)->setAutoRaise (false); 906 ((QToolButton*)w)->setAutoRaise (flatTBButtons);
907 if ( flatTBButtons )
908 w->setBackgroundOrigin(QWidget::ParentOrigin);
898 } 909 }
899 if(w->ownPalette() && !w->inherits("QButton") && !w->inherits("QComboBox")){ 910 if(w->ownPalette() && !w->inherits("QButton") && !w->inherits("QComboBox")){
900 return; 911 return;
901 } 912 }
902 913
903 if(w->parent() && w->parent()->isWidgetType() && !((QWidget*)w->parent())-> 914 if(w->parent() && w->parent()->isWidgetType() && !((QWidget*)w->parent())->
@@ -909,17 +920,12 @@ void LiquidStyle::polish(QWidget *w)
909 !( !w-> inherits("QLineEdit") && w-> parent() && w-> parent()-> isWidgetType ( ) && w-> parent()-> inherits ( "QMultiLineEdit" ))) { 920 !( !w-> inherits("QLineEdit") && w-> parent() && w-> parent()-> isWidgetType ( ) && w-> parent()-> inherits ( "QMultiLineEdit" ))) {
910 if(w->backgroundMode() == QWidget::PaletteBackground || 921 if(w->backgroundMode() == QWidget::PaletteBackground ||
911 w->backgroundMode() == QWidget::PaletteButton){ 922 w->backgroundMode() == QWidget::PaletteButton){
912 w->setBackgroundMode(QWidget::X11ParentRelative); 923 w->setBackgroundMode(QWidget::X11ParentRelative);
913 } 924 }
914 } 925 }
915 if(w->inherits("QToolBar")){
916 w->installEventFilter(this);
917 w->setBackgroundMode(QWidget::PaletteBackground);
918 return;
919 }
920 926
921} 927}
922 928
923void LiquidStyle::unPolish(QWidget *w) 929void LiquidStyle::unPolish(QWidget *w)
924{ 930{
925 if(w->inherits("QMenuBar")){ 931 if(w->inherits("QMenuBar")){
@@ -998,12 +1004,14 @@ void LiquidStyle::polish(QApplication *app)
998 1004
999 Config config ( "qpe" ); 1005 Config config ( "qpe" );
1000 config. setGroup ( "Liquid-Style" ); 1006 config. setGroup ( "Liquid-Style" );
1001 1007
1002 if ( config. readBoolEntry ( "WinDecoration", true )) 1008 if ( config. readBoolEntry ( "WinDecoration", true ))
1003 QApplication::qwsSetDecoration ( new LiquidDecoration ( )); 1009 QApplication::qwsSetDecoration ( new LiquidDecoration ( ));
1010
1011 flatTBButtons = config. readBoolEntry ( "FlatToolButtons", false );
1004} 1012}
1005 1013
1006void LiquidStyle::unPolish(QApplication *app) 1014void LiquidStyle::unPolish(QApplication *app)
1007{ 1015{
1008 QWindowsStyle::unPolish(app); 1016 QWindowsStyle::unPolish(app);
1009 app->setEffectEnabled(UI_AnimateMenu, menuAni); 1017 app->setEffectEnabled(UI_AnimateMenu, menuAni);
@@ -1995,14 +2003,16 @@ void LiquidStyle::drawMenuBarItem(QPainter *p, int x, int y, int w, int h,
1995 if(active){ 2003 if(active){
1996 x -= 2; // Bug in Qt/E 2004 x -= 2; // Bug in Qt/E
1997 y -= 2; 2005 y -= 2;
1998 w += 2; 2006 w += 2;
1999 h += 2; 2007 h += 2;
2000 } 2008 }
2001 2009
2002 p-> fillRect ( x, y, w, h, g.brush(QColorGroup::Background)); 2010 QWidget *parent = (QWidget *)p->device();
2011 p->setBrushOrigin(parent->pos());
2012 parent->erase(x, y, w, h);
2003 2013
2004 if(menuHandler->useShadowText()){ 2014 if(menuHandler->useShadowText()){
2005 QColor shadow; 2015 QColor shadow;
2006 if(p->device() && p->device()->devType() == QInternal::Widget && 2016 if(p->device() && p->device()->devType() == QInternal::Widget &&
2007 ((QWidget *)p->device())->inherits("QMenuBar")){ 2017 ((QWidget *)p->device())->inherits("QMenuBar")){
2008 shadow = ((QMenuBar*)p->device())->isTopLevel() ? g.button().dark(130) : 2018 shadow = ((QMenuBar*)p->device())->isTopLevel() ? g.button().dark(130) :