diff options
author | Jens Bache-Wiig <jbache@trolltech.com> | 2009-04-02 11:19:42 (GMT) |
---|---|---|
committer | Jens Bache-Wiig <jbache@trolltech.com> | 2009-04-02 11:23:17 (GMT) |
commit | ca582d6cb205461cfcdf448749b46ee654faa5fd (patch) | |
tree | 1228bd1cc9f68f3ea578818bf8a60c8351938f46 /src/gui/styles/qstylesheetstyle.cpp | |
parent | e008504b5ec34975e34adf3b1a2b7170d0e4dd38 (diff) | |
download | Qt-ca582d6cb205461cfcdf448749b46ee654faa5fd.zip Qt-ca582d6cb205461cfcdf448749b46ee654faa5fd.tar.gz Qt-ca582d6cb205461cfcdf448749b46ee654faa5fd.tar.bz2 |
Improved stylesheet support for setting background and foreground roles
This makes sure that style sheets set both ButtonText and WindowText roles
for all widgets. This fixes among other things the fact that you could not
configure text colors for combo box popups on Mac, Gtk and CleanLooks or
set the background for the whole scrollbar.
Task-number: 160713
Reviewed-by: ogoffart
Diffstat (limited to 'src/gui/styles/qstylesheetstyle.cpp')
-rw-r--r-- | src/gui/styles/qstylesheetstyle.cpp | 26 |
1 files changed, 7 insertions, 19 deletions
diff --git a/src/gui/styles/qstylesheetstyle.cpp b/src/gui/styles/qstylesheetstyle.cpp index a39eeb7..49ac57a 100644 --- a/src/gui/styles/qstylesheetstyle.cpp +++ b/src/gui/styles/qstylesheetstyle.cpp @@ -1514,20 +1514,11 @@ void QRenderRule::configurePalette(QPalette *p, QPalette::ColorRole fr, QPalette void QRenderRule::configurePalette(QPalette *p, QPalette::ColorGroup cg, const QWidget *w, bool embedded) { -#ifdef QT_NO_COMBOBOX - const bool isReadOnlyCombo = false; -#else - const bool isReadOnlyCombo = qobject_cast<const QComboBox *>(w) != 0; -#endif - if (bg && bg->brush.style() != Qt::NoBrush) { - if (isReadOnlyCombo) { - p->setBrush(cg, QPalette::Base, bg->brush); // for windows, windowxp - p->setBrush(cg, QPalette::Button, bg->brush); // for plastique - } else { - p->setBrush(cg, w->backgroundRole(), bg->brush); - //p->setBrush(cg, QPalette::Window, bg->brush); - } + p->setBrush(cg, QPalette::Base, bg->brush); // for windows, windowxp + p->setBrush(cg, QPalette::Button, bg->brush); // for plastique + p->setBrush(cg, w->backgroundRole(), bg->brush); + p->setBrush(cg, QPalette::Window, bg->brush); } if (embedded) { @@ -1542,12 +1533,9 @@ void QRenderRule::configurePalette(QPalette *p, QPalette::ColorGroup cg, const Q return; if (pal->foreground.style() != Qt::NoBrush) { - if (isReadOnlyCombo) { - p->setBrush(cg, QPalette::ButtonText, pal->foreground); - } else { - p->setBrush(cg, w->foregroundRole(), pal->foreground); - p->setBrush(cg, QPalette::WindowText, pal->foreground); - } + p->setBrush(cg, QPalette::ButtonText, pal->foreground); + p->setBrush(cg, w->foregroundRole(), pal->foreground); + p->setBrush(cg, QPalette::WindowText, pal->foreground); p->setBrush(cg, QPalette::Text, pal->foreground); } if (pal->selectionBackground.style() != Qt::NoBrush) |