-rw-r--r-- | library/lightstyle.cpp | 8 | ||||
-rw-r--r-- | library/qpestyle.cpp | 8 |
2 files changed, 12 insertions, 4 deletions
diff --git a/library/lightstyle.cpp b/library/lightstyle.cpp index 3bd1623..c5073ca 100644 --- a/library/lightstyle.cpp +++ b/library/lightstyle.cpp | |||
@@ -1119,25 +1119,25 @@ int LightStyle::extraPopupMenuItemWidth( bool checkable, int maxpmw, QMenuItem* | |||
1119 | int LightStyle::popupMenuItemHeight( bool /*checkable*/, QMenuItem* mi, const QFontMetrics& fm ) | 1119 | int LightStyle::popupMenuItemHeight( bool /*checkable*/, QMenuItem* mi, const QFontMetrics& fm ) |
1120 | { | 1120 | { |
1121 | #ifndef QT_NO_MENUDATA | 1121 | #ifndef QT_NO_MENUDATA |
1122 | int h = 0; | 1122 | int h = 0; |
1123 | if ( mi->isSeparator() ) // separator height | 1123 | if ( mi->isSeparator() ) // separator height |
1124 | h = motifSepHeight; | 1124 | h = motifSepHeight; |
1125 | else if ( mi->pixmap() ) // pixmap height | 1125 | else if ( mi->pixmap() ) // pixmap height |
1126 | h = mi->pixmap()->height() + 2*motifItemFrame; | 1126 | h = mi->pixmap()->height() + 2*motifItemFrame; |
1127 | else // text height | 1127 | else // text height |
1128 | h = fm.height() + 2*motifItemVMargin + 2*motifItemFrame; | 1128 | h = fm.height() + 2*motifItemVMargin + 2*motifItemFrame; |
1129 | 1129 | ||
1130 | if ( !mi->isSeparator() && mi->iconSet() != 0 ) { | 1130 | if ( !mi->isSeparator() && mi->iconSet() != 0 ) { |
1131 | h = QMAX( h, mi->iconSet()->pixmap( QIconSet::Small, QIconSet::Normal ).height() + 2*motifItemFrame ); | 1131 | h = QMAX( h, mi->iconSet()->pixmap().height() + 2*motifItemFrame ); |
1132 | } | 1132 | } |
1133 | if ( mi->custom() ) | 1133 | if ( mi->custom() ) |
1134 | h = QMAX( h, mi->custom()->sizeHint().height() + 2*motifItemVMargin + 2*motifItemFrame ) - 1; | 1134 | h = QMAX( h, mi->custom()->sizeHint().height() + 2*motifItemVMargin + 2*motifItemFrame ) - 1; |
1135 | return h; | 1135 | return h; |
1136 | #endif | 1136 | #endif |
1137 | } | 1137 | } |
1138 | 1138 | ||
1139 | void LightStyle::drawPopupMenuItem( QPainter* p, bool checkable, int maxpmw, int tab, QMenuItem* mi, | 1139 | void LightStyle::drawPopupMenuItem( QPainter* p, bool checkable, int maxpmw, int tab, QMenuItem* mi, |
1140 | const QPalette& pal, | 1140 | const QPalette& pal, |
1141 | bool act, bool enabled, int x, int y, int w, int h) | 1141 | bool act, bool enabled, int x, int y, int w, int h) |
1142 | { | 1142 | { |
1143 | #ifndef QT_NO_MENUDATA | 1143 | #ifndef QT_NO_MENUDATA |
@@ -1173,25 +1173,29 @@ void LightStyle::drawPopupMenuItem( QPainter* p, bool checkable, int maxpmw, int | |||
1173 | qDrawShadePanel( p, x, y, checkcol, h, | 1173 | qDrawShadePanel( p, x, y, checkcol, h, |
1174 | g, TRUE, 1, &g.brush( QColorGroup::Midlight ) ); | 1174 | g, TRUE, 1, &g.brush( QColorGroup::Midlight ) ); |
1175 | } | 1175 | } |
1176 | } else if ( !act ) { | 1176 | } else if ( !act ) { |
1177 | p->fillRect(x, y, checkcol , h, | 1177 | p->fillRect(x, y, checkcol , h, |
1178 | g.brush( QColorGroup::Button )); | 1178 | g.brush( QColorGroup::Button )); |
1179 | } | 1179 | } |
1180 | 1180 | ||
1181 | if ( mi->iconSet() ) { // draw iconset | 1181 | if ( mi->iconSet() ) { // draw iconset |
1182 | QIconSet::Mode mode = dis ? QIconSet::Disabled : QIconSet::Normal; | 1182 | QIconSet::Mode mode = dis ? QIconSet::Disabled : QIconSet::Normal; |
1183 | if (act && !dis ) | 1183 | if (act && !dis ) |
1184 | mode = QIconSet::Active; | 1184 | mode = QIconSet::Active; |
1185 | QPixmap pixmap = mi->iconSet()->pixmap( QIconSet::Small, mode ); | 1185 | QPixmap pixmap; |
1186 | if ( mode == QIconSet::Disabled ) | ||
1187 | pixmap = mi->iconSet()->pixmap( QIconSet::Automatic, mode ); | ||
1188 | else | ||
1189 | pixmap = mi->iconSet()->pixmap(); | ||
1186 | int pixw = pixmap.width(); | 1190 | int pixw = pixmap.width(); |
1187 | int pixh = pixmap.height(); | 1191 | int pixh = pixmap.height(); |
1188 | if ( act && !dis ) { | 1192 | if ( act && !dis ) { |
1189 | if ( !mi->isChecked() ) | 1193 | if ( !mi->isChecked() ) |
1190 | qDrawShadePanel( p, x, y, checkcol, h, g, FALSE, 1, &g.brush( QColorGroup::Button ) ); | 1194 | qDrawShadePanel( p, x, y, checkcol, h, g, FALSE, 1, &g.brush( QColorGroup::Button ) ); |
1191 | } | 1195 | } |
1192 | QRect cr( x, y, checkcol, h ); | 1196 | QRect cr( x, y, checkcol, h ); |
1193 | QRect pmr( 0, 0, pixw, pixh ); | 1197 | QRect pmr( 0, 0, pixw, pixh ); |
1194 | pmr.moveCenter( cr.center() ); | 1198 | pmr.moveCenter( cr.center() ); |
1195 | p->setPen( itemg.text() ); | 1199 | p->setPen( itemg.text() ); |
1196 | p->drawPixmap( pmr.topLeft(), pixmap ); | 1200 | p->drawPixmap( pmr.topLeft(), pixmap ); |
1197 | 1201 | ||
diff --git a/library/qpestyle.cpp b/library/qpestyle.cpp index 0566f6b..9503e02 100644 --- a/library/qpestyle.cpp +++ b/library/qpestyle.cpp | |||
@@ -1026,25 +1026,25 @@ int QPEStyle::extraPopupMenuItemWidth( bool checkable, int maxpmw, QMenuItem* mi | |||
1026 | int QPEStyle::popupMenuItemHeight( bool /*checkable*/, QMenuItem* mi, const QFontMetrics& fm ) | 1026 | int QPEStyle::popupMenuItemHeight( bool /*checkable*/, QMenuItem* mi, const QFontMetrics& fm ) |
1027 | { | 1027 | { |
1028 | #ifndef QT_NO_MENUDATA | 1028 | #ifndef QT_NO_MENUDATA |
1029 | int h = 0; | 1029 | int h = 0; |
1030 | if ( mi->isSeparator() ) // separator height | 1030 | if ( mi->isSeparator() ) // separator height |
1031 | h = motifSepHeight; | 1031 | h = motifSepHeight; |
1032 | else if ( mi->pixmap() ) // pixmap height | 1032 | else if ( mi->pixmap() ) // pixmap height |
1033 | h = mi->pixmap()->height() + 2*motifItemFrame; | 1033 | h = mi->pixmap()->height() + 2*motifItemFrame; |
1034 | else // text height | 1034 | else // text height |
1035 | h = fm.height() + 2*motifItemVMargin + 2*motifItemFrame - 1; | 1035 | h = fm.height() + 2*motifItemVMargin + 2*motifItemFrame - 1; |
1036 | 1036 | ||
1037 | if ( !mi->isSeparator() && mi->iconSet() != 0 ) { | 1037 | if ( !mi->isSeparator() && mi->iconSet() != 0 ) { |
1038 | h = QMAX( h, mi->iconSet()->pixmap( QIconSet::Small, QIconSet::Normal ).height() + 2*motifItemFrame ); | 1038 | h = QMAX( h, mi->iconSet()->pixmap().height() + 2*motifItemFrame ); |
1039 | } | 1039 | } |
1040 | if ( mi->custom() ) | 1040 | if ( mi->custom() ) |
1041 | h = QMAX( h, mi->custom()->sizeHint().height() + 2*motifItemVMargin + 2*motifItemFrame ) - 1; | 1041 | h = QMAX( h, mi->custom()->sizeHint().height() + 2*motifItemVMargin + 2*motifItemFrame ) - 1; |
1042 | return h; | 1042 | return h; |
1043 | #endif | 1043 | #endif |
1044 | } | 1044 | } |
1045 | 1045 | ||
1046 | void QPEStyle::drawPopupMenuItem( QPainter* p, bool checkable, int maxpmw, int tab, QMenuItem* mi, | 1046 | void QPEStyle::drawPopupMenuItem( QPainter* p, bool checkable, int maxpmw, int tab, QMenuItem* mi, |
1047 | const QPalette& pal, | 1047 | const QPalette& pal, |
1048 | bool act, bool enabled, int x, int y, int w, int h) | 1048 | bool act, bool enabled, int x, int y, int w, int h) |
1049 | { | 1049 | { |
1050 | #ifndef QT_NO_MENUDATA | 1050 | #ifndef QT_NO_MENUDATA |
@@ -1080,25 +1080,29 @@ void QPEStyle::drawPopupMenuItem( QPainter* p, bool checkable, int maxpmw, int t | |||
1080 | qDrawShadePanel( p, x, y, checkcol, h, | 1080 | qDrawShadePanel( p, x, y, checkcol, h, |
1081 | g, TRUE, 1, &g.brush( QColorGroup::Midlight ) ); | 1081 | g, TRUE, 1, &g.brush( QColorGroup::Midlight ) ); |
1082 | } | 1082 | } |
1083 | } else if ( !act ) { | 1083 | } else if ( !act ) { |
1084 | p->fillRect(x, y, checkcol , h, | 1084 | p->fillRect(x, y, checkcol , h, |
1085 | g.brush( QColorGroup::Button )); | 1085 | g.brush( QColorGroup::Button )); |
1086 | } | 1086 | } |
1087 | 1087 | ||
1088 | if ( mi->iconSet() ) { // draw iconset | 1088 | if ( mi->iconSet() ) { // draw iconset |
1089 | QIconSet::Mode mode = dis ? QIconSet::Disabled : QIconSet::Normal; | 1089 | QIconSet::Mode mode = dis ? QIconSet::Disabled : QIconSet::Normal; |
1090 | if (act && !dis ) | 1090 | if (act && !dis ) |
1091 | mode = QIconSet::Active; | 1091 | mode = QIconSet::Active; |
1092 | QPixmap pixmap = mi->iconSet()->pixmap( QIconSet::Small, mode ); | 1092 | QPixmap pixmap; |
1093 | if ( mode == QIconSet::Disabled ) | ||
1094 | pixmap = mi->iconSet()->pixmap( QIconSet::Automatic, mode ); | ||
1095 | else | ||
1096 | pixmap = mi->iconSet()->pixmap(); | ||
1093 | int pixw = pixmap.width(); | 1097 | int pixw = pixmap.width(); |
1094 | int pixh = pixmap.height(); | 1098 | int pixh = pixmap.height(); |
1095 | if ( act && !dis ) { | 1099 | if ( act && !dis ) { |
1096 | if ( !mi->isChecked() ) | 1100 | if ( !mi->isChecked() ) |
1097 | qDrawShadePanel( p, x, y, checkcol, h, g, FALSE, 1, &g.brush( QColorGroup::Button ) ); | 1101 | qDrawShadePanel( p, x, y, checkcol, h, g, FALSE, 1, &g.brush( QColorGroup::Button ) ); |
1098 | } | 1102 | } |
1099 | QRect cr( x, y, checkcol, h ); | 1103 | QRect cr( x, y, checkcol, h ); |
1100 | QRect pmr( 0, 0, pixw, pixh ); | 1104 | QRect pmr( 0, 0, pixw, pixh ); |
1101 | pmr.moveCenter( cr.center() ); | 1105 | pmr.moveCenter( cr.center() ); |
1102 | p->setPen( itemg.text() ); | 1106 | p->setPen( itemg.text() ); |
1103 | p->drawPixmap( pmr.topLeft(), pixmap ); | 1107 | p->drawPixmap( pmr.topLeft(), pixmap ); |
1104 | 1108 | ||