summaryrefslogtreecommitdiff
authoralwin <alwin>2005-03-07 09:42:21 (UTC)
committer alwin <alwin>2005-03-07 09:42:21 (UTC)
commitd6fc7417f752867c14a0b6555c32f2d768736fe8 (patch) (unidiff)
tree29b1780ed157b799cbcf8133f846b74da248e8e5
parentf312f32d624c6198c63890e141e8658bc492cf37 (diff)
downloadopie-d6fc7417f752867c14a0b6555c32f2d768736fe8.zip
opie-d6fc7417f752867c14a0b6555c32f2d768736fe8.tar.gz
opie-d6fc7417f752867c14a0b6555c32f2d768736fe8.tar.bz2
applied patch from Paul Eggleton
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/styles/phase/phasestyle.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/noncore/styles/phase/phasestyle.cpp b/noncore/styles/phase/phasestyle.cpp
index 906ccee..746354e 100644
--- a/noncore/styles/phase/phasestyle.cpp
+++ b/noncore/styles/phase/phasestyle.cpp
@@ -1,691 +1,691 @@
1////////////////////////////////////////////////////////////////////////////// 1//////////////////////////////////////////////////////////////////////////////
2// phasestyle.h 2// phasestyle.h
3// ------------------- 3// -------------------
4// A style for KDE 4// A style for KDE
5// ------------------- 5// -------------------
6// Copyright (c) 2004 David Johnson <david@usermode.org> 6// Copyright (c) 2004 David Johnson <david@usermode.org>
7// 7//
8// Permission is hereby granted, free of charge, to any person obtaining a copy 8// Permission is hereby granted, free of charge, to any person obtaining a copy
9// of this software and associated documentation files (the "Software"), to 9// of this software and associated documentation files (the "Software"), to
10// deal in the Software without restriction, including without limitation the 10// deal in the Software without restriction, including without limitation the
11// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 11// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
12// sell copies of the Software, and to permit persons to whom the Software is 12// sell copies of the Software, and to permit persons to whom the Software is
13// furnished to do so, subject to the following conditions: 13// furnished to do so, subject to the following conditions:
14// 14//
15// The above copyright notice and this permission notice shall be included in 15// The above copyright notice and this permission notice shall be included in
16// all copies or substantial portions of the Software. 16// all copies or substantial portions of the Software.
17// 17//
18// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 22// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 23// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
24// IN THE SOFTWARE. 24// IN THE SOFTWARE.
25////////////////////////////////////////////////////////////////////////////// 25//////////////////////////////////////////////////////////////////////////////
26 26
27#include "phasestyle.h" 27#include "phasestyle.h"
28 28
29#include "bitmaps.h" 29#include "bitmaps.h"
30 30
31#define INCLUDE_MENUITEM_DEF 31#define INCLUDE_MENUITEM_DEF
32#include <qpopupmenu.h> 32#include <qpopupmenu.h>
33#include <qpushbutton.h> 33#include <qpushbutton.h>
34#include <qtoolbutton.h> 34#include <qtoolbutton.h>
35#include <qpainter.h> 35#include <qpainter.h>
36#include <qbrush.h> 36#include <qbrush.h>
37#include <qiconset.h> 37#include <qiconset.h>
38#include <qtabbar.h> 38#include <qtabbar.h>
39#include <qscrollbar.h> 39#include <qscrollbar.h>
40 40
41 41
42/* Spacing and sizeHint */ 42/* Spacing and sizeHint */
43static unsigned contrast = 110; 43static unsigned contrast = 110;
44 44
45static const int ITEMFRAME = 1; // menu stuff 45static const int ITEMFRAME = 1; // menu stuff
46static const int ITEMHMARGIN = 3; 46static const int ITEMHMARGIN = 3;
47static const int ITEMVMARGIN = 0; 47static const int ITEMVMARGIN = 0;
48 48
49static const int ARROWMARGIN = 6; 49static const int ARROWMARGIN = 6;
50static const int RIGHTBORDER = 10; 50static const int RIGHTBORDER = 10;
51static const int MINICONSIZE = 12; 51static const int MINICONSIZE = 12;
52static const int CHECKSIZE = 9; 52static const int CHECKSIZE = 9;
53static const int SCROLLBAR_EXTENT = 12; 53static const int SCROLLBAR_EXTENT = 12;
54 54
55 55
56/* 56/*
57 * Copyright (C) 1999 Daniel M. Duley <mosfet@kde.org> 57 * Copyright (C) 1999 Daniel M. Duley <mosfet@kde.org>
58 * LGPLv2 from kdelibs/kdefx/kdrawutil.cpp 58 * LGPLv2 from kdelibs/kdefx/kdrawutil.cpp
59 */ 59 */
60void kColorBitmaps(QPainter *p, const QColorGroup &g, int x, int y, 60void kColorBitmaps(QPainter *p, const QColorGroup &g, int x, int y,
61 QBitmap *lightColor, QBitmap *midColor, 61 QBitmap *lightColor, QBitmap *midColor,
62 QBitmap *midlightColor, QBitmap *darkColor, 62 QBitmap *midlightColor, QBitmap *darkColor,
63 QBitmap *blackColor, QBitmap *whiteColor) 63 QBitmap *blackColor, QBitmap *whiteColor)
64{ 64{
65 QBitmap *bitmaps[]={lightColor, midColor, midlightColor, darkColor, 65 QBitmap *bitmaps[]={lightColor, midColor, midlightColor, darkColor,
66 blackColor, whiteColor}; 66 blackColor, whiteColor};
67 67
68 QColor colors[]={g.light(), g.mid(), g.midlight(), g.dark(), 68 QColor colors[]={g.light(), g.mid(), g.midlight(), g.dark(),
69 Qt::black, Qt::white}; 69 Qt::black, Qt::white};
70 70
71 int i; 71 int i;
72 for(i=0; i < 6; ++i){ 72 for(i=0; i < 6; ++i){
73 if(bitmaps[i]){ 73 if(bitmaps[i]){
74 if(!bitmaps[i]->mask()) 74 if(!bitmaps[i]->mask())
75 bitmaps[i]->setMask(*bitmaps[i]); 75 bitmaps[i]->setMask(*bitmaps[i]);
76 p->setPen(colors[i]); 76 p->setPen(colors[i]);
77 p->drawPixmap(x, y, *bitmaps[i]); 77 p->drawPixmap(x, y, *bitmaps[i]);
78 } 78 }
79 } 79 }
80} 80}
81 81
82 82
83/* 83/*
84 * drawMenuBarItem is not virtual 84 * drawMenuBarItem is not virtual
85 * this way we define our draw handler 85 * this way we define our draw handler
86 */ 86 */
87typedef void (QStyle::*QDrawMenuBarItemImpl) (QPainter *, int, int, int, int, QMenuItem *, 87typedef void (QStyle::*QDrawMenuBarItemImpl) (QPainter *, int, int, int, int, QMenuItem *,
88 QColorGroup &, bool, bool); 88 QColorGroup &, bool, bool);
89 89
90extern QDrawMenuBarItemImpl qt_set_draw_menu_bar_impl(QDrawMenuBarItemImpl impl); 90extern QDrawMenuBarItemImpl qt_set_draw_menu_bar_impl(QDrawMenuBarItemImpl impl);
91 91
92 92
93PhaseStyle::PhaseStyle() 93PhaseStyle::PhaseStyle()
94 : QWindowsStyle() 94 : QWindowsStyle()
95{ 95{
96 setName( "PhaseStyle" ); 96 setName( "PhaseStyle" );
97 97
98 /* small default sizes */ 98 /* small default sizes */
99 setButtonDefaultIndicatorWidth(1); 99 setButtonDefaultIndicatorWidth(1);
100 setScrollBarExtent(SCROLLBAR_EXTENT, SCROLLBAR_EXTENT); 100 setScrollBarExtent(SCROLLBAR_EXTENT, SCROLLBAR_EXTENT);
101 setSliderThickness(12); 101 setSliderThickness(12);
102 setButtonMargin( 1 ); 102 setButtonMargin( 1 );
103 103
104 // create bitmaps 104 // create bitmaps
105 uarrow = QBitmap(6, 6, uarrow_bits, true); 105 uarrow = QBitmap(6, 6, uarrow_bits, true);
106 uarrow.setMask(uarrow); 106 uarrow.setMask(uarrow);
107 darrow = QBitmap(6, 6, darrow_bits, true); 107 darrow = QBitmap(6, 6, darrow_bits, true);
108 darrow.setMask(darrow); 108 darrow.setMask(darrow);
109 larrow = QBitmap(6, 6, larrow_bits, true); 109 larrow = QBitmap(6, 6, larrow_bits, true);
110 larrow.setMask(larrow); 110 larrow.setMask(larrow);
111 rarrow = QBitmap(6, 6, rarrow_bits, true); 111 rarrow = QBitmap(6, 6, rarrow_bits, true);
112 rarrow.setMask(rarrow); 112 rarrow.setMask(rarrow);
113 bplus = QBitmap(6, 6, bplus_bits, true); 113 bplus = QBitmap(6, 6, bplus_bits, true);
114 bplus.setMask(bplus); 114 bplus.setMask(bplus);
115 bminus = QBitmap(6, 6, bminus_bits, true); 115 bminus = QBitmap(6, 6, bminus_bits, true);
116 bminus.setMask(bminus); 116 bminus.setMask(bminus);
117 bcheck = QBitmap(9, 9, bcheck_bits, true); 117 bcheck = QBitmap(9, 9, bcheck_bits, true);
118 bcheck.setMask(bcheck); 118 bcheck.setMask(bcheck);
119 dexpand = QBitmap(9, 9, dexpand_bits, true); 119 dexpand = QBitmap(9, 9, dexpand_bits, true);
120 dexpand.setMask(dexpand); 120 dexpand.setMask(dexpand);
121 rexpand = QBitmap(9, 9, rexpand_bits, true); 121 rexpand = QBitmap(9, 9, rexpand_bits, true);
122 rexpand.setMask(rexpand); 122 rexpand.setMask(rexpand);
123 doodad_mid = QBitmap(4, 4, doodad_mid_bits, true); 123 doodad_mid = QBitmap(4, 4, doodad_mid_bits, true);
124 doodad_light = QBitmap(4, 4, doodad_light_bits, true); 124 doodad_light = QBitmap(4, 4, doodad_light_bits, true);
125} 125}
126 126
127PhaseStyle::~PhaseStyle() { 127PhaseStyle::~PhaseStyle() {
128 /* deleted by Qt */ 128 /* deleted by Qt */
129} 129}
130 130
131void PhaseStyle::drawCheckMark ( QPainter * p, int x, int y, int w, 131void PhaseStyle::drawCheckMark ( QPainter * p, int x, int y, int w,
132 int h, const QColorGroup & g, 132 int h, const QColorGroup & g,
133 bool , bool) { 133 bool , bool) {
134 p->setPen(g.text()); 134 p->setPen(g.text());
135 p->drawPixmap(x+w/2-4, y+h/2-4, bcheck); 135 p->drawPixmap(x+w/2-4, y+h/2-4, bcheck);
136} 136}
137 137
138void PhaseStyle::drawArrow(QPainter *painter, Qt::ArrowType type, bool down, 138void PhaseStyle::drawArrow(QPainter *painter, Qt::ArrowType type, bool down,
139 int x, int y, int w, int h, const QColorGroup &group, 139 int x, int y, int w, int h, const QColorGroup &group,
140 bool enabled , const QBrush * ) { 140 bool enabled , const QBrush * ) {
141 switch( type ) { 141 switch( type ) {
142 case UpArrow: 142 case UpArrow:
143 if (enabled) 143 if (enabled)
144 painter->setPen(down ? group.midlight() : group.dark()); 144 painter->setPen(down ? group.midlight() : group.dark());
145 else painter->setPen(group.mid()); 145 else painter->setPen(group.mid());
146 painter->drawPixmap(x+w/2-3, y+h/2-3, uarrow); 146 painter->drawPixmap(x+w/2-3, y+h/2-3, uarrow);
147 break; 147 break;
148 case DownArrow: 148 case DownArrow:
149 if (enabled) painter->setPen(down ? group.midlight() : group.dark()); 149 if (enabled) painter->setPen(down ? group.midlight() : group.dark());
150 else painter->setPen(group.mid()); 150 else painter->setPen(group.mid());
151 painter->drawPixmap(x+w/2-3, y+h/2-3, darrow); 151 painter->drawPixmap(x+w/2-3, y+h/2-3, darrow);
152 break; 152 break;
153 case LeftArrow: 153 case LeftArrow:
154 if (enabled) painter->setPen(down ? group.midlight() : group.dark()); 154 if (enabled) painter->setPen(down ? group.midlight() : group.dark());
155 else painter->setPen(group.mid()); 155 else painter->setPen(group.mid());
156 painter->drawPixmap(x+w/2-3, y+h/2-3, larrow); 156 painter->drawPixmap(x+w/2-3, y+h/2-3, larrow);
157 break; 157 break;
158 case RightArrow: 158 case RightArrow:
159 if (enabled) painter->setPen(down ? group.midlight() : group.dark()); 159 if (enabled) painter->setPen(down ? group.midlight() : group.dark());
160 else painter->setPen(group.mid()); 160 else painter->setPen(group.mid());
161 painter->drawPixmap(x+w/2-3, y+h/2-3, rarrow); 161 painter->drawPixmap(x+w/2-3, y+h/2-3, rarrow);
162 break; 162 break;
163 } 163 }
164} 164}
165 165
166void PhaseStyle::drawPushButton(QPushButton *btn, QPainter *painter) { 166void PhaseStyle::drawPushButton(QPushButton *btn, QPainter *painter) {
167 QRect r = btn->rect(); 167 QRect r = btn->rect();
168 int x = r.x(); 168 int x = r.x();
169 int y = r.y(); 169 int y = r.y();
170 int h = r.height(); 170 int h = r.height();
171 int w = r.width(); 171 int w = r.width();
172 bool depress = btn->isOn() || btn->isDown(); 172 bool depress = btn->isOn() || btn->isDown();
173 QColorGroup group = btn->colorGroup(); 173 QColorGroup group = btn->colorGroup();
174 QBrush brush(group.button() ); 174 QBrush brush(group.button() );
175// int bd = pixelMetric(PM_ButtonDefaultIndicator, widget) + 1; 175// int bd = pixelMetric(PM_ButtonDefaultIndicator, widget) + 1;
176 static int bd = 2; 176 static int bd = 2;
177 177
178 if (btn->isDefault() && !depress) { 178 if (btn->isDefault() && !depress) {
179 drawPanel(painter, x, y, h, w, group, 179 drawPanel(painter, x, y, w, h, group,
180 &group.brush(QColorGroup::Mid), true); 180 &group.brush(QColorGroup::Mid), true);
181 drawBevelButton(painter, x+bd, y+bd, w-bd*2, h-bd*2, group, 181 drawBevelButton(painter, x+bd, y+bd, w-bd*2, h-bd*2, group,
182 false, &brush ); 182 false, &brush );
183 } else { 183 } else {
184 drawButton(painter, x, y, w, h, group, depress, 184 drawButton(painter, x, y, w, h, group, depress,
185 &brush ); 185 &brush );
186 } 186 }
187 187
188 if (btn->hasFocus() ) { // draw focus 188 if (btn->hasFocus() ) { // draw focus
189 QColor col; 189 QColor col;
190 drawFocusRect(painter, r, group, 190 drawFocusRect(painter, r, group,
191 &col, false ); 191 &col, false );
192 } 192 }
193} 193}
194 194
195 195
196void PhaseStyle::drawPanel(QPainter* painter, int x, int y, int w, int h, 196void PhaseStyle::drawPanel(QPainter* painter, int x, int y, int w, int h,
197 const QColorGroup& group, bool sunken, 197 const QColorGroup& group, bool sunken,
198 int , const QBrush* fill) { 198 int , const QBrush* fill) {
199 int x2 = x + w - 1; 199 int x2 = x + w - 1;
200 int y2 = y + h - 1; 200 int y2 = y + h - 1;
201 painter->save(); 201 painter->save();
202 202
203 if (sunken) { 203 if (sunken) {
204 painter->setPen(group.dark()); 204 painter->setPen(group.dark());
205 painter->drawRect(x+1, y+1, w-2, h-2); 205 painter->drawRect(x+1, y+1, w-2, h-2);
206 painter->setPen(group.midlight()); 206 painter->setPen(group.midlight());
207 painter->drawLine(x+1, y2, x2, y2); 207 painter->drawLine(x+1, y2, x2, y2);
208 painter->drawLine(x2, y+1, x2, y2-1); 208 painter->drawLine(x2, y+1, x2, y2-1);
209 painter->setPen(group.mid()); 209 painter->setPen(group.mid());
210 painter->drawLine(x, y, x, y2-1); 210 painter->drawLine(x, y, x, y2-1);
211 painter->drawLine(x+1, y, x2-1, y); 211 painter->drawLine(x+1, y, x2-1, y);
212 painter->setPen(group.background()); 212 painter->setPen(group.background());
213 painter->drawPoint(x, y2); 213 painter->drawPoint(x, y2);
214 painter->drawPoint(x2, y); 214 painter->drawPoint(x2, y);
215 } else { 215 } else {
216 painter->setPen(group.dark()); 216 painter->setPen(group.dark());
217 painter->drawRect(x, y, w, h); 217 painter->drawRect(x, y, w, h);
218 painter->setPen(group.midlight()); 218 painter->setPen(group.midlight());
219 painter->drawLine(x+1, y+1, x2-2, y+1); 219 painter->drawLine(x+1, y+1, x2-2, y+1);
220 painter->drawLine(x+1, y+2, x+1, y2-2); 220 painter->drawLine(x+1, y+2, x+1, y2-2);
221 painter->setPen(group.mid()); 221 painter->setPen(group.mid());
222 painter->drawLine(x+2, y2-1, x2-1, y2-1); 222 painter->drawLine(x+2, y2-1, x2-1, y2-1);
223 painter->drawLine(x2-1, y+2, x2-1, y2-2); 223 painter->drawLine(x2-1, y+2, x2-1, y2-2);
224 painter->setPen(group.background()); 224 painter->setPen(group.background());
225 painter->drawPoint(x+1, y2-1); 225 painter->drawPoint(x+1, y2-1);
226 painter->drawPoint(x2-1, y+1); 226 painter->drawPoint(x2-1, y+1);
227 } 227 }
228 228
229 if (fill) { 229 if (fill) {
230 painter->fillRect(x+2, y+2, w-4, h-4, *fill ); 230 painter->fillRect(x+2, y+2, w-4, h-4, *fill );
231 } 231 }
232 painter->restore(); 232 painter->restore();
233} 233}
234 234
235 235
236 236
237void PhaseStyle::drawButton(QPainter *p, int x, int y, int w, int h, 237void PhaseStyle::drawButton(QPainter *p, int x, int y, int w, int h,
238 const QColorGroup &group, bool sunken , 238 const QColorGroup &group, bool sunken ,
239 const QBrush *fill ) { 239 const QBrush *fill ) {
240 int x2 = x + w - 1; 240 int x2 = x + w - 1;
241 int y2 = y + h - 1; 241 int y2 = y + h - 1;
242 242
243 p->setPen(group.midlight()); 243 p->setPen(group.midlight());
244 p->drawLine(x+1, y2, x2, y2); 244 p->drawLine(x+1, y2, x2, y2);
245 p->drawLine(x2, y+1, x2, y2-1); 245 p->drawLine(x2, y+1, x2, y2-1);
246 246
247 p->setPen(group.mid()); 247 p->setPen(group.mid());
248 p->drawLine(x, y, x2-1, y); 248 p->drawLine(x, y, x2-1, y);
249 p->drawLine(x, y+1, x, y2-1); 249 p->drawLine(x, y+1, x, y2-1);
250 250
251 p->setPen(group.button()); 251 p->setPen(group.button());
252 p->drawPoint(x, y2); 252 p->drawPoint(x, y2);
253 p->drawPoint(x2, y); 253 p->drawPoint(x2, y);
254 254
255 drawBevelButton(p, x+1, y+1, w-2, h-2, group, sunken, 255 drawBevelButton(p, x+1, y+1, w-2, h-2, group, sunken,
256 fill); 256 fill);
257} 257}
258 258
259void PhaseStyle::drawButtonMask( QPainter* p, int x, int y, 259void PhaseStyle::drawButtonMask( QPainter* p, int x, int y,
260 int w, int h ) { 260 int w, int h ) {
261 QRect rect(x, y, w, h ); 261 QRect rect(x, y, w, h );
262 p->fillRect(rect, Qt::color1); 262 p->fillRect(rect, Qt::color1);
263 p->setPen(Qt::color0); 263 p->setPen(Qt::color0);
264} 264}
265 265
266 266
267void PhaseStyle::drawBevelButton(QPainter* p, int x, int y, 267void PhaseStyle::drawBevelButton(QPainter* p, int x, int y,
268 int w, int h, const QColorGroup& group, 268 int w, int h, const QColorGroup& group,
269 bool sunken, const QBrush* fill ) { 269 bool sunken, const QBrush* fill ) {
270 int x2 = x + w - 1; 270 int x2 = x + w - 1;
271 int y2 = y + h - 1; 271 int y2 = y + h - 1;
272 p->save(); 272 p->save();
273 273
274 p->setPen(group.dark()); 274 p->setPen(group.dark());
275 p->drawRect(x, y, w, h); 275 p->drawRect(x, y, w, h);
276 276
277 p->setPen(sunken ? group.mid() : group.midlight()); 277 p->setPen(sunken ? group.mid() : group.midlight());
278 p->drawLine(x+1, y+1, x2-2, y+1); 278 p->drawLine(x+1, y+1, x2-2, y+1);
279 p->drawLine(x+1, y+2, x+1, y2-2); 279 p->drawLine(x+1, y+2, x+1, y2-2);
280 280
281 p->setPen(sunken ? group.midlight() : group.mid()); 281 p->setPen(sunken ? group.midlight() : group.mid());
282 p->drawLine(x+2, y2-1, x2-1, y2-1); 282 p->drawLine(x+2, y2-1, x2-1, y2-1);
283 p->drawLine(x2-1, y+2, x2-1, y2-2); 283 p->drawLine(x2-1, y+2, x2-1, y2-2);
284 284
285 p->setPen(group.button()); 285 p->setPen(group.button());
286 p->drawPoint(x+1, y2-1); 286 p->drawPoint(x+1, y2-1);
287 p->drawPoint(x2-1, y+1); 287 p->drawPoint(x2-1, y+1);
288 288
289 QBrush b = fill ? *fill : group.brush( QColorGroup::Button ); 289 QBrush b = fill ? *fill : group.brush( QColorGroup::Button );
290 if (sunken) { 290 if (sunken) {
291 // sunken bevels don't get gradients 291 // sunken bevels don't get gradients
292 p->fillRect(x+2, y+2, w-4, h-4, b); 292 p->fillRect(x+2, y+2, w-4, h-4, b);
293 } else 293 } else
294 drawPhaseGradient(p, QRect(x+2, y+2, w-4, h-4), b.color() ); 294 drawPhaseGradient(p, QRect(x+2, y+2, w-4, h-4), b.color() );
295 295
296 p->restore(); 296 p->restore();
297} 297}
298 298
299void PhaseStyle::drawPhaseGradient(QPainter* painter, 299void PhaseStyle::drawPhaseGradient(QPainter* painter,
300 const QRect& rect, 300 const QRect& rect,
301 const QColor& color )const { 301 const QColor& color )const {
302 painter->fillRect(rect, color); 302 painter->fillRect(rect, color);
303} 303}
304 304
305void PhaseStyle::polish( QWidget* widget ) { 305void PhaseStyle::polish( QWidget* widget ) {
306 QWindowsStyle::polish(widget ); 306 QWindowsStyle::polish(widget );
307 307
308#if 0 308#if 0
309 if (widget->inherits("QMenuBar") || 309 if (widget->inherits("QMenuBar") ||
310 widget->inherits("QPopupMenu" ) || 310 widget->inherits("QPopupMenu" ) ||
311 widget->inherits("QToolButton") || 311 widget->inherits("QToolButton") ||
312 widget->inherits("QHeader" ) ) { 312 widget->inherits("QHeader" ) ) {
313 widget->setBackgroundMode(QWidget::NoBackground); 313 widget->setBackgroundMode(QWidget::NoBackground);
314 } 314 }
315// else if (widget->inherits("QFrame") ) { 315// else if (widget->inherits("QFrame") ) {
316// widget->installEventFilter(this); 316// widget->installEventFilter(this);
317// } 317// }
318#endif 318#endif
319} 319}
320 320
321void PhaseStyle::unPolish( QWidget *w ) 321void PhaseStyle::unPolish( QWidget *w )
322{ 322{
323 QWindowsStyle::unPolish( w ); 323 QWindowsStyle::unPolish( w );
324} 324}
325 325
326void PhaseStyle::polish( QPalette &pal ) { 326void PhaseStyle::polish( QPalette &pal ) {
327 QWindowsStyle::polish( pal ); 327 QWindowsStyle::polish( pal );
328 // lighten up a bit, so the look is not so "crisp" 328 // lighten up a bit, so the look is not so "crisp"
329 if (QPixmap::defaultDepth() > 8) { // but not on low color displays 329 if (QPixmap::defaultDepth() > 8) { // but not on low color displays
330 pal.setColor(QPalette::Disabled, QColorGroup::Dark, 330 pal.setColor(QPalette::Disabled, QColorGroup::Dark,
331 pal.color(QPalette::Disabled, QColorGroup::Dark).light(contrast)); 331 pal.color(QPalette::Disabled, QColorGroup::Dark).light(contrast));
332 pal.setColor(QPalette::Active, QColorGroup::Dark, 332 pal.setColor(QPalette::Active, QColorGroup::Dark,
333 pal.color(QPalette::Active, QColorGroup::Dark).light(contrast)); 333 pal.color(QPalette::Active, QColorGroup::Dark).light(contrast));
334 pal.setColor(QPalette::Inactive, QColorGroup::Dark, 334 pal.setColor(QPalette::Inactive, QColorGroup::Dark,
335 pal.color(QPalette::Inactive, QColorGroup::Dark).light(contrast)); 335 pal.color(QPalette::Inactive, QColorGroup::Dark).light(contrast));
336 } 336 }
337} 337}
338 338
339void PhaseStyle::polish( QApplication* app ) { 339void PhaseStyle::polish( QApplication* app ) {
340 QWindowsStyle::polish( app ); 340 QWindowsStyle::polish( app );
341 341
342 qt_set_draw_menu_bar_impl((QDrawMenuBarItemImpl)&PhaseStyle::drawMenuBarItem); 342 qt_set_draw_menu_bar_impl((QDrawMenuBarItemImpl)&PhaseStyle::drawMenuBarItem);
343} 343}
344 344
345void PhaseStyle::unPolish( QApplication* app ) { 345void PhaseStyle::unPolish( QApplication* app ) {
346 QWindowsStyle::unPolish(app); 346 QWindowsStyle::unPolish(app);
347 qt_set_draw_menu_bar_impl ( 0 ); 347 qt_set_draw_menu_bar_impl ( 0 );
348} 348}
349 349
350void PhaseStyle::drawPushButtonLabel (QPushButton *button, QPainter *painter) { 350void PhaseStyle::drawPushButtonLabel (QPushButton *button, QPainter *painter) {
351 bool active = button->isOn() || button->isDown(); 351 bool active = button->isOn() || button->isDown();
352 QRect r = pushButtonContentsRect( button ); 352 QRect r = pushButtonContentsRect( button );
353 QColorGroup group = button->colorGroup(); 353 QColorGroup group = button->colorGroup();
354 int x, y, w, h; 354 int x, y, w, h;
355 r.rect( &x, &y, &w, &h ); 355 r.rect( &x, &y, &w, &h );
356 bool sunken = false; 356 bool sunken = false;
357 QIconSet::Mode mode; 357 QIconSet::Mode mode;
358 QPixmap pixmap; 358 QPixmap pixmap;
359 359
360 if (active) {// shift contents 360 if (active) {// shift contents
361 x++; y++; 361 x++; y++;
362 sunken = true; 362 sunken = true;
363 } 363 }
364 364
365 365
366 if (button->isMenuButton()) { // draw the indicator 366 if (button->isMenuButton()) { // draw the indicator
367 //dx = pixelMetric(PM_MenuButtonIndicator, widget); 367 //dx = pixelMetric(PM_MenuButtonIndicator, widget);
368 int dx = menuButtonIndicatorWidth( button->height() ); 368 int dx = menuButtonIndicatorWidth( button->height() );
369 drawArrow(painter, Qt::DownArrow, active, 369 drawArrow(painter, Qt::DownArrow, active,
370 x+w-dx, y+2, dx-4, h-4, group,button->isEnabled() ); 370 x+w-dx, y+2, dx-4, h-4, group,button->isEnabled() );
371 w -= dx; 371 w -= dx;
372 } 372 }
373 373
374 if (button->iconSet() && !button->iconSet()->isNull()) { // draw icon 374 if (button->iconSet() && !button->iconSet()->isNull()) { // draw icon
375 if (button->isEnabled()) { 375 if (button->isEnabled()) {
376 if (button->hasFocus()) { 376 if (button->hasFocus()) {
377 mode = QIconSet::Active; 377 mode = QIconSet::Active;
378 } else { 378 } else {
379 mode = QIconSet::Normal; 379 mode = QIconSet::Normal;
380 } 380 }
381 } else { 381 } else {
382 mode = QIconSet::Disabled; 382 mode = QIconSet::Disabled;
383 } 383 }
384 384
385#if 0 385#if 0
386 if (button->isToggleButton() && button->isOn()) { 386 if (button->isToggleButton() && button->isOn()) {
387 state = true; 387 state = true;
388 } else { 388 } else {
389 state = false; 389 state = false;
390 } 390 }
391#endif 391#endif
392 392
393 pixmap = button->iconSet()->pixmap(QIconSet::Small, mode); 393 pixmap = button->iconSet()->pixmap(QIconSet::Small, mode);
394 if (button->text().isEmpty() && !button->pixmap()) { 394 if (button->text().isEmpty() && !button->pixmap()) {
395 painter->drawPixmap(x+w/2 - pixmap.width()/2, 395 painter->drawPixmap(x+w/2 - pixmap.width()/2,
396 y+h/2 - pixmap.height()/2, pixmap); 396 y+h/2 - pixmap.height()/2, pixmap);
397 } else { 397 } else {
398 painter->drawPixmap(x+4, y+h/2 - pixmap.height()/2, pixmap); 398 painter->drawPixmap(x+4, y+h/2 - pixmap.height()/2, pixmap);
399 } 399 }
400 x += pixmap.width() + 4; 400 x += pixmap.width() + 4;
401 w -= pixmap.width() + 4; 401 w -= pixmap.width() + 4;
402 } 402 }
403 403
404 if (active || button->isDefault()) { // default button 404 if (active || button->isDefault()) { // default button
405 for(int n=0; n<2; n++) { 405 for(int n=0; n<2; n++) {
406 drawItem(painter, x+n, y, w, h, 406 drawItem(painter, x+n, y, w, h,
407 AlignCenter | ShowPrefix, 407 AlignCenter | ShowPrefix,
408 button->colorGroup(), 408 button->colorGroup(),
409 button->isEnabled(), 409 button->isEnabled(),
410 button->pixmap(), 410 button->pixmap(),
411 button->text(), -1, 411 button->text(), -1,
412 (button->isEnabled()) ? 412 (button->isEnabled()) ?
413 &button->colorGroup().buttonText() : 413 &button->colorGroup().buttonText() :
414 &button->colorGroup().mid()); 414 &button->colorGroup().mid());
415 } 415 }
416 } else { // normal button 416 } else { // normal button
417 drawItem(painter, x, y, w, h, 417 drawItem(painter, x, y, w, h,
418 AlignCenter | ShowPrefix, 418 AlignCenter | ShowPrefix,
419 button->colorGroup(), 419 button->colorGroup(),
420 button->isEnabled(), 420 button->isEnabled(),
421 button->pixmap(), 421 button->pixmap(),
422 button->text(), -1, 422 button->text(), -1,
423 (button->isEnabled()) ? 423 (button->isEnabled()) ?
424 &button->colorGroup().buttonText() : 424 &button->colorGroup().buttonText() :
425 &button->colorGroup().mid()); 425 &button->colorGroup().mid());
426 } 426 }
427} 427}
428 428
429 429
430void PhaseStyle::drawFocusRect(QPainter *painter, const QRect &rect, 430void PhaseStyle::drawFocusRect(QPainter *painter, const QRect &rect,
431 const QColorGroup &group, 431 const QColorGroup &group,
432 const QColor *, bool atBorder) { 432 const QColor *, bool atBorder) {
433 433
434 434
435 QPen old = painter->pen(); 435 QPen old = painter->pen();
436 painter->setPen(group.highlight().dark(contrast)); 436 painter->setPen(group.highlight().dark(contrast));
437 painter->setBrush(NoBrush); 437 painter->setBrush(NoBrush);
438 438
439 if ( atBorder ) 439 if ( atBorder )
440 painter->drawRect(QRect(rect.x()+1, rect.y()+1, 440 painter->drawRect(QRect(rect.x()+1, rect.y()+1,
441 rect.width()-2, rect.height()-2 )); 441 rect.width()-2, rect.height()-2 ));
442 else 442 else
443 painter->drawRect(rect); 443 painter->drawRect(rect);
444 444
445 445
446 painter->setPen(old); 446 painter->setPen(old);
447 447
448} 448}
449 449
450void PhaseStyle::drawSeperator( QPainter* painter, int x, int y, int w, 450void PhaseStyle::drawSeperator( QPainter* painter, int x, int y, int w,
451 int h, const QColorGroup& group, bool, 451 int h, const QColorGroup& group, bool,
452 int , int ) { 452 int , int ) {
453 qWarning( "Seperator" ); 453 qWarning( "Seperator" );
454 QRect rect(x, y, w, h); 454 QRect rect(x, y, w, h);
455 int x2 = rect.right(); 455 int x2 = rect.right();
456 int y2 = rect.bottom(); 456 int y2 = rect.bottom();
457 457
458 painter->setPen(group.dark()); 458 painter->setPen(group.dark());
459 if (w < h) 459 if (w < h)
460 painter->drawLine(w/2, y, w/2, y2); 460 painter->drawLine(w/2, y, w/2, y2);
461 else 461 else
462 painter->drawLine(x, h/2, x2, h/2); 462 painter->drawLine(x, h/2, x2, h/2);
463} 463}
464 464
465void PhaseStyle::drawMenuBarItem(QPainter* p, int x, int y, int w, int h, 465void PhaseStyle::drawMenuBarItem(QPainter* p, int x, int y, int w, int h,
466 QMenuItem *mi, QColorGroup& g, bool enabled, 466 QMenuItem *mi, QColorGroup& g, bool enabled,
467 bool act ) { 467 bool act ) {
468 return QWindowsStyle::drawMenuBarItem(p, x, y, w, h, mi, g, enabled, act); 468 return QWindowsStyle::drawMenuBarItem(p, x, y, w, h, mi, g, enabled, act);
469} 469}
470 470
471 471
472void PhaseStyle::drawIndicator(QPainter* painter, int x, int y, int w, int h, 472void PhaseStyle::drawIndicator(QPainter* painter, int x, int y, int w, int h,
473 const QColorGroup &group, int state, bool, 473 const QColorGroup &group, int state, bool,
474 bool enabled ) { 474 bool enabled ) {
475 drawPanel(painter, x, y, w, h, group, true, 1, enabled ? 475 drawPanel(painter, x, y, w, h, group, true, 1, enabled ?
476 &group.brush(QColorGroup::Base) : 476 &group.brush(QColorGroup::Base) :
477 &group.brush(QColorGroup::Background)); 477 &group.brush(QColorGroup::Background));
478 478
479 if (QButton::On == state ) { 479 if (QButton::On == state ) {
480 painter->setPen(group.dark()); 480 painter->setPen(group.dark());
481 painter->drawRect(x+3, y+3, w-6, h-6); 481 painter->drawRect(x+3, y+3, w-6, h-6);
482 painter->fillRect(x+4, y+4, w-8, h-8, 482 painter->fillRect(x+4, y+4, w-8, h-8,
483 group.brush(QColorGroup::Highlight)); 483 group.brush(QColorGroup::Highlight));
484 } 484 }
485} 485}
486 486
487 487
488void PhaseStyle::drawExclusiveIndicator(QPainter* painter, int x, int y, int w, int h, 488void PhaseStyle::drawExclusiveIndicator(QPainter* painter, int x, int y, int w, int h,
489 const QColorGroup &group, bool on, 489 const QColorGroup &group, bool on,
490 bool /*down*/, bool enabled) { 490 bool /*down*/, bool enabled) {
491 491
492 QRect r(x, y, w, h ); 492 QRect r(x, y, w, h );
493 493
494 494
495 /* 495 /*
496 * As Polygon and Polyline are broken in Qt2 lets use 496 * As Polygon and Polyline are broken in Qt2 lets use
497 * something not that spectacilur -> ellipse 497 * something not that spectacilur -> ellipse
498 */ 498 */
499 painter->save(); 499 painter->save();
500 painter->fillRect(x, y, w, h, group.background()); 500 painter->fillRect(x, y, w, h, group.background());
501 501
502 502
503 painter->setBrush(enabled 503 painter->setBrush(enabled
504 ? group.brush(QColorGroup::Base) 504 ? group.brush(QColorGroup::Base)
505 : group.brush(QColorGroup::Background)); 505 : group.brush(QColorGroup::Background));
506 painter->setPen(group.dark()); 506 painter->setPen(group.dark());
507 507
508 if (0 == w % 2) --w; 508 if (0 == w % 2) --w;
509 if (0 == h % 2) --h; 509 if (0 == h % 2) --h;
510 painter->drawEllipse(x, y, w, h ); 510 painter->drawEllipse(x, y, w, h );
511 511
512 if(on) { 512 if(on) {
513 painter->setBrush(group.brush(QColorGroup::Highlight)); 513 painter->setBrush(group.brush(QColorGroup::Highlight));
514 painter->drawEllipse(x+3,y+3,w-6,h-6); 514 painter->drawEllipse(x+3,y+3,w-6,h-6);
515 } 515 }
516 516
517 painter->restore(); 517 painter->restore();
518} 518}
519 519
520 520
521/* 521/*
522 * Does not get called in QWS as it seems 522 * Does not get called in QWS as it seems
523 */ 523 */
524void PhaseStyle::drawExclusiveIndicatorMask(QPainter *painter, int x, int y, int w, 524void PhaseStyle::drawExclusiveIndicatorMask(QPainter *painter, int x, int y, int w,
525 int h, bool /*on*/ ) { 525 int h, bool /*on*/ ) {
526 return; 526 return;
527 527
528 528
529 529
530 if (0 != w%2) --w; 530 if (0 != w%2) --w;
531 if (0 != h%2) --h; 531 if (0 != h%2) --h;
532 532
533 QRect r(x, y, w, h ); 533 QRect r(x, y, w, h );
534 int x2 = r.right(); 534 int x2 = r.right();
535 int y2 = r.bottom(); 535 int y2 = r.bottom();
536 int cx = (x + x2) / 2; 536 int cx = (x + x2) / 2;
537 int cy = (y + y2) / 2; 537 int cy = (y + y2) / 2;
538 QPointArray parray; 538 QPointArray parray;
539 539
540 540
541 painter->setBrush(Qt::color1); 541 painter->setBrush(Qt::color1);
542 painter->setPen(Qt::color1); 542 painter->setPen(Qt::color1);
543 parray.putPoints(0, 8, 543 parray.putPoints(0, 8,
544 x,cy+1, x,cy, cx,y, cx+1,y, 544 x,cy+1, x,cy, cx,y, cx+1,y,
545 x2,cy, x2,cy+1, cx+1,y2, cx,y2); 545 x2,cy, x2,cy+1, cx+1,y2, cx,y2);
546 painter->drawPolygon(parray, 0, 8); 546 painter->drawPolygon(parray, 0, 8);
547} 547}
548 548
549int PhaseStyle::defaultFrameWidth()const { 549int PhaseStyle::defaultFrameWidth()const {
550 return 1; 550 return 1;
551} 551}
552 552
553int PhaseStyle::popupMenuItemHeight ( bool , 553int PhaseStyle::popupMenuItemHeight ( bool ,
554 QMenuItem * mi, 554 QMenuItem * mi,
555 const QFontMetrics & fm ) { 555 const QFontMetrics & fm ) {
556 int h = 0; 556 int h = 0;
557 if (mi->custom() ) { 557 if (mi->custom() ) {
558 h = mi->custom()->sizeHint().height(); 558 h = mi->custom()->sizeHint().height();
559 if (!mi->custom()->fullSpan() ) 559 if (!mi->custom()->fullSpan() )
560 h += ITEMVMARGIN*2 + ITEMFRAME*2; 560 h += ITEMVMARGIN*2 + ITEMFRAME*2;
561 }else if (mi->isSeparator() ) { 561 }else if (mi->isSeparator() ) {
562 h = 1; 562 h = 1;
563 }else { 563 }else {
564 if ( mi->pixmap() ) { 564 if ( mi->pixmap() ) {
565 h = QMAX(h, mi->pixmap()->height() + ITEMFRAME*2); 565 h = QMAX(h, mi->pixmap()->height() + ITEMFRAME*2);
566 }else { 566 }else {
567 h = QMAX(h, MINICONSIZE+ITEMFRAME*2 ); 567 h = QMAX(h, MINICONSIZE+ITEMFRAME*2 );
568 h = QMAX(h, fm.height() 568 h = QMAX(h, fm.height()
569 + ITEMVMARGIN*2 + ITEMFRAME*2 ); 569 + ITEMVMARGIN*2 + ITEMFRAME*2 );
570 } 570 }
571 if ( mi->iconSet() ) 571 if ( mi->iconSet() )
572 h = QMAX(h, mi->iconSet()-> 572 h = QMAX(h, mi->iconSet()->
573 pixmap(QIconSet::Small, QIconSet::Normal ).height() 573 pixmap(QIconSet::Small, QIconSet::Normal ).height()
574 + ITEMFRAME*2 ); 574 + ITEMFRAME*2 );
575 } 575 }
576 576
577 577
578 return h; 578 return h;
579} 579}
580 580
581int PhaseStyle::extraPopupMenuItemWidth(bool checkable, int maxpmw, 581int PhaseStyle::extraPopupMenuItemWidth(bool checkable, int maxpmw,
582 QMenuItem* mi, const QFontMetrics& ) { 582 QMenuItem* mi, const QFontMetrics& ) {
583 int w = 0; 583 int w = 0;
584 if (mi->isSeparator() ) 584 if (mi->isSeparator() )
585 return 3; 585 return 3;
586 586
587 else if ( mi->pixmap() ) 587 else if ( mi->pixmap() )
588 w = mi->pixmap()->width(); 588 w = mi->pixmap()->width();
589 589
590 if (!mi->text().isNull() && 590 if (!mi->text().isNull() &&
591 mi->text().find('\t' ) >= 0 ) 591 mi->text().find('\t' ) >= 0 )
592 w += 12; 592 w += 12;
593 else if ( mi->popup() ) 593 else if ( mi->popup() )
594 w += 2*ARROWMARGIN; 594 w += 2*ARROWMARGIN;
595 595
596 if ( maxpmw ) 596 if ( maxpmw )
597 w += maxpmw +4; 597 w += maxpmw +4;
598 598
599 599
600 if ( maxpmw > 0 || checkable ) 600 if ( maxpmw > 0 || checkable )
601 w += ITEMHMARGIN*2+8; 601 w += ITEMHMARGIN*2+8;
602 602
603 w += RIGHTBORDER; 603 w += RIGHTBORDER;
604 return w; 604 return w;
605} 605}
606 606
607QSize PhaseStyle::indicatorSize()const { 607QSize PhaseStyle::indicatorSize()const {
608 return QSize( 11, 11 ); 608 return QSize( 11, 11 );
609} 609}
610 610
611QSize PhaseStyle::exclusiveIndicatorSize()const { 611QSize PhaseStyle::exclusiveIndicatorSize()const {
612 return QSize( 11, 11 ); 612 return QSize( 11, 11 );
613} 613}
614 614
615void PhaseStyle::getButtonShift( int &x, int &y ) { 615void PhaseStyle::getButtonShift( int &x, int &y ) {
616 x++; 616 x++;
617 y++; 617 y++;
618} 618}
619 619
620void PhaseStyle::drawPopupMenuItem ( QPainter * p, bool checkable, 620void PhaseStyle::drawPopupMenuItem ( QPainter * p, bool checkable,
621 int maxpmw,int tabwidth, 621 int maxpmw,int tabwidth,
622 QMenuItem * mi, const QPalette & pal, 622 QMenuItem * mi, const QPalette & pal,
623 bool act, bool enabled, int x, 623 bool act, bool enabled, int x,
624 int y, int w, int h ) { 624 int y, int w, int h ) {
625 if ( !mi ) 625 if ( !mi )
626 return; 626 return;
627 627
628 QRect rect(x, y, w, h ); 628 QRect rect(x, y, w, h );
629 int x2, y2; 629 int x2, y2;
630 x2 = rect.right(); 630 x2 = rect.right();
631 y2 = rect.bottom(); 631 y2 = rect.bottom();
632 const QColorGroup& g = pal.active(); 632 const QColorGroup& g = pal.active();
633 QColorGroup itemg = !enabled ? pal.disabled() : pal.active(); 633 QColorGroup itemg = !enabled ? pal.disabled() : pal.active();
634 634
635 if ( checkable || maxpmw ) maxpmw = QMAX(maxpmw, 20); 635 if ( checkable || maxpmw ) maxpmw = QMAX(maxpmw, 20);
636 636
637 if (act && enabled ) 637 if (act && enabled )
638 p->fillRect(x, y, w, h, g.highlight() ); 638 p->fillRect(x, y, w, h, g.highlight() );
639 else 639 else
640 p->fillRect(x, y, w, h, g.background() ); 640 p->fillRect(x, y, w, h, g.background() );
641 641
642 // draw seperator 642 // draw seperator
643 if (mi->isSeparator() ) { 643 if (mi->isSeparator() ) {
644 p->setPen( g.dark() ); 644 p->setPen( g.dark() );
645 p->drawLine( x+8, y+1, x+w-8, y+1 ); 645 p->drawLine( x+8, y+1, x+w-8, y+1 );
646 646
647 p->setPen( g.mid() ); 647 p->setPen( g.mid() );
648 p->drawLine( x+8, y, x+w-8, y ); 648 p->drawLine( x+8, y, x+w-8, y );
649 p->drawPoint(x+w,y+1); 649 p->drawPoint(x+w,y+1);
650 650
651 p->setPen( g.midlight() ); 651 p->setPen( g.midlight() );
652 p->drawLine( x+8, y-1, x+w-8, y-1 ); 652 p->drawLine( x+8, y-1, x+w-8, y-1 );
653 p->drawPoint(x+8, y ); 653 p->drawPoint(x+8, y );
654 return; 654 return;
655 } 655 }
656 656
657 // draw icon 657 // draw icon
658 QIconSet::Mode mode; 658 QIconSet::Mode mode;
659 if ( mi->iconSet() && !mi->isChecked() ) { 659 if ( mi->iconSet() && !mi->isChecked() ) {
660 if ( act ) 660 if ( act )
661 mode = enabled ? QIconSet::Active : QIconSet::Disabled; 661 mode = enabled ? QIconSet::Active : QIconSet::Disabled;
662 else 662 else
663 mode = enabled ? QIconSet::Normal : QIconSet::Disabled; 663 mode = enabled ? QIconSet::Normal : QIconSet::Disabled;
664 QPixmap pixmap = mi->iconSet()->pixmap(QIconSet::Small, mode ); 664 QPixmap pixmap = mi->iconSet()->pixmap(QIconSet::Small, mode );
665 QRect pmrect(0, 0, pixmap.width(), pixmap.height() ); 665 QRect pmrect(0, 0, pixmap.width(), pixmap.height() );
666 QRect cr(x, y, maxpmw, h ); 666 QRect cr(x, y, maxpmw, h );
667 pmrect.moveCenter( cr.center() ); 667 pmrect.moveCenter( cr.center() );
668 p->drawPixmap(pmrect.topLeft(), pixmap); 668 p->drawPixmap(pmrect.topLeft(), pixmap);
669 } 669 }
670 670
671 // draw check 671 // draw check
672 if(mi->isChecked() ) { 672 if(mi->isChecked() ) {
673 drawCheckMark(p, x, y, maxpmw, h, itemg, act, !enabled ); 673 drawCheckMark(p, x, y, maxpmw, h, itemg, act, !enabled );
674 } 674 }
675 675
676 676
677 // draw text 677 // draw text
678 int xm = maxpmw + 2; 678 int xm = maxpmw + 2;
679 int xp = x + xm; 679 int xp = x + xm;
680 int tw = w -xm - 2; 680 int tw = w -xm - 2;
681 681
682 p->setPen( enabled ? ( act ? g.highlightedText() : g.buttonText() ) : 682 p->setPen( enabled ? ( act ? g.highlightedText() : g.buttonText() ) :
683 g.mid() ); 683 g.mid() );
684 684
685 685
686 if ( mi->custom() ) { 686 if ( mi->custom() ) {
687 p->save(); 687 p->save();
688 mi->custom()->paint(p, g, act, enabled, 688 mi->custom()->paint(p, g, act, enabled,
689 xp, y+1, tw, h-2 ); 689 xp, y+1, tw, h-2 );
690 p->restore(); 690 p->restore();
691 }else { // draw label 691 }else { // draw label