summaryrefslogtreecommitdiff
path: root/noncore/styles
authordrw <drw>2005-04-14 18:30:23 (UTC)
committer drw <drw>2005-04-14 18:30:23 (UTC)
commit5fd266a3a5a6d9a1acb9c38e4802ff06ba38beaf (patch) (unidiff)
treed4ba8a948d876db9bbff10cbd282fd16aab91feb /noncore/styles
parent7a3b813cc3bfbb2f7c31f347c35405851e82aecf (diff)
downloadopie-5fd266a3a5a6d9a1acb9c38e4802ff06ba38beaf.zip
opie-5fd266a3a5a6d9a1acb9c38e4802ff06ba38beaf.tar.gz
opie-5fd266a3a5a6d9a1acb9c38e4802ff06ba38beaf.tar.bz2
More icon sizing updates
Diffstat (limited to 'noncore/styles') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/styles/flat/flat.cpp18
-rw-r--r--noncore/styles/fresh/fresh.cpp18
-rw-r--r--noncore/styles/liquid/liquid.cpp129
-rw-r--r--noncore/styles/phase/phasestyle.cpp14
-rw-r--r--noncore/styles/theme/othemestyle.cpp53
-rw-r--r--noncore/styles/web/webstyle.cpp126
-rw-r--r--noncore/styles/web/webstyle.h2
7 files changed, 252 insertions, 108 deletions
diff --git a/noncore/styles/flat/flat.cpp b/noncore/styles/flat/flat.cpp
index f3bacf9..c164ecc 100644
--- a/noncore/styles/flat/flat.cpp
+++ b/noncore/styles/flat/flat.cpp
@@ -373,7 +373,7 @@ void FlatStyle::drawPushButtonLabel( QPushButton *btn, QPainter *p )
373 ? QIconSet::Normal : QIconSet::Disabled; 373 ? QIconSet::Normal : QIconSet::Disabled;
374 if ( mode == QIconSet::Normal && btn->hasFocus() ) 374 if ( mode == QIconSet::Normal && btn->hasFocus() )
375 mode = QIconSet::Active; 375 mode = QIconSet::Active;
376 QPixmap pixmap = btn->iconSet()->pixmap( QIconSet::Small, mode ); 376 QPixmap pixmap = btn->iconSet()->pixmap( QIconSet::Automatic, mode );
377 int pixw = pixmap.width(); 377 int pixw = pixmap.width();
378 int pixh = pixmap.height(); 378 int pixh = pixmap.height();
379 p->drawPixmap( x+2, y+h/2-pixh/2, pixmap ); 379 p->drawPixmap( x+2, y+h/2-pixh/2, pixmap );
@@ -391,8 +391,8 @@ QRect FlatStyle::comboButtonRect( int x, int y, int w, int h)
391{ 391{
392 return QRect(x+2, y+2, w-4-13, h-4); 392 return QRect(x+2, y+2, w-4-13, h-4);
393} 393}
394 394
395 395
396QRect FlatStyle::comboButtonFocusRect( int x, int y, int w, int h) 396QRect FlatStyle::comboButtonFocusRect( int x, int y, int w, int h)
397{ 397{
398 return QRect(x+2, y+2, w-4-14, h-4); 398 return QRect(x+2, y+2, w-4-14, h-4);
@@ -892,7 +892,7 @@ int FlatStyle::extraPopupMenuItemWidth( bool checkable, int maxpmw, QMenuItem* m
892*/ 892*/
893int FlatStyle::popupMenuItemHeight( bool /*checkable*/, QMenuItem* mi, const QFontMetrics& fm ) 893int FlatStyle::popupMenuItemHeight( bool /*checkable*/, QMenuItem* mi, const QFontMetrics& fm )
894{ 894{
895#ifndef QT_NO_MENUDATA 895#ifndef QT_NO_MENUDATA
896 int h = 0; 896 int h = 0;
897 if ( mi->isSeparator() ) // separator height 897 if ( mi->isSeparator() ) // separator height
898 h = motifSepHeight; 898 h = motifSepHeight;
@@ -902,7 +902,7 @@ int FlatStyle::popupMenuItemHeight( bool /*checkable*/, QMenuItem* mi, const QFo
902 h = fm.height() + 2*motifItemVMargin + 2*motifItemFrame - 1; 902 h = fm.height() + 2*motifItemVMargin + 2*motifItemFrame - 1;
903 903
904 if ( !mi->isSeparator() && mi->iconSet() != 0 ) { 904 if ( !mi->isSeparator() && mi->iconSet() != 0 ) {
905 h = QMAX( h, mi->iconSet()->pixmap( QIconSet::Small, QIconSet::Normal ).height() + 2*motifItemFrame ); 905 h = QMAX( h, mi->iconSet()->pixmap().height() + 2*motifItemFrame );
906 } 906 }
907 if ( mi->custom() ) 907 if ( mi->custom() )
908 h = QMAX( h, mi->custom()->sizeHint().height() + 2*motifItemVMargin + 2*motifItemFrame ) - 1; 908 h = QMAX( h, mi->custom()->sizeHint().height() + 2*motifItemVMargin + 2*motifItemFrame ) - 1;
@@ -914,7 +914,7 @@ void FlatStyle::drawPopupMenuItem( QPainter* p, bool checkable, int maxpmw, int
914 const QPalette& pal, 914 const QPalette& pal,
915 bool act, bool enabled, int x, int y, int w, int h) 915 bool act, bool enabled, int x, int y, int w, int h)
916{ 916{
917#ifndef QT_NO_MENUDATA 917#ifndef QT_NO_MENUDATA
918 const QColorGroup & g = pal.active(); 918 const QColorGroup & g = pal.active();
919 bool dis = !enabled; 919 bool dis = !enabled;
920 QColorGroup itemg = dis ? pal.disabled() : pal.active(); 920 QColorGroup itemg = dis ? pal.disabled() : pal.active();
@@ -954,7 +954,11 @@ void FlatStyle::drawPopupMenuItem( QPainter* p, bool checkable, int maxpmw, int
954 QIconSet::Mode mode = dis ? QIconSet::Disabled : QIconSet::Normal; 954 QIconSet::Mode mode = dis ? QIconSet::Disabled : QIconSet::Normal;
955 if (act && !dis ) 955 if (act && !dis )
956 mode = QIconSet::Active; 956 mode = QIconSet::Active;
957 QPixmap pixmap = mi->iconSet()->pixmap( QIconSet::Small, mode ); 957 QPixmap pixmap;
958 if ( mode == QIconSet::Disabled )
959 pixmap = mi->iconSet()->pixmap( QIconSet::Automatic, mode );
960 else
961 pixmap = mi->iconSet()->pixmap();
958 int pixw = pixmap.width(); 962 int pixw = pixmap.width();
959 int pixh = pixmap.height(); 963 int pixh = pixmap.height();
960 if ( act && !dis ) { 964 if ( act && !dis ) {
diff --git a/noncore/styles/fresh/fresh.cpp b/noncore/styles/fresh/fresh.cpp
index 831b620..856f68b 100644
--- a/noncore/styles/fresh/fresh.cpp
+++ b/noncore/styles/fresh/fresh.cpp
@@ -147,8 +147,8 @@ QRect FreshStyle::comboButtonRect( int x, int y, int w, int h)
147{ 147{
148 return QRect(x+1, y+1, w-2-14, h-2); 148 return QRect(x+1, y+1, w-2-14, h-2);
149} 149}
150 150
151 151
152QRect FreshStyle::comboButtonFocusRect( int x, int y, int w, int h) 152QRect FreshStyle::comboButtonFocusRect( int x, int y, int w, int h)
153{ 153{
154 return QRect(x+2, y+2, w-4-14, h-4); 154 return QRect(x+2, y+2, w-4-14, h-4);
@@ -528,7 +528,7 @@ void FreshStyle::drawTab( QPainter *p, const QTabBar *tb, QTab *t, bool selected
528 tb->colorGroup().brush( QColorGroup::Button )); 528 tb->colorGroup().brush( QColorGroup::Button ));
529 529
530 //do shading; will not work for pixmap brushes 530 //do shading; will not work for pixmap brushes
531 QColor bg = tb->colorGroup().button(); 531 QColor bg = tb->colorGroup().button();
532 // int h,s,v; 532 // int h,s,v;
533 // bg.hsv( &h, &s, &v ); 533 // bg.hsv( &h, &s, &v );
534 int n = r.height()/2; 534 int n = r.height()/2;
@@ -638,7 +638,7 @@ int FreshStyle::extraPopupMenuItemWidth( bool checkable, int maxpmw, QMenuItem*
638*/ 638*/
639int FreshStyle::popupMenuItemHeight( bool /*checkable*/, QMenuItem* mi, const QFontMetrics& fm ) 639int FreshStyle::popupMenuItemHeight( bool /*checkable*/, QMenuItem* mi, const QFontMetrics& fm )
640{ 640{
641#ifndef QT_NO_MENUDATA 641#ifndef QT_NO_MENUDATA
642 int h = 0; 642 int h = 0;
643 if ( mi->isSeparator() ) // separator height 643 if ( mi->isSeparator() ) // separator height
644 h = motifSepHeight; 644 h = motifSepHeight;
@@ -648,7 +648,7 @@ int FreshStyle::popupMenuItemHeight( bool /*checkable*/, QMenuItem* mi, const QF
648 h = fm.height() + 2*motifItemVMargin + 2*motifItemFrame - 1; 648 h = fm.height() + 2*motifItemVMargin + 2*motifItemFrame - 1;
649 649
650 if ( !mi->isSeparator() && mi->iconSet() != 0 ) { 650 if ( !mi->isSeparator() && mi->iconSet() != 0 ) {
651 h = QMAX( h, mi->iconSet()->pixmap( QIconSet::Small, QIconSet::Normal ).height() + 2*motifItemFrame ); 651 h = QMAX( h, mi->iconSet()->pixmap().height() + 2*motifItemFrame );
652 } 652 }
653 if ( mi->custom() ) 653 if ( mi->custom() )
654 h = QMAX( h, mi->custom()->sizeHint().height() + 2*motifItemVMargin + 2*motifItemFrame ) - 1; 654 h = QMAX( h, mi->custom()->sizeHint().height() + 2*motifItemVMargin + 2*motifItemFrame ) - 1;
@@ -660,7 +660,7 @@ void FreshStyle::drawPopupMenuItem( QPainter* p, bool checkable, int maxpmw, int
660 const QPalette& pal, 660 const QPalette& pal,
661 bool act, bool enabled, int x, int y, int w, int h) 661 bool act, bool enabled, int x, int y, int w, int h)
662{ 662{
663#ifndef QT_NO_MENUDATA 663#ifndef QT_NO_MENUDATA
664 const QColorGroup & g = pal.active(); 664 const QColorGroup & g = pal.active();
665 bool dis = !enabled; 665 bool dis = !enabled;
666 QColorGroup itemg = dis ? pal.disabled() : pal.active(); 666 QColorGroup itemg = dis ? pal.disabled() : pal.active();
@@ -702,7 +702,11 @@ void FreshStyle::drawPopupMenuItem( QPainter* p, bool checkable, int maxpmw, int
702 QIconSet::Mode mode = dis ? QIconSet::Disabled : QIconSet::Normal; 702 QIconSet::Mode mode = dis ? QIconSet::Disabled : QIconSet::Normal;
703 if (act && !dis ) 703 if (act && !dis )
704 mode = QIconSet::Active; 704 mode = QIconSet::Active;
705 QPixmap pixmap = mi->iconSet()->pixmap( QIconSet::Small, mode ); 705 QPixmap pixmap;
706 if ( mode == QIconSet::Disabled )
707 pixmap = mi->iconSet()->pixmap( QIconSet::Automatic, mode );
708 else
709 pixmap = mi->iconSet()->pixmap();
706 int pixw = pixmap.width(); 710 int pixw = pixmap.width();
707 int pixh = pixmap.height(); 711 int pixh = pixmap.height();
708 if ( act && !dis ) { 712 if ( act && !dis ) {
diff --git a/noncore/styles/liquid/liquid.cpp b/noncore/styles/liquid/liquid.cpp
index 51814e7..77cf198 100644
--- a/noncore/styles/liquid/liquid.cpp
+++ b/noncore/styles/liquid/liquid.cpp
@@ -3,7 +3,7 @@
3 */ 3 */
4 4
5// 5//
6// (c) 2002 Robert 'sandman' Griebl 6// (c) 2002 Robert 'sandman' Griebl
7// 7//
8 8
9 9
@@ -12,7 +12,7 @@
12#endif 12#endif
13 13
14#include "liquid.h" 14#include "liquid.h"
15#include "effects.h" 15#include "effects.h"
16#include "htmlmasks.h" 16#include "htmlmasks.h"
17#include "embeddata.h" 17#include "embeddata.h"
18 18
@@ -99,7 +99,7 @@ void TransMenuHandler::reloadSettings()
99 opacity = 20; 99 opacity = 20;
100 else if ( opacity > 20 ) 100 else if ( opacity > 20 )
101 opacity = 20; 101 opacity = 20;
102 102
103 shadowText = config. readBoolEntry("ShadowText", true); 103 shadowText = config. readBoolEntry("ShadowText", true);
104} 104}
105 105
@@ -137,16 +137,16 @@ bool TransMenuHandler::eventFilter(QObject *obj, QEvent *ev)
137 } 137 }
138 138
139 pixDict.insert(p->winId(), pix); 139 pixDict.insert(p->winId(), pix);
140 140
141 if ( !p->inherits("QPopupMenu")) 141 if ( !p->inherits("QPopupMenu"))
142 p->setBackgroundPixmap(*pix); 142 p->setBackgroundPixmap(*pix);
143 143
144 QObjectList *ol = p-> queryList("QWidget"); 144 QObjectList *ol = p-> queryList("QWidget");
145 for ( QObjectListIt it( *ol ); it. current ( ); ++it ) { 145 for ( QObjectListIt it( *ol ); it. current ( ); ++it ) {
146 QWidget *wid = (QWidget *) it.current ( ); 146 QWidget *wid = (QWidget *) it.current ( );
147 147
148 wid-> setBackgroundPixmap(*pix); 148 wid-> setBackgroundPixmap(*pix);
149 wid-> setBackgroundOrigin(QWidget::ParentOrigin); 149 wid-> setBackgroundOrigin(QWidget::ParentOrigin);
150 } 150 }
151 delete ol; 151 delete ol;
152 } 152 }
@@ -154,16 +154,16 @@ bool TransMenuHandler::eventFilter(QObject *obj, QEvent *ev)
154 else if(ev->type() == QEvent::Hide){ 154 else if(ev->type() == QEvent::Hide){
155 if(type == TransStippleBg || type == TransStippleBtn || 155 if(type == TransStippleBg || type == TransStippleBtn ||
156 type == Custom){ 156 type == Custom){
157// owarn << "Deleting menu pixmap, width " << pixDict.find(p->winId())->width() << "" << oendl; 157// owarn << "Deleting menu pixmap, width " << pixDict.find(p->winId())->width() << "" << oendl;
158 158
159 pixDict.remove(p->winId()); 159 pixDict.remove(p->winId());
160 if ( !p->inherits("QPopupMenu")) 160 if ( !p->inherits("QPopupMenu"))
161 p->setBackgroundMode(QWidget::PaletteBackground); 161 p->setBackgroundMode(QWidget::PaletteBackground);
162 162
163 QObjectList *ol = p-> queryList("QWidget"); 163 QObjectList *ol = p-> queryList("QWidget");
164 for ( QObjectListIt it( *ol ); it. current ( ); ++it ) { 164 for ( QObjectListIt it( *ol ); it. current ( ); ++it ) {
165 QWidget *wid = (QWidget *) it.current ( ); 165 QWidget *wid = (QWidget *) it.current ( );
166 166
167 wid-> setBackgroundMode( QWidget::PaletteBackground ); 167 wid-> setBackgroundMode( QWidget::PaletteBackground );
168 } 168 }
169 delete ol; 169 delete ol;
@@ -173,7 +173,7 @@ bool TransMenuHandler::eventFilter(QObject *obj, QEvent *ev)
173} 173}
174 174
175 175
176 176
177 177
178LiquidStyle::LiquidStyle() 178LiquidStyle::LiquidStyle()
179 :QWindowsStyle() 179 :QWindowsStyle()
@@ -499,7 +499,7 @@ QPixmap* LiquidStyle::processEmbedded(const char *label, int h, int s, int v,
499 QImage img(qembed_findImage(label)); 499 QImage img(qembed_findImage(label));
500 img.detach(); 500 img.detach();
501 if(img.isNull()){ // shouldn't happen, been tested 501 if(img.isNull()){ // shouldn't happen, been tested
502 owarn << "Invalid embedded label " << label << "" << oendl; 502 owarn << "Invalid embedded label " << label << "" << oendl;
503 return(NULL); 503 return(NULL);
504 } 504 }
505 if(img.depth() != 32) 505 if(img.depth() != 32)
@@ -599,10 +599,10 @@ QPixmap* LiquidStyle::getPixmap(BitmapData item)
599 break; 599 break;
600 case TabDown: 600 case TabDown:
601 pixmaps[TabDown] = processEmbedded("tab", btnH, btnS, btnV /*, true*/); 601 pixmaps[TabDown] = processEmbedded("tab", btnH, btnS, btnV /*, true*/);
602 break; 602 break;
603 case TabFocus: 603 case TabFocus:
604 pixmaps[TabFocus] = processEmbedded("tab", btnHoverH, btnHoverS, btnHoverV /*, true*/); 604 pixmaps[TabFocus] = processEmbedded("tab", btnHoverH, btnHoverS, btnHoverV /*, true*/);
605 break; 605 break;
606 606
607 case CB: 607 case CB:
608 pixmaps[CB] = processEmbedded("checkbox", bH, bS, bV /*, true*/); 608 pixmaps[CB] = processEmbedded("checkbox", bH, bS, bV /*, true*/);
@@ -801,16 +801,16 @@ void LiquidStyle::polish(QWidget *w)
801 } 801 }
802 if(w->inherits("QPopupMenu")) 802 if(w->inherits("QPopupMenu"))
803 w->setBackgroundMode(QWidget::NoBackground); 803 w->setBackgroundMode(QWidget::NoBackground);
804 else if(w-> testWFlags(Qt::WType_Popup) && 804 else if(w-> testWFlags(Qt::WType_Popup) &&
805 !w->inherits("QListBox") && 805 !w->inherits("QListBox") &&
806 ( qstrcmp ( w-> name(), "automatic what's this? widget" ) != 0 )) { 806 ( qstrcmp ( w-> name(), "automatic what's this? widget" ) != 0 )) {
807 w->installEventFilter(menuHandler); 807 w->installEventFilter(menuHandler);
808 } 808 }
809 809
810 if(w->isTopLevel()){ 810 if(w->isTopLevel()){
811 return; 811 return;
812 } 812 }
813 813
814 if(w->inherits("QRadioButton") || w->inherits("QCheckBox") || w->inherits("QProgressBar")) { 814 if(w->inherits("QRadioButton") || w->inherits("QCheckBox") || w->inherits("QProgressBar")) {
815 w->installEventFilter(this); 815 w->installEventFilter(this);
816 } 816 }
@@ -865,7 +865,7 @@ void LiquidStyle::polish(QWidget *w)
865 865
866 if(w->parent() && w->parent()->isWidgetType() && !((QWidget*)w->parent())-> 866 if(w->parent() && w->parent()->isWidgetType() && !((QWidget*)w->parent())->
867 palette().active().brush(QColorGroup::Background).pixmap()){ 867 palette().active().brush(QColorGroup::Background).pixmap()){
868 owarn << "No parent pixmap for child widget " << w->className() << "" << oendl; 868 owarn << "No parent pixmap for child widget " << w->className() << "" << oendl;
869 return; 869 return;
870 } 870 }
871 if(!isViewport && !isViewportChild && !w->testWFlags(WType_Popup) && 871 if(!isViewport && !isViewportChild && !w->testWFlags(WType_Popup) &&
@@ -878,7 +878,7 @@ void LiquidStyle::polish(QWidget *w)
878 } 878 }
879 } 879 }
880 if ( !w-> inherits("QFrame") || (((QFrame*) w)-> frameShape () == QFrame::NoFrame )) 880 if ( !w-> inherits("QFrame") || (((QFrame*) w)-> frameShape () == QFrame::NoFrame ))
881 w-> setBackgroundOrigin ( QWidget::ParentOrigin ); 881 w-> setBackgroundOrigin ( QWidget::ParentOrigin );
882 else if ( w-> inherits("QFrame") ) 882 else if ( w-> inherits("QFrame") )
883 w->setBackgroundOrigin ( QWidget::WidgetOrigin ); 883 w->setBackgroundOrigin ( QWidget::WidgetOrigin );
884 884
@@ -897,7 +897,7 @@ void LiquidStyle::unPolish(QWidget *w)
897 897
898 if(w->inherits("QPopupMenu")) 898 if(w->inherits("QPopupMenu"))
899 w->setBackgroundMode(QWidget::PaletteButton); 899 w->setBackgroundMode(QWidget::PaletteButton);
900 else if(w-> testWFlags(Qt::WType_Popup) && 900 else if(w-> testWFlags(Qt::WType_Popup) &&
901 !w->inherits("QListBox") && 901 !w->inherits("QListBox") &&
902 ( qstrcmp ( w-> name(), "automatic what's this? widget" ) != 0 )) { 902 ( qstrcmp ( w-> name(), "automatic what's this? widget" ) != 0 )) {
903 w->removeEventFilter(menuHandler); 903 w->removeEventFilter(menuHandler);
@@ -959,15 +959,15 @@ void LiquidStyle::polish(QApplication *app)
959 app->setEffectEnabled(UI_AnimateMenu, false); 959 app->setEffectEnabled(UI_AnimateMenu, false);
960 if(menuFade) 960 if(menuFade)
961 app->setEffectEnabled(UI_FadeMenu, false); 961 app->setEffectEnabled(UI_FadeMenu, false);
962 962
963 qt_set_draw_menu_bar_impl((QDrawMenuBarItemImpl) &LiquidStyle::drawMenuBarItem); 963 qt_set_draw_menu_bar_impl((QDrawMenuBarItemImpl) &LiquidStyle::drawMenuBarItem);
964 964
965 Config config ( "qpe" ); 965 Config config ( "qpe" );
966 config. setGroup ( "Liquid-Style" ); 966 config. setGroup ( "Liquid-Style" );
967 967
968 // if ( config. readBoolEntry ( "WinDecoration", true )) 968// if ( config. readBoolEntry ( "WinDecoration", true ))
969 // QApplication::qwsSetDecoration ( new LiquidDecoration ( )); 969 // QApplication::qwsSetDecoration ( new LiquidDecoration ( ));
970 970
971 flatTBButtons = config. readBoolEntry ( "FlatToolButtons", false ); 971 flatTBButtons = config. readBoolEntry ( "FlatToolButtons", false );
972} 972}
973 973
@@ -978,26 +978,26 @@ void LiquidStyle::unPolish(QApplication *app)
978 app->setEffectEnabled(UI_FadeMenu, menuFade); 978 app->setEffectEnabled(UI_FadeMenu, menuFade);
979 979
980 qt_set_draw_menu_bar_impl ( 0 ); 980 qt_set_draw_menu_bar_impl ( 0 );
981 981
982// QApplication::qwsSetDecoration ( new QPEDecoration ( )); 982// QApplication::qwsSetDecoration ( new QPEDecoration ( ));
983} 983}
984 984
985 985
986/* !! HACK !! Beware 986/* !! HACK !! Beware
987 * 987 *
988 * TT forgot to make the QProgressBar widget styleable in Qt 2.x 988 * TT forgot to make the QProgressBar widget styleable in Qt 2.x
989 * So the only way to customize the drawing, is to intercept the 989 * So the only way to customize the drawing, is to intercept the
990 * paint event - since we have to use protected functions, we need 990 * paint event - since we have to use protected functions, we need
991 * to derive a "hack" class from QProgressBar and do the painting 991 * to derive a "hack" class from QProgressBar and do the painting
992 * in there. 992 * in there.
993 * 993 *
994 * - sandman 994 * - sandman
995 */ 995 */
996 996
997class HackProgressBar : public QProgressBar { 997class HackProgressBar : public QProgressBar {
998public: 998public:
999 HackProgressBar ( ); 999 HackProgressBar ( );
1000 1000
1001 void paint ( QPaintEvent *event, const QColorGroup &g, QPixmap *pix ) 1001 void paint ( QPaintEvent *event, const QColorGroup &g, QPixmap *pix )
1002 { 1002 {
1003 QPainter p( this ); 1003 QPainter p( this );
@@ -1031,8 +1031,8 @@ public:
1031 1031
1032 if(bw >= 4 && h >= 4 && pix) 1032 if(bw >= 4 && h >= 4 && pix)
1033 p.drawTiledPixmap(x+2, y+2, bw-4, h-4, *pix); 1033 p.drawTiledPixmap(x+2, y+2, bw-4, h-4, *pix);
1034 1034
1035 if ( progress ( )>= 0 && totalSteps ( ) > 0 ) { 1035 if ( progress ( )>= 0 && totalSteps ( ) > 0 ) {
1036 QString pstr; 1036 QString pstr;
1037 pstr. sprintf ( "%d%%", 100 * progress()/totalSteps ()); 1037 pstr. sprintf ( "%d%%", 100 * progress()/totalSteps ());
1038 p. setPen ( g.text());//g.highlightedText ( )); 1038 p. setPen ( g.text());//g.highlightedText ( ));
@@ -1054,7 +1054,7 @@ public:
1054class HackToolButton : public QToolButton { 1054class HackToolButton : public QToolButton {
1055public: 1055public:
1056 HackToolButton ( ); 1056 HackToolButton ( );
1057 1057
1058 void paint ( QPaintEvent *ev ) 1058 void paint ( QPaintEvent *ev )
1059 { 1059 {
1060 erase ( ev-> region ( )); 1060 erase ( ev-> region ( ));
@@ -1098,7 +1098,7 @@ bool LiquidStyle::eventFilter(QObject *obj, QEvent *ev)
1098 } 1098 }
1099 else if(obj->inherits("QToolButton")){ 1099 else if(obj->inherits("QToolButton")){
1100 QToolButton *btn = (QToolButton *)obj; 1100 QToolButton *btn = (QToolButton *)obj;
1101 if(ev->type() == QEvent::FocusIn ){ // && !btn-> autoRaise () 1101 if(ev->type() == QEvent::FocusIn ){ // && !btn-> autoRaise ()
1102 if(btn->isEnabled()){ 1102 if(btn->isEnabled()){
1103 highlightWidget = btn; 1103 highlightWidget = btn;
1104 btn->repaint(false); 1104 btn->repaint(false);
@@ -1138,7 +1138,7 @@ bool LiquidStyle::eventFilter(QObject *obj, QEvent *ev)
1138 p.drawLine(r.x()+1, r.bottom(), r.right()-1, r.bottom()); 1138 p.drawLine(r.x()+1, r.bottom(), r.right()-1, r.bottom());
1139 } 1139 }
1140*/ 1140*/
1141 int x = 0; 1141 int x = 0;
1142 int y = (btn->height()-lsz.height()+fm.height()-sz.height())/2; 1142 int y = (btn->height()-lsz.height()+fm.height()-sz.height())/2;
1143 if(isRadio) 1143 if(isRadio)
1144 drawExclusiveIndicator(&p, x, y, sz.width(), sz.height(), 1144 drawExclusiveIndicator(&p, x, y, sz.width(), sz.height(),
@@ -1193,7 +1193,7 @@ bool LiquidStyle::eventFilter(QObject *obj, QEvent *ev)
1193 if ( ev->type() == QEvent::Paint ) { 1193 if ( ev->type() == QEvent::Paint ) {
1194 HackProgressBar *p = (HackProgressBar *) obj; 1194 HackProgressBar *p = (HackProgressBar *) obj;
1195 const QColorGroup &g = p-> colorGroup ( ); 1195 const QColorGroup &g = p-> colorGroup ( );
1196 1196
1197 QPixmap *pix = bevelFillDict.find(g.button().dark(120).rgb()); 1197 QPixmap *pix = bevelFillDict.find(g.button().dark(120).rgb());
1198 if(!pix){ 1198 if(!pix){
1199 int h, s, v; 1199 int h, s, v;
@@ -1203,9 +1203,9 @@ bool LiquidStyle::eventFilter(QObject *obj, QEvent *ev)
1203 bevelFillDict.insert(g.button().dark(120).rgb(), pix); 1203 bevelFillDict.insert(g.button().dark(120).rgb(), pix);
1204 } 1204 }
1205 p-> paint ((QPaintEvent *) ev, g, pix ); 1205 p-> paint ((QPaintEvent *) ev, g, pix );
1206 return true; 1206 return true;
1207 } 1207 }
1208 } 1208 }
1209 return false ; 1209 return false ;
1210} 1210}
1211 1211
@@ -1303,7 +1303,11 @@ void LiquidStyle::drawPushButtonLabel(QPushButton *btn, QPainter *p)
1303 ? QIconSet::Normal : QIconSet::Disabled; 1303 ? QIconSet::Normal : QIconSet::Disabled;
1304 if ( mode == QIconSet::Normal && btn->hasFocus() ) 1304 if ( mode == QIconSet::Normal && btn->hasFocus() )
1305 mode = QIconSet::Active; 1305 mode = QIconSet::Active;
1306 QPixmap pixmap = btn->iconSet()->pixmap( QIconSet::Small, mode ); 1306 QPixmap pixmap;
1307 if ( mode == QIconSet::Disabled )
1308 pixmap = btn->iconSet()->pixmap( QIconSet::Automatic, mode );
1309 else
1310 pixmap = btn->iconSet()->pixmap();
1307 int pixw = pixmap.width(); 1311 int pixw = pixmap.width();
1308 int pixh = pixmap.height(); 1312 int pixh = pixmap.height();
1309 1313
@@ -1311,7 +1315,7 @@ void LiquidStyle::drawPushButtonLabel(QPushButton *btn, QPainter *p)
1311 x1 += pixw + 8; 1315 x1 += pixw + 8;
1312 w -= pixw + 8; 1316 w -= pixw + 8;
1313 } 1317 }
1314 1318
1315 if(act){ 1319 if(act){
1316 QFont font = btn->font(); 1320 QFont font = btn->font();
1317 font.setBold(true); 1321 font.setBold(true);
@@ -1405,7 +1409,7 @@ void LiquidStyle::drawComboButton(QPainter *painter, int x, int y, int w, int h,
1405 ( qApp-> focusWidget ( ) == painter-> device ( )) || 1409 ( qApp-> focusWidget ( ) == painter-> device ( )) ||
1406 ( 1410 (
1407 edit && 1411 edit &&
1408 ((QWidget *) painter-> device ( ))-> inherits ( "QComboBox" ) && 1412 ((QWidget *) painter-> device ( ))-> inherits ( "QComboBox" ) &&
1409 ( qApp-> focusWidget ( ) == ((QComboBox *) painter->device())->lineEdit ( ) || 1413 ( qApp-> focusWidget ( ) == ((QComboBox *) painter->device())->lineEdit ( ) ||
1410 qApp-> focusWidget ( ) == ((QComboBox *) painter->device())->listBox ( )) 1414 qApp-> focusWidget ( ) == ((QComboBox *) painter->device())->listBox ( ))
1411 ) 1415 )
@@ -1413,11 +1417,11 @@ void LiquidStyle::drawComboButton(QPainter *painter, int x, int y, int w, int h,
1413 ) { 1417 ) {
1414 isActive = true; 1418 isActive = true;
1415 } 1419 }
1416 1420
1417 bool isMasked = false; 1421 bool isMasked = false;
1418 if(painter->device()->devType() == QInternal::Widget) 1422 if(painter->device()->devType() == QInternal::Widget)
1419 isMasked = ((QWidget*)painter->device())->autoMask(); 1423 isMasked = ((QWidget*)painter->device())->autoMask();
1420 // TODO: Do custom code, don't just call drawRoundButton into a pixmap 1424 // TODO: Do custom code, don't just call drawRoundButton into a pixmap
1421 QPixmap tmpPix(w, h); 1425 QPixmap tmpPix(w, h);
1422 QPainter p(&tmpPix); 1426 QPainter p(&tmpPix);
1423 1427
@@ -1478,7 +1482,7 @@ QRect LiquidStyle::comboButtonRect(int x, int y, int w, int h)
1478QRect LiquidStyle::comboButtonFocusRect(int /*x*/, int /*y*/, int /*w*/, int /*h*/) 1482QRect LiquidStyle::comboButtonFocusRect(int /*x*/, int /*y*/, int /*w*/, int /*h*/)
1479{ 1483{
1480 return QRect ( ); 1484 return QRect ( );
1481 1485
1482// return(QRect(x+5, y+3, w-(h/3)-13, h-5)); 1486// return(QRect(x+5, y+3, w-(h/3)-13, h-5));
1483} 1487}
1484 1488
@@ -1633,14 +1637,14 @@ void LiquidStyle::drawScrollBarControls(QPainter *p, const QScrollBar *sb,
1633 *getPixmap(HSBSliderTop)); 1637 *getPixmap(HSBSliderTop));
1634 painter.drawTiledPixmap(sliderR.x()+8, sliderR.y()+1, sliderR.width()-16, 1638 painter.drawTiledPixmap(sliderR.x()+8, sliderR.y()+1, sliderR.width()-16,
1635 13, *getPixmap(HSBSliderMid)); 1639 13, *getPixmap(HSBSliderMid));
1636 painter.drawPixmap(sliderR.right()-8, sliderR.y()+1, 1640 painter.drawPixmap(sliderR.right()-8, sliderR.y()+1,
1637 *getPixmap(HSBSliderBtm)); 1641 *getPixmap(HSBSliderBtm));
1638 } 1642 }
1639 else if(sliderR.width() >= 8){ 1643 else if(sliderR.width() >= 8){
1640 int m = sliderR.width()/2; 1644 int m = sliderR.width()/2;
1641 painter.drawPixmap(sliderR.x(), sliderR.y()+1, 1645 painter.drawPixmap(sliderR.x(), sliderR.y()+1,
1642 *getPixmap(HSBSliderTop), 0, 0, m, 13); 1646 *getPixmap(HSBSliderTop), 0, 0, m, 13);
1643 painter.drawPixmap(sliderR.right()-8, sliderR.y()+1, 1647 painter.drawPixmap(sliderR.right()-8, sliderR.y()+1,
1644 *getPixmap(HSBSliderBtm), 8-m, 0, m, 13); 1648 *getPixmap(HSBSliderBtm), 8-m, 0, m, 13);
1645 } 1649 }
1646 else{ 1650 else{
@@ -1648,7 +1652,7 @@ void LiquidStyle::drawScrollBarControls(QPainter *p, const QScrollBar *sb,
1648 drawRoundRect(&painter, sliderR.x(), sliderR.y()+1, 1652 drawRoundRect(&painter, sliderR.x(), sliderR.y()+1,
1649 sliderR.width(), 13); 1653 sliderR.width(), 13);
1650 painter.drawTiledPixmap(sliderR.x()+1, sliderR.y()+2, 1654 painter.drawTiledPixmap(sliderR.x()+1, sliderR.y()+2,
1651 sliderR.width()-2, 11, 1655 sliderR.width()-2, 11,
1652 *getPixmap(HSBSliderMid), 0, 1); 1656 *getPixmap(HSBSliderMid), 0, 1);
1653 } 1657 }
1654 } 1658 }
@@ -1976,18 +1980,18 @@ void LiquidStyle::drawArrow(QPainter *p, Qt::ArrowType type, bool on, int x,
1976 1980
1977void LiquidStyle::drawMenuBarItem(QPainter *p, int x, int y, int w, int h, 1981void LiquidStyle::drawMenuBarItem(QPainter *p, int x, int y, int w, int h,
1978 QMenuItem *mi, QColorGroup &g, bool /*enabled*/, bool active ) 1982 QMenuItem *mi, QColorGroup &g, bool /*enabled*/, bool active )
1979 { 1983{
1980 if(active){ 1984 if(active){
1981 x -= 2; // Bug in Qt/E 1985 x -= 2; // Bug in Qt/E
1982 y -= 2; 1986 y -= 2;
1983 w += 2; 1987 w += 2;
1984 h += 2; 1988 h += 2;
1985 } 1989 }
1986 1990
1987 QWidget *parent = (QWidget *)p->device(); 1991 QWidget *parent = (QWidget *)p->device();
1988 p->setBrushOrigin(parent->pos()); 1992 p->setBrushOrigin(parent->pos());
1989 parent->erase(x, y, w, h); 1993 parent->erase(x, y, w, h);
1990 1994
1991 if(menuHandler->useShadowText()){ 1995 if(menuHandler->useShadowText()){
1992 QColor shadow; 1996 QColor shadow;
1993 if(p->device() && p->device()->devType() == QInternal::Widget && 1997 if(p->device() && p->device()->devType() == QInternal::Widget &&
@@ -1999,7 +2003,7 @@ void LiquidStyle::drawMenuBarItem(QPainter *p, int x, int y, int w, int h,
1999 shadow = g.background().dark(130); 2003 shadow = g.background().dark(130);
2000 2004
2001 QPixmap *dummy = 0; 2005 QPixmap *dummy = 0;
2002 2006
2003 if ( mi-> pixmap ( ) && !mi-> pixmap ( )-> isNull ( )) { 2007 if ( mi-> pixmap ( ) && !mi-> pixmap ( )-> isNull ( )) {
2004 dummy = new QPixmap ( mi-> pixmap ( )-> size ( )); 2008 dummy = new QPixmap ( mi-> pixmap ( )-> size ( ));
2005 QBitmap dummy_mask ( dummy-> size ( )); 2009 QBitmap dummy_mask ( dummy-> size ( ));
@@ -2155,7 +2159,11 @@ static const int windowsRightBorder = 12;
2155 QIconSet::Mode mode = dis? QIconSet::Disabled : QIconSet::Normal; 2159 QIconSet::Mode mode = dis? QIconSet::Disabled : QIconSet::Normal;
2156 if (!dis) 2160 if (!dis)
2157 mode = QIconSet::Active; 2161 mode = QIconSet::Active;
2158 QPixmap pixmap = mi->iconSet()->pixmap(QIconSet::Small, mode); 2162 QPixmap pixmap;
2163 if ( mode == QIconSet::Disabled )
2164 pixmap = mi->iconSet()->pixmap( QIconSet::Automatic, mode );
2165 else
2166 pixmap = mi->iconSet()->pixmap();
2159 int pixw = pixmap.width(); 2167 int pixw = pixmap.width();
2160 int pixh = pixmap.height(); 2168 int pixh = pixmap.height();
2161 QRect cr(x, y, checkcol, h); 2169 QRect cr(x, y, checkcol, h);
@@ -2236,8 +2244,7 @@ int LiquidStyle::popupMenuItemHeight(bool /*checkable*/, QMenuItem *mi,
2236 h = mi->pixmap()->height(); 2244 h = mi->pixmap()->height();
2237 2245
2238 if (mi->iconSet()) 2246 if (mi->iconSet())
2239 h = QMAX(mi->iconSet()-> 2247 h = QMAX(mi->iconSet()->pixmap().height(), h);
2240 pixmap(QIconSet::Small, QIconSet::Normal).height(), h);
2241 2248
2242 h = QMAX(fm.height() + 4, h); 2249 h = QMAX(fm.height() + 4, h);
2243 2250
@@ -2430,7 +2437,7 @@ void LiquidStyle::drawPanel(QPainter *p, int x, int y, int w, int h,
2430 p->setPen(g.mid()); 2437 p->setPen(g.mid());
2431 p->drawLine(x, y, x2, y); 2438 p->drawLine(x, y, x2, y);
2432 p->drawLine(x, y, x, y2); 2439 p->drawLine(x, y, x, y2);
2433 2440
2434 p->setPen(g.midlight()); 2441 p->setPen(g.midlight());
2435 p->drawLine(x+1, y2-1, x2-1, y2-1); 2442 p->drawLine(x+1, y2-1, x2-1, y2-1);
2436 p->drawLine(x2-1, y+1, x2-1, y2-1); 2443 p->drawLine(x2-1, y+1, x2-1, y2-1);
@@ -2488,11 +2495,11 @@ void LiquidStyle::intensity(QPixmap &pix, float percent)
2488 image.numColors(); 2495 image.numColors();
2489 unsigned int *data = image.depth() > 8 ? (unsigned int *)image.bits() : 2496 unsigned int *data = image.depth() > 8 ? (unsigned int *)image.bits() :
2490 (unsigned int *)image.colorTable(); 2497 (unsigned int *)image.colorTable();
2491 2498
2492 bool brighten = (percent >= 0); 2499 bool brighten = (percent >= 0);
2493 if(percent < 0) 2500 if(percent < 0)
2494 percent = -percent; 2501 percent = -percent;
2495 2502
2496 if(brighten){ // keep overflow check out of loops 2503 if(brighten){ // keep overflow check out of loops
2497 for(i=0; i < segColors; ++i){ 2504 for(i=0; i < segColors; ++i){
2498 tmp = (int)(i*percent); 2505 tmp = (int)(i*percent);
@@ -2509,7 +2516,7 @@ void LiquidStyle::intensity(QPixmap &pix, float percent)
2509 segTbl[i] = tmp; 2516 segTbl[i] = tmp;
2510 } 2517 }
2511 } 2518 }
2512 2519
2513 if(brighten){ // same here 2520 if(brighten){ // same here
2514 for(i=0; i < pixels; ++i){ 2521 for(i=0; i < pixels; ++i){
2515 r = qRed(data[i]); 2522 r = qRed(data[i]);
diff --git a/noncore/styles/phase/phasestyle.cpp b/noncore/styles/phase/phasestyle.cpp
index 746354e..c2b9de8 100644
--- a/noncore/styles/phase/phasestyle.cpp
+++ b/noncore/styles/phase/phasestyle.cpp
@@ -390,7 +390,10 @@ void PhaseStyle::drawPushButtonLabel (QPushButton *button, QPainter *painter) {
390 } 390 }
391#endif 391#endif
392 392
393 pixmap = button->iconSet()->pixmap(QIconSet::Small, mode); 393 if ( mode == QIconSet::Disabled )
394 pixmap = button->iconSet()->pixmap( QIconSet::Automatic, mode );
395 else
396 pixmap = button->iconSet()->pixmap();
394 if (button->text().isEmpty() && !button->pixmap()) { 397 if (button->text().isEmpty() && !button->pixmap()) {
395 painter->drawPixmap(x+w/2 - pixmap.width()/2, 398 painter->drawPixmap(x+w/2 - pixmap.width()/2,
396 y+h/2 - pixmap.height()/2, pixmap); 399 y+h/2 - pixmap.height()/2, pixmap);
@@ -569,8 +572,7 @@ int PhaseStyle::popupMenuItemHeight ( bool ,
569 + ITEMVMARGIN*2 + ITEMFRAME*2 ); 572 + ITEMVMARGIN*2 + ITEMFRAME*2 );
570 } 573 }
571 if ( mi->iconSet() ) 574 if ( mi->iconSet() )
572 h = QMAX(h, mi->iconSet()-> 575 h = QMAX(h, mi->iconSet()->pixmap().height()
573 pixmap(QIconSet::Small, QIconSet::Normal ).height()
574 + ITEMFRAME*2 ); 576 + ITEMFRAME*2 );
575 } 577 }
576 578
@@ -661,7 +663,11 @@ void PhaseStyle::drawPopupMenuItem ( QPainter * p, bool checkable,
661 mode = enabled ? QIconSet::Active : QIconSet::Disabled; 663 mode = enabled ? QIconSet::Active : QIconSet::Disabled;
662 else 664 else
663 mode = enabled ? QIconSet::Normal : QIconSet::Disabled; 665 mode = enabled ? QIconSet::Normal : QIconSet::Disabled;
664 QPixmap pixmap = mi->iconSet()->pixmap(QIconSet::Small, mode ); 666 QPixmap pixmap;
667 if ( mode == QIconSet::Disabled )
668 pixmap = mi->iconSet()->pixmap( QIconSet::Automatic, mode );
669 else
670 pixmap = mi->iconSet()->pixmap();
665 QRect pmrect(0, 0, pixmap.width(), pixmap.height() ); 671 QRect pmrect(0, 0, pixmap.width(), pixmap.height() );
666 QRect cr(x, y, maxpmw, h ); 672 QRect cr(x, y, maxpmw, h );
667 pmrect.moveCenter( cr.center() ); 673 pmrect.moveCenter( cr.center() );
diff --git a/noncore/styles/theme/othemestyle.cpp b/noncore/styles/theme/othemestyle.cpp
index 98e7253..106d206 100644
--- a/noncore/styles/theme/othemestyle.cpp
+++ b/noncore/styles/theme/othemestyle.cpp
@@ -37,20 +37,20 @@ QDrawMenuBarItemImpl qt_set_draw_menu_bar_impl(QDrawMenuBarItemImpl impl);
37 37
38 38
39/* !! HACK !! Beware 39/* !! HACK !! Beware
40 * 40 *
41 * TT forgot to make the QProgressBar widget styleable in Qt 2.x 41 * TT forgot to make the QProgressBar widget styleable in Qt 2.x
42 * So the only way to customize the drawing, is to intercept the 42 * So the only way to customize the drawing, is to intercept the
43 * paint event - since we have to use protected functions, we need 43 * paint event - since we have to use protected functions, we need
44 * to derive a "hack" class from QProgressBar and do the painting 44 * to derive a "hack" class from QProgressBar and do the painting
45 * in there. 45 * in there.
46 * 46 *
47 * - sandman 47 * - sandman
48 */ 48 */
49 49
50class HackProgressBar : public QProgressBar { 50class HackProgressBar : public QProgressBar {
51public: 51public:
52 HackProgressBar ( ); 52 HackProgressBar ( );
53 53
54 void paint ( QPaintEvent *event, OThemeStyle *style ) 54 void paint ( QPaintEvent *event, OThemeStyle *style )
55 { 55 {
56 QPainter p( this ); 56 QPainter p( this );
@@ -75,9 +75,9 @@ public:
75 total = 1; 75 total = 1;
76 int perc = prog * 100 / total; 76 int perc = prog * 100 / total;
77 77
78 style-> drawProgressBar ( &p, x, y, w, h, colorGroup ( ), perc ); 78 style-> drawProgressBar ( &p, x, y, w, h, colorGroup ( ), perc );
79 79
80 if ( progress ( ) >= 0 && totalSteps ( ) > 0 ) { 80 if ( progress ( ) >= 0 && totalSteps ( ) > 0 ) {
81 QString pstr; 81 QString pstr;
82 pstr. sprintf ( "%d%%", 100 * progress()/totalSteps ()); 82 pstr. sprintf ( "%d%%", 100 * progress()/totalSteps ());
83 p. setPen ( colorGroup().text());//g.highlightedText ( )); 83 p. setPen ( colorGroup().text());//g.highlightedText ( ));
@@ -109,13 +109,13 @@ void OThemeStyle::polish( QApplication * /*app*/ )
109void OThemeStyle::polish( QPalette &p ) 109void OThemeStyle::polish( QPalette &p )
110{ 110{
111 oldPalette = p; 111 oldPalette = p;
112 112
113 QColor bg = oldPalette. color ( QPalette::Normal, QColorGroup::Background ); 113 QColor bg = oldPalette. color ( QPalette::Normal, QColorGroup::Background );
114 114
115 if ( bgcolor. isValid ( )) 115 if ( bgcolor. isValid ( ))
116 bg = bgcolor; 116 bg = bgcolor;
117 117
118 if ( isColor ( Background )) 118 if ( isColor ( Background ))
119 bg = colorGroup ( oldPalette. active ( ), Background )-> background ( ); 119 bg = colorGroup ( oldPalette. active ( ), Background )-> background ( );
120 120
121 p = QPalette ( bg, bg ); 121 p = QPalette ( bg, bg );
@@ -124,18 +124,18 @@ void OThemeStyle::polish( QPalette &p )
124 p. setBrush ( QColorGroup::Background, QBrush ( bg, *uncached ( Background ))); 124 p. setBrush ( QColorGroup::Background, QBrush ( bg, *uncached ( Background )));
125 125
126 if ( fgcolor. isValid ( )) { 126 if ( fgcolor. isValid ( )) {
127 p. setColor ( QColorGroup::Foreground, fgcolor ); 127 p. setColor ( QColorGroup::Foreground, fgcolor );
128 p. setColor ( QColorGroup::ButtonText, fgcolor ); 128 p. setColor ( QColorGroup::ButtonText, fgcolor );
129 } 129 }
130 if ( selfgcolor. isValid ( )) 130 if ( selfgcolor. isValid ( ))
131 p. setColor ( QColorGroup::HighlightedText, selfgcolor ); 131 p. setColor ( QColorGroup::HighlightedText, selfgcolor );
132 if ( selbgcolor. isValid ( )) 132 if ( selbgcolor. isValid ( ))
133 p. setColor ( QColorGroup::Highlight, selbgcolor ); 133 p. setColor ( QColorGroup::Highlight, selbgcolor );
134 if ( winfgcolor. isValid ( )) 134 if ( winfgcolor. isValid ( ))
135 p. setColor ( QColorGroup::Text, winfgcolor ); 135 p. setColor ( QColorGroup::Text, winfgcolor );
136 if ( winbgcolor. isValid ( )) 136 if ( winbgcolor. isValid ( ))
137 p. setColor ( QColorGroup::Base, winbgcolor ); 137 p. setColor ( QColorGroup::Base, winbgcolor );
138 138
139} 139}
140 140
141 141
@@ -1183,7 +1183,7 @@ void OThemeStyle::drawPushButtonLabel( QPushButton *btn, QPainter *p )
1183 ? QIconSet::Normal : QIconSet::Disabled; 1183 ? QIconSet::Normal : QIconSet::Disabled;
1184 if ( mode == QIconSet::Normal && btn->hasFocus() ) 1184 if ( mode == QIconSet::Normal && btn->hasFocus() )
1185 mode = QIconSet::Active; 1185 mode = QIconSet::Active;
1186 QPixmap pixmap = btn->iconSet() ->pixmap( QIconSet::Small, mode ); 1186 QPixmap pixmap = btn->iconSet() ->pixmap( QIconSet::Automatic, mode );
1187 int pixw = pixmap.width(); 1187 int pixw = pixmap.width();
1188 int pixh = pixmap.height(); 1188 int pixh = pixmap.height();
1189 1189
@@ -1246,8 +1246,7 @@ int OThemeStyle::popupMenuItemHeight( bool /*checkable*/, QMenuItem *mi,
1246 h = h2 > h ? h2 : h; 1246 h = h2 > h ? h2 : h;
1247 } 1247 }
1248 if ( mi->iconSet() ) { 1248 if ( mi->iconSet() ) {
1249 h2 = mi->iconSet() -> 1249 h2 = mi->iconSet() ->pixmap().height() + offset;
1250 pixmap( QIconSet::Small, QIconSet::Normal ).height() + offset;
1251 h = h2 > h ? h2 : h; 1250 h = h2 > h ? h2 : h;
1252 } 1251 }
1253 h2 = fm.height() + offset; 1252 h2 = fm.height() + offset;
@@ -1325,7 +1324,11 @@ void OThemeStyle::drawPopupMenuItem( QPainter* p, bool checkable, int maxpmw,
1325 QIconSet::Mode mode = dis ? QIconSet::Disabled : QIconSet::Normal; 1324 QIconSet::Mode mode = dis ? QIconSet::Disabled : QIconSet::Normal;
1326 if ( act && !dis ) 1325 if ( act && !dis )
1327 mode = QIconSet::Active; 1326 mode = QIconSet::Active;
1328 QPixmap pixmap = mi->iconSet() ->pixmap( QIconSet::Small, mode ); 1327 QPixmap pixmap;
1328 if ( mode == QIconSet::Disabled )
1329 pixmap = mi->iconSet()->pixmap( QIconSet::Automatic, mode );
1330 else
1331 pixmap = mi->iconSet()->pixmap();
1329 int pixw = pixmap.width(); 1332 int pixw = pixmap.width();
1330 int pixh = pixmap.height(); 1333 int pixh = pixmap.height();
1331 QRect cr( x, y, checkcol, h ); 1334 QRect cr( x, y, checkcol, h );
@@ -1434,11 +1437,11 @@ void OThemeStyle::drawKMenuBar( QPainter *p, int x, int y, int w, int h,
1434#endif 1437#endif
1435 1438
1436void OThemeStyle::drawMenuBarItem( QPainter *p, int x, int y, int w, int h, 1439void OThemeStyle::drawMenuBarItem( QPainter *p, int x, int y, int w, int h,
1437 QMenuItem *mi, const QColorGroup &g, 1440 QMenuItem *mi, const QColorGroup &g,
1438 bool /*enabled*/, bool active ) 1441 bool /*enabled*/, bool active )
1439{ 1442{
1440 if(active){ 1443 if(active){
1441 x -= 2; // Bug in Qt/E 1444 x -= 2; // Bug in Qt/E
1442 y -= 2; 1445 y -= 2;
1443 w += 2; 1446 w += 2;
1444 h += 2; 1447 h += 2;
@@ -1464,11 +1467,11 @@ void OThemeStyle::drawProgressBar ( QPainter *p, int x, int y, int w, int h, con
1464 bg.setColor( cg->color( QColorGroup::Background ) ); 1467 bg.setColor( cg->color( QColorGroup::Background ) );
1465 if ( isPixmap( ProgressBg ) ) 1468 if ( isPixmap( ProgressBg ) )
1466 bg.setPixmap( *uncached( ProgressBg ) ); 1469 bg.setPixmap( *uncached( ProgressBg ) );
1467 1470
1468 int pw = w * percent / 100; 1471 int pw = w * percent / 100;
1469 1472
1470 p-> fillRect ( x + pw, y, w - pw, h, bg ); // ### TODO 1473 p-> fillRect ( x + pw, y, w - pw, h, bg ); // ### TODO
1471 1474
1472 drawBaseButton( p, x, y, pw, h, *cg, false, false, ProgressBar ); 1475 drawBaseButton( p, x, y, pw, h, *cg, false, false, ProgressBar );
1473} 1476}
1474 1477
diff --git a/noncore/styles/web/webstyle.cpp b/noncore/styles/web/webstyle.cpp
index cd3cf08..7b58d89 100644
--- a/noncore/styles/web/webstyle.cpp
+++ b/noncore/styles/web/webstyle.cpp
@@ -43,6 +43,15 @@ static int _savedFrameLineWidth;
43static int _savedFrameMidLineWidth; 43static int _savedFrameMidLineWidth;
44static ulong _savedFrameStyle; 44static ulong _savedFrameStyle;
45 45
46static const int ITEMFRAME = 1; // menu stuff
47static const int ITEMHMARGIN = 3;
48static const int ITEMVMARGIN = 0;
49
50static const int ARROWMARGIN = 6;
51static const int RIGHTBORDER = 10;
52static const int MINICONSIZE = 12;
53
54
46static QColor contrastingForeground(const QColor & fg, const QColor & bg) 55static QColor contrastingForeground(const QColor & fg, const QColor & bg)
47{ 56{
48 int h, s, vbg, vfg; 57 int h, s, vbg, vfg;
@@ -969,7 +978,7 @@ WebStyle::drawPopupMenuItem
969 QPainter * p, 978 QPainter * p,
970 bool checkable, 979 bool checkable,
971 int maxpmw, 980 int maxpmw,
972 int tab, 981 int tabwidth,
973 QMenuItem * mi, 982 QMenuItem * mi,
974 const QPalette & pal, 983 const QPalette & pal,
975 bool act, 984 bool act,
@@ -981,7 +990,118 @@ WebStyle::drawPopupMenuItem
981) 990)
982{ 991{
983 // TODO 992 // TODO
984 QWindowsStyle::drawPopupMenuItem(p, checkable, maxpmw, tab, mi, pal, act, enabled, x, y, w, h); 993 //QWindowsStyle::drawPopupMenuItem(p, checkable, maxpmw, tab, mi, pal, act, enabled, x, y, w, h);
994 if ( !mi )
995 return;
996
997 QRect rect(x, y, w, h );
998 int x2, y2;
999 x2 = rect.right();
1000 y2 = rect.bottom();
1001 const QColorGroup& g = pal.active();
1002 QColorGroup itemg = !enabled ? pal.disabled() : pal.active();
1003
1004 if ( checkable || maxpmw ) maxpmw = QMAX(maxpmw, 20);
1005
1006 if (act && enabled )
1007 p->fillRect(x, y, w, h, g.highlight() );
1008 else
1009 p->fillRect(x, y, w, h, g.background() );
1010
1011 // draw seperator
1012 if (mi->isSeparator() ) {
1013 p->setPen( g.dark() );
1014 p->drawLine( x+8, y+1, x+w-8, y+1 );
1015
1016 p->setPen( g.mid() );
1017 p->drawLine( x+8, y, x+w-8, y );
1018 p->drawPoint(x+w,y+1);
1019
1020 p->setPen( g.midlight() );
1021 p->drawLine( x+8, y-1, x+w-8, y-1 );
1022 p->drawPoint(x+8, y );
1023 return;
1024 }
1025
1026 // draw icon
1027 QIconSet::Mode mode;
1028 if ( mi->iconSet() && !mi->isChecked() ) {
1029 if ( act )
1030 mode = enabled ? QIconSet::Active : QIconSet::Disabled;
1031 else
1032 mode = enabled ? QIconSet::Normal : QIconSet::Disabled;
1033 QPixmap pixmap;
1034 if ( mode == QIconSet::Disabled )
1035 pixmap = mi->iconSet()->pixmap( QIconSet::Automatic, mode );
1036 else
1037 pixmap = mi->iconSet()->pixmap();
1038 QRect pmrect(0, 0, pixmap.width(), pixmap.height() );
1039 QRect cr(x, y, maxpmw, h );
1040 pmrect.moveCenter( cr.center() );
1041 p->drawPixmap(pmrect.topLeft(), pixmap);
1042 }
1043
1044 // draw check
1045 if(mi->isChecked() ) {
1046 drawCheckMark(p, x, y, maxpmw, h, itemg, act, !enabled );
1047 }
1048
1049
1050 // draw text
1051 int xm = maxpmw + 2;
1052 int xp = x + xm;
1053 int tw = w -xm - 2;
1054
1055 p->setPen( enabled ? ( act ? g.highlightedText() : g.buttonText() ) :
1056 g.mid() );
1057
1058
1059 if ( mi->custom() ) {
1060 p->save();
1061 mi->custom()->paint(p, g, act, enabled,
1062 xp, y+1, tw, h-2 );
1063 p->restore();
1064 }else { // draw label
1065 QString text = mi->text();
1066 if (!text.isNull() ) {
1067 int t = text.find('\t');
1068 const int tflags = AlignVCenter | DontClip |
1069 ShowPrefix | SingleLine |
1070 AlignLeft;
1071
1072 if (t >= 0) {
1073 int tabx = x + w - tabwidth - RIGHTBORDER -
1074 ITEMHMARGIN - ITEMFRAME;
1075 p->drawText(tabx, y+ITEMVMARGIN, tabwidth,
1076 h-2*ITEMVMARGIN, tflags,
1077 text.mid(t+1) );
1078 text = text.left(t );
1079 }
1080
1081 // draw left label
1082 p->drawText(xp, y+ITEMVMARGIN,
1083 tw, h-2*ITEMVMARGIN,
1084 tflags, text, t);
1085 }else if ( mi->pixmap() ) { // pixmap as label
1086 QPixmap pixmap = *mi->pixmap();
1087 if ( pixmap.depth() == 1 )
1088 p->setBackgroundMode( OpaqueMode );
1089
1090 int dx = ((w-pixmap.width() ) /2 ) +
1091 ((w - pixmap.width()) %2 );
1092 p->drawPixmap(x+dx, y+ITEMFRAME, pixmap );
1093
1094 if ( pixmap.depth() == 1 )
1095 p->setBackgroundMode( TransparentMode );
1096 }
1097 }
1098
1099 if ( mi->popup() ) { // draw submenu arrow
1100 int dim = (h-2*ITEMFRAME) / 2;
1101 drawArrow( p, RightArrow, false,
1102 x+w-ARROWMARGIN-ITEMFRAME-dim,
1103 y+h/2-dim/2, dim, dim, g, enabled );
1104 }
985} 1105}
986 1106
987 void 1107 void
@@ -1168,7 +1288,7 @@ WebStyle::popupMenuItemHeight(bool, QMenuItem * i, const QFontMetrics & fm)
1168 { 1288 {
1169 h = QMAX 1289 h = QMAX
1170 ( 1290 (
1171 i->iconSet()->pixmap(QIconSet::Small, QIconSet::Normal).height(), 1291 i->iconSet()->pixmap().height(),
1172 h 1292 h
1173 ); 1293 );
1174 } 1294 }
diff --git a/noncore/styles/web/webstyle.h b/noncore/styles/web/webstyle.h
index 83ab784..d6f153b 100644
--- a/noncore/styles/web/webstyle.h
+++ b/noncore/styles/web/webstyle.h
@@ -215,7 +215,7 @@ class WebStyle : public QWindowsStyle {
215 QPainter *, 215 QPainter *,
216 bool checkable, 216 bool checkable,
217 int maxpmw, 217 int maxpmw,
218 int tab, 218 int tabwidth,
219 QMenuItem *, 219 QMenuItem *,
220 const QPalette &, 220 const QPalette &,
221 bool act, 221 bool act,