summaryrefslogtreecommitdiff
authorzecke <zecke>2004-09-13 00:54:39 (UTC)
committer zecke <zecke>2004-09-13 00:54:39 (UTC)
commit3ea857919c16be19d44181a1be01ab8328b3ccea (patch) (unidiff)
tree0c2172ae03ca987ed66bb35cbe12ec413dcbc308
parent848be27ce441430b6946221cd288ff9d6297096c (diff)
downloadopie-3ea857919c16be19d44181a1be01ab8328b3ccea.zip
opie-3ea857919c16be19d44181a1be01ab8328b3ccea.tar.gz
opie-3ea857919c16be19d44181a1be01ab8328b3ccea.tar.bz2
Try to make the tabbar a bit 'higher' but less wide
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/styles/phase/phasestyle.cpp6
-rw-r--r--noncore/styles/phase/phasestyle.h1
2 files changed, 7 insertions, 0 deletions
diff --git a/noncore/styles/phase/phasestyle.cpp b/noncore/styles/phase/phasestyle.cpp
index 139505f..ba8c460 100644
--- a/noncore/styles/phase/phasestyle.cpp
+++ b/noncore/styles/phase/phasestyle.cpp
@@ -1,1220 +1,1226 @@
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, h, w, 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::polish( QPalette &pal ) { 321void PhaseStyle::polish( QPalette &pal ) {
322 QWindowsStyle::polish( pal ); 322 QWindowsStyle::polish( pal );
323 // lighten up a bit, so the look is not so "crisp" 323 // lighten up a bit, so the look is not so "crisp"
324 if (QPixmap::defaultDepth() > 8) { // but not on low color displays 324 if (QPixmap::defaultDepth() > 8) { // but not on low color displays
325 pal.setColor(QPalette::Disabled, QColorGroup::Dark, 325 pal.setColor(QPalette::Disabled, QColorGroup::Dark,
326 pal.color(QPalette::Disabled, QColorGroup::Dark).light(contrast)); 326 pal.color(QPalette::Disabled, QColorGroup::Dark).light(contrast));
327 pal.setColor(QPalette::Active, QColorGroup::Dark, 327 pal.setColor(QPalette::Active, QColorGroup::Dark,
328 pal.color(QPalette::Active, QColorGroup::Dark).light(contrast)); 328 pal.color(QPalette::Active, QColorGroup::Dark).light(contrast));
329 pal.setColor(QPalette::Inactive, QColorGroup::Dark, 329 pal.setColor(QPalette::Inactive, QColorGroup::Dark,
330 pal.color(QPalette::Inactive, QColorGroup::Dark).light(contrast)); 330 pal.color(QPalette::Inactive, QColorGroup::Dark).light(contrast));
331 } 331 }
332} 332}
333 333
334void PhaseStyle::polish( QApplication* app ) { 334void PhaseStyle::polish( QApplication* app ) {
335 QWindowsStyle::polish( app ); 335 QWindowsStyle::polish( app );
336 336
337 qt_set_draw_menu_bar_impl((QDrawMenuBarItemImpl)&PhaseStyle::drawMenuBarItem); 337 qt_set_draw_menu_bar_impl((QDrawMenuBarItemImpl)&PhaseStyle::drawMenuBarItem);
338} 338}
339 339
340void PhaseStyle::drawPushButtonLabel (QPushButton *button, QPainter *painter) { 340void PhaseStyle::drawPushButtonLabel (QPushButton *button, QPainter *painter) {
341 bool active = button->isOn() || button->isDown(); 341 bool active = button->isOn() || button->isDown();
342 QRect r = pushButtonContentsRect( button ); 342 QRect r = pushButtonContentsRect( button );
343 QColorGroup group = button->colorGroup(); 343 QColorGroup group = button->colorGroup();
344 int x, y, w, h; 344 int x, y, w, h;
345 r.rect( &x, &y, &w, &h ); 345 r.rect( &x, &y, &w, &h );
346 bool sunken = false; 346 bool sunken = false;
347 QIconSet::Mode mode; 347 QIconSet::Mode mode;
348 QPixmap pixmap; 348 QPixmap pixmap;
349 349
350 if (active) {// shift contents 350 if (active) {// shift contents
351 x++; y++; 351 x++; y++;
352 sunken = true; 352 sunken = true;
353 } 353 }
354 354
355 355
356 if (button->isMenuButton()) { // draw the indicator 356 if (button->isMenuButton()) { // draw the indicator
357 //dx = pixelMetric(PM_MenuButtonIndicator, widget); 357 //dx = pixelMetric(PM_MenuButtonIndicator, widget);
358 int dx = menuButtonIndicatorWidth( button->height() ); 358 int dx = menuButtonIndicatorWidth( button->height() );
359 drawArrow(painter, Qt::DownArrow, active, 359 drawArrow(painter, Qt::DownArrow, active,
360 x+w-dx, y+2, dx-4, h-4, group,button->isEnabled() ); 360 x+w-dx, y+2, dx-4, h-4, group,button->isEnabled() );
361 w -= dx; 361 w -= dx;
362 } 362 }
363 363
364 if (button->iconSet() && !button->iconSet()->isNull()) { // draw icon 364 if (button->iconSet() && !button->iconSet()->isNull()) { // draw icon
365 if (button->isEnabled()) { 365 if (button->isEnabled()) {
366 if (button->hasFocus()) { 366 if (button->hasFocus()) {
367 mode = QIconSet::Active; 367 mode = QIconSet::Active;
368 } else { 368 } else {
369 mode = QIconSet::Normal; 369 mode = QIconSet::Normal;
370 } 370 }
371 } else { 371 } else {
372 mode = QIconSet::Disabled; 372 mode = QIconSet::Disabled;
373 } 373 }
374 374
375#if 0 375#if 0
376 if (button->isToggleButton() && button->isOn()) { 376 if (button->isToggleButton() && button->isOn()) {
377 state = true; 377 state = true;
378 } else { 378 } else {
379 state = false; 379 state = false;
380 } 380 }
381#endif 381#endif
382 382
383 pixmap = button->iconSet()->pixmap(QIconSet::Small, mode); 383 pixmap = button->iconSet()->pixmap(QIconSet::Small, mode);
384 if (button->text().isEmpty() && !button->pixmap()) { 384 if (button->text().isEmpty() && !button->pixmap()) {
385 painter->drawPixmap(x+w/2 - pixmap.width()/2, 385 painter->drawPixmap(x+w/2 - pixmap.width()/2,
386 y+h/2 - pixmap.height()/2, pixmap); 386 y+h/2 - pixmap.height()/2, pixmap);
387 } else { 387 } else {
388 painter->drawPixmap(x+4, y+h/2 - pixmap.height()/2, pixmap); 388 painter->drawPixmap(x+4, y+h/2 - pixmap.height()/2, pixmap);
389 } 389 }
390 x += pixmap.width() + 4; 390 x += pixmap.width() + 4;
391 w -= pixmap.width() + 4; 391 w -= pixmap.width() + 4;
392 } 392 }
393 393
394 if (active || button->isDefault()) { // default button 394 if (active || button->isDefault()) { // default button
395 for(int n=0; n<2; n++) { 395 for(int n=0; n<2; n++) {
396 drawItem(painter, x+n, y, w, h, 396 drawItem(painter, x+n, y, w, h,
397 AlignCenter | ShowPrefix, 397 AlignCenter | ShowPrefix,
398 button->colorGroup(), 398 button->colorGroup(),
399 button->isEnabled(), 399 button->isEnabled(),
400 button->pixmap(), 400 button->pixmap(),
401 button->text(), -1, 401 button->text(), -1,
402 (button->isEnabled()) ? 402 (button->isEnabled()) ?
403 &button->colorGroup().buttonText() : 403 &button->colorGroup().buttonText() :
404 &button->colorGroup().mid()); 404 &button->colorGroup().mid());
405 } 405 }
406 } else { // normal button 406 } else { // normal button
407 drawItem(painter, x, y, w, h, 407 drawItem(painter, x, y, w, h,
408 AlignCenter | ShowPrefix, 408 AlignCenter | ShowPrefix,
409 button->colorGroup(), 409 button->colorGroup(),
410 button->isEnabled(), 410 button->isEnabled(),
411 button->pixmap(), 411 button->pixmap(),
412 button->text(), -1, 412 button->text(), -1,
413 (button->isEnabled()) ? 413 (button->isEnabled()) ?
414 &button->colorGroup().buttonText() : 414 &button->colorGroup().buttonText() :
415 &button->colorGroup().mid()); 415 &button->colorGroup().mid());
416 } 416 }
417} 417}
418 418
419 419
420void PhaseStyle::drawFocusRect(QPainter *painter, const QRect &rect, 420void PhaseStyle::drawFocusRect(QPainter *painter, const QRect &rect,
421 const QColorGroup &group, 421 const QColorGroup &group,
422 const QColor *, bool atBorder) { 422 const QColor *, bool atBorder) {
423 423
424 424
425 QPen old = painter->pen(); 425 QPen old = painter->pen();
426 painter->setPen(group.highlight().dark(contrast)); 426 painter->setPen(group.highlight().dark(contrast));
427 painter->setBrush(NoBrush); 427 painter->setBrush(NoBrush);
428 428
429 if ( atBorder ) 429 if ( atBorder )
430 painter->drawRect(QRect(rect.x()+1, rect.y()+1, 430 painter->drawRect(QRect(rect.x()+1, rect.y()+1,
431 rect.width()-2, rect.height()-2 )); 431 rect.width()-2, rect.height()-2 ));
432 else 432 else
433 painter->drawRect(rect); 433 painter->drawRect(rect);
434 434
435 435
436 painter->setPen(old); 436 painter->setPen(old);
437 437
438} 438}
439 439
440void PhaseStyle::drawSeperator( QPainter* painter, int x, int y, int w, 440void PhaseStyle::drawSeperator( QPainter* painter, int x, int y, int w,
441 int h, const QColorGroup& group, bool, 441 int h, const QColorGroup& group, bool,
442 int , int ) { 442 int , int ) {
443 qWarning( "Seperator" ); 443 qWarning( "Seperator" );
444 QRect rect(x, y, w, h); 444 QRect rect(x, y, w, h);
445 int x2 = rect.right(); 445 int x2 = rect.right();
446 int y2 = rect.bottom(); 446 int y2 = rect.bottom();
447 447
448 painter->setPen(group.dark()); 448 painter->setPen(group.dark());
449 if (w < h) 449 if (w < h)
450 painter->drawLine(w/2, y, w/2, y2); 450 painter->drawLine(w/2, y, w/2, y2);
451 else 451 else
452 painter->drawLine(x, h/2, x2, h/2); 452 painter->drawLine(x, h/2, x2, h/2);
453} 453}
454 454
455void PhaseStyle::drawMenuBarItem(QPainter* p, int x, int y, int w, int h, 455void PhaseStyle::drawMenuBarItem(QPainter* p, int x, int y, int w, int h,
456 QMenuItem *mi, QColorGroup& g, bool enabled, 456 QMenuItem *mi, QColorGroup& g, bool enabled,
457 bool act ) { 457 bool act ) {
458 return QWindowsStyle::drawMenuBarItem(p, x, y, w, h, mi, g, enabled, act); 458 return QWindowsStyle::drawMenuBarItem(p, x, y, w, h, mi, g, enabled, act);
459} 459}
460 460
461 461
462void PhaseStyle::drawIndicator(QPainter* painter, int x, int y, int w, int h, 462void PhaseStyle::drawIndicator(QPainter* painter, int x, int y, int w, int h,
463 const QColorGroup &group, int state, bool, 463 const QColorGroup &group, int state, bool,
464 bool enabled ) { 464 bool enabled ) {
465 drawPanel(painter, x, y, w, h, group, true, 1, enabled ? 465 drawPanel(painter, x, y, w, h, group, true, 1, enabled ?
466 &group.brush(QColorGroup::Base) : 466 &group.brush(QColorGroup::Base) :
467 &group.brush(QColorGroup::Background)); 467 &group.brush(QColorGroup::Background));
468 468
469 if (QButton::On == state ) { 469 if (QButton::On == state ) {
470 painter->setPen(group.dark()); 470 painter->setPen(group.dark());
471 painter->drawRect(x+3, y+3, w-6, h-6); 471 painter->drawRect(x+3, y+3, w-6, h-6);
472 painter->fillRect(x+4, y+4, w-8, h-8, 472 painter->fillRect(x+4, y+4, w-8, h-8,
473 group.brush(QColorGroup::Highlight)); 473 group.brush(QColorGroup::Highlight));
474 } 474 }
475} 475}
476 476
477 477
478void PhaseStyle::drawExclusiveIndicator(QPainter* painter, int x, int y, int w, int h, 478void PhaseStyle::drawExclusiveIndicator(QPainter* painter, int x, int y, int w, int h,
479 const QColorGroup &group, bool on, 479 const QColorGroup &group, bool on,
480 bool /*down*/, bool enabled) { 480 bool /*down*/, bool enabled) {
481 481
482 QRect r(x, y, w, h ); 482 QRect r(x, y, w, h );
483 483
484 484
485 /* 485 /*
486 * As Polygon and Polyline are broken in Qt2 lets use 486 * As Polygon and Polyline are broken in Qt2 lets use
487 * something not that spectacilur -> ellipse 487 * something not that spectacilur -> ellipse
488 */ 488 */
489 painter->save(); 489 painter->save();
490 painter->fillRect(x, y, w, h, group.background()); 490 painter->fillRect(x, y, w, h, group.background());
491 491
492 492
493 painter->setBrush(enabled 493 painter->setBrush(enabled
494 ? group.brush(QColorGroup::Base) 494 ? group.brush(QColorGroup::Base)
495 : group.brush(QColorGroup::Background)); 495 : group.brush(QColorGroup::Background));
496 painter->setPen(group.dark()); 496 painter->setPen(group.dark());
497 497
498 if (0 == w % 2) --w; 498 if (0 == w % 2) --w;
499 if (0 == h % 2) --h; 499 if (0 == h % 2) --h;
500 painter->drawEllipse(x, y, w, h ); 500 painter->drawEllipse(x, y, w, h );
501 501
502 if(on) { 502 if(on) {
503 painter->setBrush(group.brush(QColorGroup::Highlight)); 503 painter->setBrush(group.brush(QColorGroup::Highlight));
504 painter->drawEllipse(x+3,y+3,w-6,h-6); 504 painter->drawEllipse(x+3,y+3,w-6,h-6);
505 } 505 }
506 506
507 painter->restore(); 507 painter->restore();
508} 508}
509 509
510 510
511/* 511/*
512 * Does not get called in QWS as it seems 512 * Does not get called in QWS as it seems
513 */ 513 */
514void PhaseStyle::drawExclusiveIndicatorMask(QPainter *painter, int x, int y, int w, 514void PhaseStyle::drawExclusiveIndicatorMask(QPainter *painter, int x, int y, int w,
515 int h, bool /*on*/ ) { 515 int h, bool /*on*/ ) {
516 return; 516 return;
517 517
518 518
519 519
520 if (0 != w%2) --w; 520 if (0 != w%2) --w;
521 if (0 != h%2) --h; 521 if (0 != h%2) --h;
522 522
523 QRect r(x, y, w, h ); 523 QRect r(x, y, w, h );
524 int x2 = r.right(); 524 int x2 = r.right();
525 int y2 = r.bottom(); 525 int y2 = r.bottom();
526 int cx = (x + x2) / 2; 526 int cx = (x + x2) / 2;
527 int cy = (y + y2) / 2; 527 int cy = (y + y2) / 2;
528 QPointArray parray; 528 QPointArray parray;
529 529
530 530
531 painter->setBrush(Qt::color1); 531 painter->setBrush(Qt::color1);
532 painter->setPen(Qt::color1); 532 painter->setPen(Qt::color1);
533 parray.putPoints(0, 8, 533 parray.putPoints(0, 8,
534 x,cy+1, x,cy, cx,y, cx+1,y, 534 x,cy+1, x,cy, cx,y, cx+1,y,
535 x2,cy, x2,cy+1, cx+1,y2, cx,y2); 535 x2,cy, x2,cy+1, cx+1,y2, cx,y2);
536 painter->drawPolygon(parray, 0, 8); 536 painter->drawPolygon(parray, 0, 8);
537} 537}
538 538
539int PhaseStyle::defaultFrameWidth()const { 539int PhaseStyle::defaultFrameWidth()const {
540 return 1; 540 return 1;
541} 541}
542 542
543int PhaseStyle::popupMenuItemHeight ( bool , 543int PhaseStyle::popupMenuItemHeight ( bool ,
544 QMenuItem * mi, 544 QMenuItem * mi,
545 const QFontMetrics & fm ) { 545 const QFontMetrics & fm ) {
546 int h = 0; 546 int h = 0;
547 if (mi->custom() ) { 547 if (mi->custom() ) {
548 h = mi->custom()->sizeHint().height(); 548 h = mi->custom()->sizeHint().height();
549 if (!mi->custom()->fullSpan() ) 549 if (!mi->custom()->fullSpan() )
550 h += ITEMVMARGIN*2 + ITEMFRAME*2; 550 h += ITEMVMARGIN*2 + ITEMFRAME*2;
551 }else if (mi->isSeparator() ) { 551 }else if (mi->isSeparator() ) {
552 h = 1; 552 h = 1;
553 }else { 553 }else {
554 if ( mi->pixmap() ) { 554 if ( mi->pixmap() ) {
555 h = QMAX(h, mi->pixmap()->height() + ITEMFRAME*2); 555 h = QMAX(h, mi->pixmap()->height() + ITEMFRAME*2);
556 }else { 556 }else {
557 h = QMAX(h, MINICONSIZE+ITEMFRAME*2 ); 557 h = QMAX(h, MINICONSIZE+ITEMFRAME*2 );
558 h = QMAX(h, fm.height() 558 h = QMAX(h, fm.height()
559 + ITEMVMARGIN*2 + ITEMFRAME*2 ); 559 + ITEMVMARGIN*2 + ITEMFRAME*2 );
560 } 560 }
561 if ( mi->iconSet() ) 561 if ( mi->iconSet() )
562 h = QMAX(h, mi->iconSet()-> 562 h = QMAX(h, mi->iconSet()->
563 pixmap(QIconSet::Small, QIconSet::Normal ).height() 563 pixmap(QIconSet::Small, QIconSet::Normal ).height()
564 + ITEMFRAME*2 ); 564 + ITEMFRAME*2 );
565 } 565 }
566 566
567 567
568 return h; 568 return h;
569} 569}
570 570
571int PhaseStyle::extraPopupMenuItemWidth(bool checkable, int maxpmw, 571int PhaseStyle::extraPopupMenuItemWidth(bool checkable, int maxpmw,
572 QMenuItem* mi, const QFontMetrics& ) { 572 QMenuItem* mi, const QFontMetrics& ) {
573 int w = 0; 573 int w = 0;
574 if (mi->isSeparator() ) 574 if (mi->isSeparator() )
575 return 3; 575 return 3;
576 576
577 else if ( mi->pixmap() ) 577 else if ( mi->pixmap() )
578 w = mi->pixmap()->width(); 578 w = mi->pixmap()->width();
579 579
580 if (!mi->text().isNull() && 580 if (!mi->text().isNull() &&
581 mi->text().find('\t' ) >= 0 ) 581 mi->text().find('\t' ) >= 0 )
582 w += 12; 582 w += 12;
583 else if ( mi->popup() ) 583 else if ( mi->popup() )
584 w += 2*ARROWMARGIN; 584 w += 2*ARROWMARGIN;
585 585
586 if ( maxpmw ) 586 if ( maxpmw )
587 w += maxpmw +4; 587 w += maxpmw +4;
588 588
589 589
590 if ( maxpmw > 0 || checkable ) 590 if ( maxpmw > 0 || checkable )
591 w += ITEMHMARGIN*2+8; 591 w += ITEMHMARGIN*2+8;
592 592
593 w += RIGHTBORDER; 593 w += RIGHTBORDER;
594 return w; 594 return w;
595} 595}
596 596
597QSize PhaseStyle::indicatorSize()const { 597QSize PhaseStyle::indicatorSize()const {
598 return QSize( 11, 11 ); 598 return QSize( 11, 11 );
599} 599}
600 600
601QSize PhaseStyle::exclusiveIndicatorSize()const { 601QSize PhaseStyle::exclusiveIndicatorSize()const {
602 return QSize( 11, 11 ); 602 return QSize( 11, 11 );
603} 603}
604 604
605void PhaseStyle::getButtonShift( int &x, int &y ) { 605void PhaseStyle::getButtonShift( int &x, int &y ) {
606 x++; 606 x++;
607 y++; 607 y++;
608} 608}
609 609
610void PhaseStyle::drawPopupMenuItem ( QPainter * p, bool checkable, 610void PhaseStyle::drawPopupMenuItem ( QPainter * p, bool checkable,
611 int maxpmw,int tabwidth, 611 int maxpmw,int tabwidth,
612 QMenuItem * mi, const QPalette & pal, 612 QMenuItem * mi, const QPalette & pal,
613 bool act, bool enabled, int x, 613 bool act, bool enabled, int x,
614 int y, int w, int h ) { 614 int y, int w, int h ) {
615 if ( !mi ) 615 if ( !mi )
616 return; 616 return;
617 617
618 QRect rect(x, y, w, h ); 618 QRect rect(x, y, w, h );
619 int x2, y2; 619 int x2, y2;
620 x2 = rect.right(); 620 x2 = rect.right();
621 y2 = rect.bottom(); 621 y2 = rect.bottom();
622 const QColorGroup& g = pal.active(); 622 const QColorGroup& g = pal.active();
623 QColorGroup itemg = !enabled ? pal.disabled() : pal.active(); 623 QColorGroup itemg = !enabled ? pal.disabled() : pal.active();
624 624
625 if ( checkable || maxpmw ) maxpmw = QMAX(maxpmw, 20); 625 if ( checkable || maxpmw ) maxpmw = QMAX(maxpmw, 20);
626 626
627 if (act && enabled ) 627 if (act && enabled )
628 p->fillRect(x, y, w, h, g.highlight() ); 628 p->fillRect(x, y, w, h, g.highlight() );
629 else 629 else
630 p->fillRect(x, y, w, h, g.background() ); 630 p->fillRect(x, y, w, h, g.background() );
631 631
632 // draw seperator 632 // draw seperator
633 if (mi->isSeparator() ) { 633 if (mi->isSeparator() ) {
634 p->setPen( g.dark() ); 634 p->setPen( g.dark() );
635 p->drawLine( x+8, y+1, x+w-8, y+1 ); 635 p->drawLine( x+8, y+1, x+w-8, y+1 );
636 636
637 p->setPen( g.mid() ); 637 p->setPen( g.mid() );
638 p->drawLine( x+8, y, x+w-8, y ); 638 p->drawLine( x+8, y, x+w-8, y );
639 p->drawPoint(x+w,y+1); 639 p->drawPoint(x+w,y+1);
640 640
641 p->setPen( g.midlight() ); 641 p->setPen( g.midlight() );
642 p->drawLine( x+8, y-1, x+w-8, y-1 ); 642 p->drawLine( x+8, y-1, x+w-8, y-1 );
643 p->drawPoint(x+8, y ); 643 p->drawPoint(x+8, y );
644 return; 644 return;
645 } 645 }
646 646
647 // draw icon 647 // draw icon
648 QIconSet::Mode mode; 648 QIconSet::Mode mode;
649 if ( mi->iconSet() && !mi->isChecked() ) { 649 if ( mi->iconSet() && !mi->isChecked() ) {
650 if ( act ) 650 if ( act )
651 mode = enabled ? QIconSet::Active : QIconSet::Disabled; 651 mode = enabled ? QIconSet::Active : QIconSet::Disabled;
652 else 652 else
653 mode = enabled ? QIconSet::Normal : QIconSet::Disabled; 653 mode = enabled ? QIconSet::Normal : QIconSet::Disabled;
654 QPixmap pixmap = mi->iconSet()->pixmap(QIconSet::Small, mode ); 654 QPixmap pixmap = mi->iconSet()->pixmap(QIconSet::Small, mode );
655 QRect pmrect(0, 0, pixmap.width(), pixmap.height() ); 655 QRect pmrect(0, 0, pixmap.width(), pixmap.height() );
656 QRect cr(x, y, maxpmw, h ); 656 QRect cr(x, y, maxpmw, h );
657 pmrect.moveCenter( cr.center() ); 657 pmrect.moveCenter( cr.center() );
658 p->drawPixmap(pmrect.topLeft(), pixmap); 658 p->drawPixmap(pmrect.topLeft(), pixmap);
659 } 659 }
660 660
661 // draw check 661 // draw check
662 if(mi->isChecked() ) { 662 if(mi->isChecked() ) {
663 drawCheckMark(p, x, y, maxpmw, h, itemg, act, !enabled ); 663 drawCheckMark(p, x, y, maxpmw, h, itemg, act, !enabled );
664 } 664 }
665 665
666 666
667 // draw text 667 // draw text
668 int xm = maxpmw + 2; 668 int xm = maxpmw + 2;
669 int xp = x + xm; 669 int xp = x + xm;
670 int tw = w -xm - 2; 670 int tw = w -xm - 2;
671 671
672 p->setPen( enabled ? ( act ? g.highlightedText() : g.buttonText() ) : 672 p->setPen( enabled ? ( act ? g.highlightedText() : g.buttonText() ) :
673 g.mid() ); 673 g.mid() );
674 674
675 675
676 if ( mi->custom() ) { 676 if ( mi->custom() ) {
677 p->save(); 677 p->save();
678 mi->custom()->paint(p, g, act, enabled, 678 mi->custom()->paint(p, g, act, enabled,
679 xp, y+1, tw, h-2 ); 679 xp, y+1, tw, h-2 );
680 p->restore(); 680 p->restore();
681 }else { // draw label 681 }else { // draw label
682 QString text = mi->text(); 682 QString text = mi->text();
683 if (!text.isNull() ) { 683 if (!text.isNull() ) {
684 int t = text.find('\t'); 684 int t = text.find('\t');
685 const int tflags = AlignVCenter | DontClip | 685 const int tflags = AlignVCenter | DontClip |
686 ShowPrefix | SingleLine | 686 ShowPrefix | SingleLine |
687 AlignLeft; 687 AlignLeft;
688 688
689 if (t >= 0) { 689 if (t >= 0) {
690 int tabx = x + w - tabwidth - RIGHTBORDER - 690 int tabx = x + w - tabwidth - RIGHTBORDER -
691 ITEMHMARGIN - ITEMFRAME; 691 ITEMHMARGIN - ITEMFRAME;
692 p->drawText(tabx, y+ITEMVMARGIN, tabwidth, 692 p->drawText(tabx, y+ITEMVMARGIN, tabwidth,
693 h-2*ITEMVMARGIN, tflags, 693 h-2*ITEMVMARGIN, tflags,
694 text.mid(t+1) ); 694 text.mid(t+1) );
695 text = text.left(t ); 695 text = text.left(t );
696 } 696 }
697 697
698 // draw left label 698 // draw left label
699 p->drawText(xp, y+ITEMVMARGIN, 699 p->drawText(xp, y+ITEMVMARGIN,
700 tw, h-2*ITEMVMARGIN, 700 tw, h-2*ITEMVMARGIN,
701 tflags, text, t); 701 tflags, text, t);
702 }else if ( mi->pixmap() ) { // pixmap as label 702 }else if ( mi->pixmap() ) { // pixmap as label
703 QPixmap pixmap = *mi->pixmap(); 703 QPixmap pixmap = *mi->pixmap();
704 if ( pixmap.depth() == 1 ) 704 if ( pixmap.depth() == 1 )
705 p->setBackgroundMode( OpaqueMode ); 705 p->setBackgroundMode( OpaqueMode );
706 706
707 int dx = ((w-pixmap.width() ) /2 ) + 707 int dx = ((w-pixmap.width() ) /2 ) +
708 ((w - pixmap.width()) %2 ); 708 ((w - pixmap.width()) %2 );
709 p->drawPixmap(x+dx, y+ITEMFRAME, pixmap ); 709 p->drawPixmap(x+dx, y+ITEMFRAME, pixmap );
710 710
711 if ( pixmap.depth() == 1 ) 711 if ( pixmap.depth() == 1 )
712 p->setBackgroundMode( TransparentMode ); 712 p->setBackgroundMode( TransparentMode );
713 } 713 }
714 } 714 }
715 715
716 if ( mi->popup() ) { // draw submenu arrow 716 if ( mi->popup() ) { // draw submenu arrow
717 int dim = (h-2*ITEMFRAME) / 2; 717 int dim = (h-2*ITEMFRAME) / 2;
718 drawArrow( p, RightArrow, false, 718 drawArrow( p, RightArrow, false,
719 x+w-ARROWMARGIN-ITEMFRAME-dim, 719 x+w-ARROWMARGIN-ITEMFRAME-dim,
720 y+h/2-dim/2, dim, dim, g, enabled ); 720 y+h/2-dim/2, dim, dim, g, enabled );
721 } 721 }
722} 722}
723 723
724 724
725QRect PhaseStyle::comboButtonRect ( int x, int y, int w, int h ) { 725QRect PhaseStyle::comboButtonRect ( int x, int y, int w, int h ) {
726 return QRect(x+2, y+2, w-4-17, h-5 ); 726 return QRect(x+2, y+2, w-4-17, h-5 );
727} 727}
728 728
729void PhaseStyle::drawComboButton( QPainter * p, int x, int y, 729void PhaseStyle::drawComboButton( QPainter * p, int x, int y,
730 int w, int h, 730 int w, int h,
731 const QColorGroup & g, 731 const QColorGroup & g,
732 bool sunken, 732 bool sunken,
733 bool editable, 733 bool editable,
734 bool, 734 bool,
735 const QBrush *) { 735 const QBrush *) {
736 drawButton(p, x, y, w, h, g, 736 drawButton(p, x, y, w, h, g,
737 sunken, &g.brush(QColorGroup::Button )); 737 sunken, &g.brush(QColorGroup::Button ));
738 738
739 for ( int n = 0; n < 2; ++n ) 739 for ( int n = 0; n < 2; ++n )
740 kColorBitmaps(p, g, w-16+(6*n), y+(h/2)-2, 740 kColorBitmaps(p, g, w-16+(6*n), y+(h/2)-2,
741 0, &doodad_mid, &doodad_light, 0, 0, 0 ); 741 0, &doodad_mid, &doodad_light, 0, 0, 0 );
742 742
743 743
744 if (editable ) { 744 if (editable ) {
745 const int x2 = x+w-1; const int y2 = y+h-1; 745 const int x2 = x+w-1; const int y2 = y+h-1;
746 p->setPen(g.dark()); 746 p->setPen(g.dark());
747 p->drawLine(x2+1, y, x2+1, y2); 747 p->drawLine(x2+1, y, x2+1, y2);
748 p->setPen(g.midlight()); 748 p->setPen(g.midlight());
749 p->drawLine(x2+2, y, x2+2, y2-1); 749 p->drawLine(x2+2, y, x2+2, y2-1);
750 p->setPen(g.button()); 750 p->setPen(g.button());
751 p->drawPoint(x2+2, y2); 751 p->drawPoint(x2+2, y2);
752 } 752 }
753 753
754 p->setPen(g.buttonText() ); 754 p->setPen(g.buttonText() );
755} 755}
756 756
757void PhaseStyle::tabbarMetrics( const QTabBar* t, int &hframe, int &vframe, int& ov ) {
758 QCommonStyle::tabbarMetrics( t, hframe, vframe, ov );
759 hframe -= 2;
760 vframe += 1;
761}
762
757 763
758void PhaseStyle::drawTab(QPainter* painter, const QTabBar* bar, QTab* tab, 764void PhaseStyle::drawTab(QPainter* painter, const QTabBar* bar, QTab* tab,
759 bool selected ) { 765 bool selected ) {
760 bool edge = false; 766 bool edge = false;
761 int x, y, w, h; 767 int x, y, w, h;
762 QRect r = tab->rect(); 768 QRect r = tab->rect();
763 r.rect(&x,&y,&w,&h); 769 r.rect(&x,&y,&w,&h);
764 const int x2 = x+w-1; 770 const int x2 = x+w-1;
765 const int y2 = y+h-1; 771 const int y2 = y+h-1;
766 const QColorGroup &group = bar->colorGroup(); 772 const QColorGroup &group = bar->colorGroup();
767 773
768 774
769 painter->save(); 775 painter->save();
770 776
771 // what position is the tab? 777 // what position is the tab?
772 if ((bar->count() == 1 )) 778 if ((bar->count() == 1 ))
773 edge = true; 779 edge = true;
774 else 780 else
775 edge = false; 781 edge = false;
776 782
777 switch (QTabBar::Shape(bar->shape())) { 783 switch (QTabBar::Shape(bar->shape())) {
778 case QTabBar::RoundedAbove: 784 case QTabBar::RoundedAbove:
779 case QTabBar::TriangularAbove: { 785 case QTabBar::TriangularAbove: {
780 if (!selected) { // shorten 786 if (!selected) { // shorten
781 y += 2; h -= 2; 787 y += 2; h -= 2;
782 } 788 }
783 if (selected) { 789 if (selected) {
784 painter->setPen(Qt::NoPen); 790 painter->setPen(Qt::NoPen);
785 painter->fillRect(x+1, y+1, w-1, h-1, 791 painter->fillRect(x+1, y+1, w-1, h-1,
786 group.brush(QColorGroup::Background)); 792 group.brush(QColorGroup::Background));
787 } else 793 } else
788 drawPhaseGradient(painter, QRect(x+1, y+1, w-1, h-2), 794 drawPhaseGradient(painter, QRect(x+1, y+1, w-1, h-2),
789 group.background().dark(contrast) ); 795 group.background().dark(contrast) );
790 796
791 797
792 // draw tab 798 // draw tab
793 painter->setPen(group.dark()); 799 painter->setPen(group.dark());
794 painter->drawLine(x, y, x, y2-2); 800 painter->drawLine(x, y, x, y2-2);
795 painter->drawLine(x+1, y, x2, y); 801 painter->drawLine(x+1, y, x2, y);
796 painter->drawLine(x2, y+1, x2, y2-2); 802 painter->drawLine(x2, y+1, x2, y2-2);
797 803
798 painter->setPen(group.mid()); 804 painter->setPen(group.mid());
799 painter->drawLine(x2-1, y+2, x2-1, y2-2); 805 painter->drawLine(x2-1, y+2, x2-1, y2-2);
800 806
801 painter->setPen(group.midlight()); 807 painter->setPen(group.midlight());
802 painter->drawLine(x+1, y+1, x2-2, y+1); 808 painter->drawLine(x+1, y+1, x2-2, y+1);
803 if ((selected) || edge) painter->drawLine(x+1, y+2, x+1, y2-2); 809 if ((selected) || edge) painter->drawLine(x+1, y+2, x+1, y2-2);
804 810
805 // finish off bottom 811 // finish off bottom
806 if (selected) { 812 if (selected) {
807 painter->setPen(group.dark()); 813 painter->setPen(group.dark());
808 painter->drawPoint(x, y2-1); 814 painter->drawPoint(x, y2-1);
809 painter->drawPoint(x2, y2-1); 815 painter->drawPoint(x2, y2-1);
810 816
811 painter->setPen(group.midlight()); 817 painter->setPen(group.midlight());
812 painter->drawPoint(x, y2); 818 painter->drawPoint(x, y2);
813 painter->drawLine(x+1, y2-1, x+1, y2); 819 painter->drawLine(x+1, y2-1, x+1, y2);
814 painter->drawPoint(x2, y2); 820 painter->drawPoint(x2, y2);
815 821
816 painter->setPen(group.mid()); 822 painter->setPen(group.mid());
817 painter->drawPoint(x2-1, y2-1); 823 painter->drawPoint(x2-1, y2-1);
818 824
819 if (edge) { 825 if (edge) {
820 painter->setPen(group.dark()); 826 painter->setPen(group.dark());
821 painter->drawLine(x, y2-1, x, y2); 827 painter->drawLine(x, y2-1, x, y2);
822 painter->setPen(group.midlight()); 828 painter->setPen(group.midlight());
823 painter->drawPoint(x+1, y2); 829 painter->drawPoint(x+1, y2);
824 } 830 }
825 } else { 831 } else {
826 painter->setPen(group.dark()); 832 painter->setPen(group.dark());
827 painter->drawLine(x, y2-1, x2, y2-1); 833 painter->drawLine(x, y2-1, x2, y2-1);
828 834
829 painter->setPen(group.midlight()); 835 painter->setPen(group.midlight());
830 painter->drawLine(x, y2, x2, y2); 836 painter->drawLine(x, y2, x2, y2);
831 837
832 if (edge) { 838 if (edge) {
833 painter->setPen(group.dark()); 839 painter->setPen(group.dark());
834 painter->drawLine(x, y2-1, x, y2); 840 painter->drawLine(x, y2-1, x, y2);
835 } 841 }
836 } 842 }
837 break; 843 break;
838 } 844 }
839 case QTabBar::RoundedBelow: 845 case QTabBar::RoundedBelow:
840 case QTabBar::TriangularBelow: { 846 case QTabBar::TriangularBelow: {
841 painter->setBrush( group.background().dark(contrast)); 847 painter->setBrush( group.background().dark(contrast));
842 painter->setPen(Qt::NoPen); 848 painter->setPen(Qt::NoPen);
843 painter->fillRect(x+1, y+1, w-1, h-1, painter->brush()); 849 painter->fillRect(x+1, y+1, w-1, h-1, painter->brush());
844 850
845 // draw tab 851 // draw tab
846 painter->setPen(group.dark()); 852 painter->setPen(group.dark());
847 painter->drawLine(x, y+1, x, y2); 853 painter->drawLine(x, y+1, x, y2);
848 painter->drawLine(x+1, y2, x2, y2); 854 painter->drawLine(x+1, y2, x2, y2);
849 painter->drawLine(x2, y+1, x2, y2-1); 855 painter->drawLine(x2, y+1, x2, y2-1);
850 856
851 painter->setPen(group.mid()); 857 painter->setPen(group.mid());
852 painter->drawLine(x2-1, y+1, x2-1, y2-1); 858 painter->drawLine(x2-1, y+1, x2-1, y2-1);
853 painter->drawLine(x+2, y2-1, x2-1, y2-1); 859 painter->drawLine(x+2, y2-1, x2-1, y2-1);
854 painter->drawPoint(x, y); 860 painter->drawPoint(x, y);
855 painter->drawPoint(x2, y); 861 painter->drawPoint(x2, y);
856 862
857 if ((selected) || edge) { 863 if ((selected) || edge) {
858 painter->setPen(group.midlight()); 864 painter->setPen(group.midlight());
859 painter->drawLine(x+1, y+1, x+1, y2-2); 865 painter->drawLine(x+1, y+1, x+1, y2-2);
860 } 866 }
861 867
862 // finish off top 868 // finish off top
863 if (selected) { 869 if (selected) {
864 if (edge) { 870 if (edge) {
865 painter->setPen(group.dark()); 871 painter->setPen(group.dark());
866 painter->drawPoint(x, y); 872 painter->drawPoint(x, y);
867 painter->setPen(group.midlight()); 873 painter->setPen(group.midlight());
868 painter->drawPoint(x+1, y); 874 painter->drawPoint(x+1, y);
869 } 875 }
870 } else { 876 } else {
871 painter->setPen(group.dark()); 877 painter->setPen(group.dark());
872 painter->drawLine(x, y+1, x2, y+1); 878 painter->drawLine(x, y+1, x2, y+1);
873 879
874 painter->setPen(group.mid()); 880 painter->setPen(group.mid());
875 painter->drawLine(x, y, x2, y); 881 painter->drawLine(x, y, x2, y);
876 882
877 if (edge) { 883 if (edge) {
878 painter->setPen(group.dark()); 884 painter->setPen(group.dark());
879 painter->drawPoint(x, y); 885 painter->drawPoint(x, y);
880 } 886 }
881 } 887 }
882 break; 888 break;
883 } 889 }
884 } 890 }
885 891
886 painter->restore(); 892 painter->restore();
887} 893}
888 894
889void PhaseStyle::drawTabMask( QPainter* p, const QTabBar*, QTab* tab, 895void PhaseStyle::drawTabMask( QPainter* p, const QTabBar*, QTab* tab,
890 bool ) { 896 bool ) {
891 p->fillRect(tab->rect(), Qt::color1); 897 p->fillRect(tab->rect(), Qt::color1);
892} 898}
893 899
894void PhaseStyle::drawToolButton(QPainter * p, int x, int y, 900void PhaseStyle::drawToolButton(QPainter * p, int x, int y,
895 int w, int h, const QColorGroup & g, 901 int w, int h, const QColorGroup & g,
896 bool sunken, 902 bool sunken,
897 const QBrush * fill ) { 903 const QBrush * fill ) {
898 QRect r(x, y, w, h ); 904 QRect r(x, y, w, h );
899 p->fillRect(r, g.background()); 905 p->fillRect(r, g.background());
900 906
901 drawPanel(p, x, y, w, h, g, sunken, 1, 907 drawPanel(p, x, y, w, h, g, sunken, 1,
902 fill ? fill : &g.brush(QColorGroup::Button) ); 908 fill ? fill : &g.brush(QColorGroup::Button) );
903 909
904 910
905 p->setPen(g.text() ); 911 p->setPen(g.text() );
906} 912}
907 913
908 914
909/* 915/*
910 * LGPLv2 Copyright (C) 2001 Rik Hemsley (rikkus) <rik@kde.org> 916 * LGPLv2 Copyright (C) 2001 Rik Hemsley (rikkus) <rik@kde.org>
911 * 917 *
912 * ../web/webstyle.cpp 918 * ../web/webstyle.cpp
913 */ 919 */
914void PhaseStyle::scrollBarMetrics(const QScrollBar* sb, int& sliderMin, 920void PhaseStyle::scrollBarMetrics(const QScrollBar* sb, int& sliderMin,
915 int& sliderMax, int &sliderLength, 921 int& sliderMax, int &sliderLength,
916 int& buttonDim ) { 922 int& buttonDim ) {
917 int maxlen; 923 int maxlen;
918 bool horizontal = sb->orientation() == QScrollBar::Horizontal; 924 bool horizontal = sb->orientation() == QScrollBar::Horizontal;
919 int len = (horizontal) ? sb->width() : sb->height(); 925 int len = (horizontal) ? sb->width() : sb->height();
920 int extent = (horizontal) ? sb->height() : sb->width(); 926 int extent = (horizontal) ? sb->height() : sb->width();
921 927
922 if (len > (extent - 1) * 2) 928 if (len > (extent - 1) * 2)
923 buttonDim = extent; 929 buttonDim = extent;
924 else 930 else
925 buttonDim = len / 2 - 1; 931 buttonDim = len / 2 - 1;
926 932
927 if (horizontal) 933 if (horizontal)
928 sliderMin = buttonDim * 2; 934 sliderMin = buttonDim * 2;
929 else 935 else
930 sliderMin = 1; 936 sliderMin = 1;
931 937
932 maxlen = len - buttonDim * 2 - 1; 938 maxlen = len - buttonDim * 2 - 1;
933 int div = QMAX(1, (sb->maxValue() - sb->minValue() + sb->pageStep() ) ); 939 int div = QMAX(1, (sb->maxValue() - sb->minValue() + sb->pageStep() ) );
934 940
935 sliderLength = 941 sliderLength =
936 (sb->pageStep() * maxlen) / div; 942 (sb->pageStep() * maxlen) / div;
937 943
938 if (sliderLength < SCROLLBAR_EXTENT) 944 if (sliderLength < SCROLLBAR_EXTENT)
939 sliderLength = SCROLLBAR_EXTENT; 945 sliderLength = SCROLLBAR_EXTENT;
940 946
941 if (sliderLength > maxlen) 947 if (sliderLength > maxlen)
942 sliderLength = maxlen; 948 sliderLength = maxlen;
943 949
944 sliderMax = sliderMin + maxlen - sliderLength; 950 sliderMax = sliderMin + maxlen - sliderLength;
945} 951}
946 952
947void PhaseStyle::drawScrollBarControls( QPainter* p, const QScrollBar *sb, 953void PhaseStyle::drawScrollBarControls( QPainter* p, const QScrollBar *sb,
948 int sliderStart, uint controls, 954 int sliderStart, uint controls,
949 uint activeControl) { 955 uint activeControl) {
950 const bool horizontal = (sb->orientation() == Qt::Horizontal ); 956 const bool horizontal = (sb->orientation() == Qt::Horizontal );
951 int sliderMin, sliderMax, sliderLength, buttonDim; 957 int sliderMin, sliderMax, sliderLength, buttonDim;
952 const QColorGroup& g = sb->colorGroup(); 958 const QColorGroup& g = sb->colorGroup();
953 QRect sub, add, subPage, addPage, slider; 959 QRect sub, add, subPage, addPage, slider;
954 int x, y, x2, y2; 960 int x, y, x2, y2;
955 961
956 scrollBarMetrics( sb, sliderMin, sliderMax, sliderLength, buttonDim ); 962 scrollBarMetrics( sb, sliderMin, sliderMax, sliderLength, buttonDim );
957 963
958 /* lets get the positions */ 964 /* lets get the positions */
959 scrollBarItemPositions(sb, horizontal, sliderStart, 965 scrollBarItemPositions(sb, horizontal, sliderStart,
960 sliderMax, sliderLength, buttonDim, 966 sliderMax, sliderLength, buttonDim,
961 sub, add, subPage, addPage, 967 sub, add, subPage, addPage,
962 slider ); 968 slider );
963 969
964 970
965 /* sanity */ 971 /* sanity */
966 if ( sliderStart > sliderMax ) 972 if ( sliderStart > sliderMax )
967 sliderStart = sliderMax; 973 sliderStart = sliderMax;
968 974
969 // addline 975 // addline
970 if ( controls & AddLine && add.isValid() ) { 976 if ( controls & AddLine && add.isValid() ) {
971 x = add.x(); y = add.y(); 977 x = add.x(); y = add.y();
972 x2 = add.width(); y2 = add.height(); 978 x2 = add.width(); y2 = add.height();
973 const bool down = (activeControl & AddLine ); 979 const bool down = (activeControl & AddLine );
974 drawBevelButton(p, x, y, x2, y2, g, down, 980 drawBevelButton(p, x, y, x2, y2, g, down,
975 &g.brush(QColorGroup::Button)); 981 &g.brush(QColorGroup::Button));
976 982
977 Qt::ArrowType arrow = horizontal ? RightArrow : DownArrow; 983 Qt::ArrowType arrow = horizontal ? RightArrow : DownArrow;
978 if (down ) { 984 if (down ) {
979 switch (arrow ) { 985 switch (arrow ) {
980 case DownArrow: y++; break; 986 case DownArrow: y++; break;
981 case RightArrow: x++; break; 987 case RightArrow: x++; break;
982 default: break; 988 default: break;
983 } 989 }
984 } 990 }
985 drawArrow( p, arrow, down, x, y, x2, y2, g, true ); 991 drawArrow( p, arrow, down, x, y, x2, y2, g, true );
986 } 992 }
987 993
988 if ( controls & SubLine && sub.isValid() ) { 994 if ( controls & SubLine && sub.isValid() ) {
989 x = sub.x(); y = sub.y(); 995 x = sub.x(); y = sub.y();
990 x2 = sub.width(); y2 = sub.height(); 996 x2 = sub.width(); y2 = sub.height();
991 const bool down = (activeControl & SubLine ); 997 const bool down = (activeControl & SubLine );
992 drawBevelButton(p, x, y, x2, y2, g, down, 998 drawBevelButton(p, x, y, x2, y2, g, down,
993 &g.brush(QColorGroup::Button)); 999 &g.brush(QColorGroup::Button));
994 1000
995 Qt::ArrowType arrow = horizontal ? LeftArrow : UpArrow; 1001 Qt::ArrowType arrow = horizontal ? LeftArrow : UpArrow;
996 if (down ) { 1002 if (down ) {
997 switch (arrow ) { 1003 switch (arrow ) {
998 case UpArrow: y--; break; 1004 case UpArrow: y--; break;
999 case LeftArrow: x--; break; 1005 case LeftArrow: x--; break;
1000 default: break; 1006 default: break;
1001 } 1007 }
1002 } 1008 }
1003 drawArrow( p, arrow, down, x, y, x2, y2, g, true ); 1009 drawArrow( p, arrow, down, x, y, x2, y2, g, true );
1004 } 1010 }
1005 1011
1006 if ( controls & AddPage && addPage.isValid() ) { 1012 if ( controls & AddPage && addPage.isValid() ) {
1007 x = addPage.x(); y = addPage.y(); 1013 x = addPage.x(); y = addPage.y();
1008 x2 = addPage.right(); y2 = addPage.bottom(); 1014 x2 = addPage.right(); y2 = addPage.bottom();
1009 1015
1010 p->fillRect(addPage, g.mid()); 1016 p->fillRect(addPage, g.mid());
1011 p->setPen(g.dark()); 1017 p->setPen(g.dark());
1012 if (horizontal) { // vertical 1018 if (horizontal) { // vertical
1013 p->drawLine(x, y, x2, y); 1019 p->drawLine(x, y, x2, y);
1014 p->drawLine(x, y2, x2, y2); 1020 p->drawLine(x, y2, x2, y2);
1015 } else { // horizontal 1021 } else { // horizontal
1016 p->drawLine(x, y, x, y2); 1022 p->drawLine(x, y, x, y2);
1017 p->drawLine(x2, y, x2, y2); 1023 p->drawLine(x2, y, x2, y2);
1018 } 1024 }
1019 } 1025 }
1020 1026
1021 if ( controls & SubPage && subPage.isValid() ) { 1027 if ( controls & SubPage && subPage.isValid() ) {
1022 x = subPage.x(); y = subPage.y(); 1028 x = subPage.x(); y = subPage.y();
1023 x2 = subPage.right(); y2 = subPage.bottom(); 1029 x2 = subPage.right(); y2 = subPage.bottom();
1024 1030
1025 p->fillRect(subPage, g.mid()); 1031 p->fillRect(subPage, g.mid());
1026 p->setPen(g.dark()); 1032 p->setPen(g.dark());
1027 if (horizontal) { // vertical 1033 if (horizontal) { // vertical
1028 p->drawLine(x, y, x2, y); 1034 p->drawLine(x, y, x2, y);
1029 p->drawLine(x, y2, x2, y2); 1035 p->drawLine(x, y2, x2, y2);
1030 } else { // horizontal 1036 } else { // horizontal
1031 p->drawLine(x, y, x, y2); 1037 p->drawLine(x, y, x, y2);
1032 p->drawLine(x2, y, x2, y2); 1038 p->drawLine(x2, y, x2, y2);
1033 } 1039 }
1034} 1040}
1035 1041
1036 if ( controls & Slider && slider.isValid() ) { 1042 if ( controls & Slider && slider.isValid() ) {
1037 x = slider.x(); y = slider.y(); 1043 x = slider.x(); y = slider.y();
1038 x2 = slider.width(); y2 = slider.height(); 1044 x2 = slider.width(); y2 = slider.height();
1039 const bool down = ( activeControl & Slider ); 1045 const bool down = ( activeControl & Slider );
1040 int cx = x + x2/2 -2; int cy = y + y2/2 -2; 1046 int cx = x + x2/2 -2; int cy = y + y2/2 -2;
1041 1047
1042 drawBevelButton(p, x, y, x2, y2, g, down, 1048 drawBevelButton(p, x, y, x2, y2, g, down,
1043 &g.brush(QColorGroup::Button) ); 1049 &g.brush(QColorGroup::Button) );
1044 1050
1045 if (horizontal && (x2 >=20)) { 1051 if (horizontal && (x2 >=20)) {
1046 for (int n = -5; n <= 5; n += 5) 1052 for (int n = -5; n <= 5; n += 5)
1047 kColorBitmaps(p, g, cx+n, cy, 1053 kColorBitmaps(p, g, cx+n, cy,
1048 0, &doodad_mid, &doodad_light, 0, 0, 0); 1054 0, &doodad_mid, &doodad_light, 0, 0, 0);
1049 } else if (!horizontal && (y2 >= 20)) { 1055 } else if (!horizontal && (y2 >= 20)) {
1050 for (int n = -5; n <= 5; n += 5) 1056 for (int n = -5; n <= 5; n += 5)
1051 kColorBitmaps(p, g, cx, cy+n, 1057 kColorBitmaps(p, g, cx, cy+n,
1052 0, &doodad_mid, &doodad_light, 0, 0, 0); 1058 0, &doodad_mid, &doodad_light, 0, 0, 0);
1053 } 1059 }
1054 1060
1055 if ( sb->hasFocus() && down ) { 1061 if ( sb->hasFocus() && down ) {
1056 slider = QRect(slider.x()+2, slider.y()+2, 1062 slider = QRect(slider.x()+2, slider.y()+2,
1057 slider.width()-2, slider.height()-2 ); 1063 slider.width()-2, slider.height()-2 );
1058 drawFocusRect(p, slider, g, false ); 1064 drawFocusRect(p, slider, g, false );
1059 } 1065 }
1060 1066
1061 } 1067 }
1062} 1068}
1063 1069
1064/* 1070/*
1065 * LGPLv2 Copyright (C) 2001 Rik Hemsley (rikkus) <rik@kde.org> 1071 * LGPLv2 Copyright (C) 2001 Rik Hemsley (rikkus) <rik@kde.org>
1066 * 1072 *
1067 * ../web/webstyle.cpp 1073 * ../web/webstyle.cpp
1068 */ 1074 */
1069QStyle::ScrollControl PhaseStyle::scrollBarPointOver( const QScrollBar * sb, 1075QStyle::ScrollControl PhaseStyle::scrollBarPointOver( const QScrollBar * sb,
1070 int sliderStart, 1076 int sliderStart,
1071 const QPoint & point ) { 1077 const QPoint & point ) {
1072 if (!sb->rect().contains(point)) 1078 if (!sb->rect().contains(point))
1073 return NoScroll; 1079 return NoScroll;
1074 1080
1075 int sliderMin, sliderMax, sliderLength, buttonDim; 1081 int sliderMin, sliderMax, sliderLength, buttonDim;
1076 scrollBarMetrics(sb, sliderMin, sliderMax, sliderLength, buttonDim); 1082 scrollBarMetrics(sb, sliderMin, sliderMax, sliderLength, buttonDim);
1077 1083
1078 if (sb->orientation() == QScrollBar::Horizontal) { 1084 if (sb->orientation() == QScrollBar::Horizontal) {
1079 int x = point.x(); 1085 int x = point.x();
1080 1086
1081 if (x <= buttonDim) 1087 if (x <= buttonDim)
1082 return SubLine; 1088 return SubLine;
1083 else if (x <= buttonDim * 2) 1089 else if (x <= buttonDim * 2)
1084 return AddLine; 1090 return AddLine;
1085 else if (x < sliderStart) 1091 else if (x < sliderStart)
1086 return SubPage; 1092 return SubPage;
1087 else if (x < sliderStart+sliderLength) 1093 else if (x < sliderStart+sliderLength)
1088 return Slider; 1094 return Slider;
1089 else 1095 else
1090 return AddPage; 1096 return AddPage;
1091 } else { 1097 } else {
1092 int y = point.y(); 1098 int y = point.y();
1093 1099
1094 if (y < sliderStart) 1100 if (y < sliderStart)
1095 return SubPage; 1101 return SubPage;
1096 else if (y < sliderStart + sliderLength) 1102 else if (y < sliderStart + sliderLength)
1097 return Slider; 1103 return Slider;
1098 else if (y < sliderMax + sliderLength) 1104 else if (y < sliderMax + sliderLength)
1099 return AddPage; 1105 return AddPage;
1100 else if (y < sliderMax + sliderLength + buttonDim) 1106 else if (y < sliderMax + sliderLength + buttonDim)
1101 return SubLine; 1107 return SubLine;
1102 else 1108 else
1103 return AddLine; 1109 return AddLine;
1104 } 1110 }
1105} 1111}
1106 1112
1107/* 1113/*
1108 * LGPLv2 Copyright (C) 2001 Rik Hemsley (rikkus) <rik@kde.org> 1114 * LGPLv2 Copyright (C) 2001 Rik Hemsley (rikkus) <rik@kde.org>
1109 * 1115 *
1110 * ../web/webstyle.cpp 1116 * ../web/webstyle.cpp
1111 * scrollBarControlsMetrics 1117 * scrollBarControlsMetrics
1112 */ 1118 */
1113void PhaseStyle::scrollBarItemPositions( const QScrollBar* sb, const bool horizontal, 1119void PhaseStyle::scrollBarItemPositions( const QScrollBar* sb, const bool horizontal,
1114 int sliderStart, int sliderMax, 1120 int sliderStart, int sliderMax,
1115 int sliderLength, int buttonDim, 1121 int sliderLength, int buttonDim,
1116 QRect &rSub, QRect& rAdd, QRect& rSubPage, 1122 QRect &rSub, QRect& rAdd, QRect& rSubPage,
1117 QRect &rAddPage, QRect& rSlider ) { 1123 QRect &rAddPage, QRect& rSlider ) {
1118 1124
1119 int len = horizontal ? sb->width() : sb->height(); 1125 int len = horizontal ? sb->width() : sb->height();
1120 int extent = horizontal ? sb->height() : sb->width(); 1126 int extent = horizontal ? sb->height() : sb->width();
1121 1127
1122 QColorGroup g = sb->colorGroup(); 1128 QColorGroup g = sb->colorGroup();
1123 1129
1124 if (sliderStart > sliderMax) 1130 if (sliderStart > sliderMax)
1125 sliderStart = sliderMax; 1131 sliderStart = sliderMax;
1126 1132
1127 int sliderEnd = sliderStart + sliderLength; 1133 int sliderEnd = sliderStart + sliderLength;
1128 1134
1129 int addX, addY; 1135 int addX, addY;
1130 int subX, subY; 1136 int subX, subY;
1131 int subPageX, subPageY, subPageW, subPageH; 1137 int subPageX, subPageY, subPageW, subPageH;
1132 int addPageX, addPageY, addPageW, addPageH; 1138 int addPageX, addPageY, addPageW, addPageH;
1133 int sliderX, sliderY, sliderW, sliderH; 1139 int sliderX, sliderY, sliderW, sliderH;
1134 1140
1135 if (horizontal){ 1141 if (horizontal){
1136 subY = 0; 1142 subY = 0;
1137 addY = 0; 1143 addY = 0;
1138 subX = 0; 1144 subX = 0;
1139 addX = buttonDim; 1145 addX = buttonDim;
1140 1146
1141 subPageX = buttonDim * 2; 1147 subPageX = buttonDim * 2;
1142 subPageY = 0; 1148 subPageY = 0;
1143 subPageW = sliderStart - 1; 1149 subPageW = sliderStart - 1;
1144 subPageH = extent; 1150 subPageH = extent;
1145 1151
1146 addPageX = sliderEnd; 1152 addPageX = sliderEnd;
1147 addPageY = 0; 1153 addPageY = 0;
1148 addPageW = len - sliderEnd; 1154 addPageW = len - sliderEnd;
1149 addPageH = extent; 1155 addPageH = extent;
1150 1156
1151 sliderX = sliderStart; 1157 sliderX = sliderStart;
1152 sliderY = 0; 1158 sliderY = 0;
1153 sliderW = sliderLength; 1159 sliderW = sliderLength;
1154 sliderH = extent; 1160 sliderH = extent;
1155 }else { 1161 }else {
1156 subX = 0; 1162 subX = 0;
1157 addX = 0; 1163 addX = 0;
1158 subY = len - buttonDim * 2; 1164 subY = len - buttonDim * 2;
1159 addY = len - buttonDim; 1165 addY = len - buttonDim;
1160 1166
1161 subPageX = 0; 1167 subPageX = 0;
1162 subPageY = 0; 1168 subPageY = 0;
1163 subPageW = extent; 1169 subPageW = extent;
1164 subPageH = sliderStart; 1170 subPageH = sliderStart;
1165 1171
1166 addPageX = 0; 1172 addPageX = 0;
1167 addPageY = sliderEnd; 1173 addPageY = sliderEnd;
1168 addPageW = extent; 1174 addPageW = extent;
1169 addPageH = subY - sliderEnd; 1175 addPageH = subY - sliderEnd;
1170 1176
1171 sliderX = 0; 1177 sliderX = 0;
1172 sliderY = sliderStart; 1178 sliderY = sliderStart;
1173 sliderW = extent; 1179 sliderW = extent;
1174 sliderH = sliderLength; 1180 sliderH = sliderLength;
1175 } 1181 }
1176 1182
1177 rSub .setRect( subX, subY, buttonDim, buttonDim); 1183 rSub .setRect( subX, subY, buttonDim, buttonDim);
1178 rAdd .setRect( addX, addY, buttonDim, buttonDim); 1184 rAdd .setRect( addX, addY, buttonDim, buttonDim);
1179 rSubPage .setRect(subPageX, subPageY, subPageW, subPageH); 1185 rSubPage .setRect(subPageX, subPageY, subPageW, subPageH);
1180 rAddPage .setRect(addPageX, addPageY, addPageW, addPageH); 1186 rAddPage .setRect(addPageX, addPageY, addPageW, addPageH);
1181 rSlider .setRect( sliderX, sliderY, sliderW, sliderH); 1187 rSlider .setRect( sliderX, sliderY, sliderW, sliderH);
1182 1188
1183} 1189}
1184 1190
1185 1191
1186void PhaseStyle::drawSlider (QPainter * p, int x, int y, 1192void PhaseStyle::drawSlider (QPainter * p, int x, int y,
1187 int w, int h, const QColorGroup &g, 1193 int w, int h, const QColorGroup &g,
1188 Orientation o, bool, bool ) { 1194 Orientation o, bool, bool ) {
1189 int cx = x + w/2; 1195 int cx = x + w/2;
1190 int cy = y + h/2; 1196 int cy = y + h/2;
1191 QBrush brush = g.brush( QColorGroup::Button ); 1197 QBrush brush = g.brush( QColorGroup::Button );
1192 1198
1193 if ( o == Horizontal ) { 1199 if ( o == Horizontal ) {
1194 drawBevelButton(p, cx-5, y, 6, h, g, false, 1200 drawBevelButton(p, cx-5, y, 6, h, g, false,
1195 &brush ); 1201 &brush );
1196 drawBevelButton(p, cx, y, 6, h, g, false, 1202 drawBevelButton(p, cx, y, 6, h, g, false,
1197 &brush ); 1203 &brush );
1198 }else { 1204 }else {
1199 drawBevelButton(p, x, cy-5, w, 6, g, false, 1205 drawBevelButton(p, x, cy-5, w, 6, g, false,
1200 &brush ); 1206 &brush );
1201 drawBevelButton(p, x, cy, w, 6, g, false, 1207 drawBevelButton(p, x, cy, w, 6, g, false,
1202 &brush ); 1208 &brush );
1203 } 1209 }
1204} 1210}
1205 1211
1206void PhaseStyle::drawSliderGroove(QPainter* p, int x, int y, 1212void PhaseStyle::drawSliderGroove(QPainter* p, int x, int y,
1207 int w, int h, const QColorGroup& g, 1213 int w, int h, const QColorGroup& g,
1208 QCOORD , Orientation o ) { 1214 QCOORD , Orientation o ) {
1209 int cx = x + w/2; 1215 int cx = x + w/2;
1210 int cy = y + h/2; 1216 int cy = y + h/2;
1211 1217
1212 if ( o == Horizontal ) { 1218 if ( o == Horizontal ) {
1213 y = cy-3; h = 7; 1219 y = cy-3; h = 7;
1214 }else { 1220 }else {
1215 x = cx-3; w = 7; 1221 x = cx-3; w = 7;
1216 } 1222 }
1217 1223
1218 drawPanel(p, x, y, w, h, g, true, 1, 1224 drawPanel(p, x, y, w, h, g, true, 1,
1219 &g.brush(QColorGroup::Mid ) ); 1225 &g.brush(QColorGroup::Mid ) );
1220} 1226}
diff --git a/noncore/styles/phase/phasestyle.h b/noncore/styles/phase/phasestyle.h
index ab593e6..cbaa534 100644
--- a/noncore/styles/phase/phasestyle.h
+++ b/noncore/styles/phase/phasestyle.h
@@ -1,166 +1,167 @@
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#ifndef PHASESTYLE_H 27#ifndef PHASESTYLE_H
28#define PHASESTYLE_H 28#define PHASESTYLE_H
29 29
30#include <qstyle.h> 30#include <qstyle.h>
31#include <qwindowsstyle.h> 31#include <qwindowsstyle.h>
32#include <qcolor.h> 32#include <qcolor.h>
33 33
34class KPixmap; 34class KPixmap;
35 35
36class PhaseStyle : public QWindowsStyle 36class PhaseStyle : public QWindowsStyle
37{ 37{
38 Q_OBJECT 38 Q_OBJECT
39public: 39public:
40 PhaseStyle(); 40 PhaseStyle();
41 virtual ~PhaseStyle(); 41 virtual ~PhaseStyle();
42 42
43 void polish( QWidget * ); 43 void polish( QWidget * );
44 void polish( QPalette& ); 44 void polish( QPalette& );
45 void polish( QApplication* ); 45 void polish( QApplication* );
46 46
47 47
48 void drawCheckMark ( QPainter * p, int x, int y, int w, 48 void drawCheckMark ( QPainter * p, int x, int y, int w,
49 int h, const QColorGroup & g, 49 int h, const QColorGroup & g,
50 bool act, bool dis ); 50 bool act, bool dis );
51 void drawArrow(QPainter *p, Qt::ArrowType type, bool down, 51 void drawArrow(QPainter *p, Qt::ArrowType type, bool down,
52 int x, int y, int w, int h, const QColorGroup &g, 52 int x, int y, int w, int h, const QColorGroup &g,
53 bool enabled=true, const QBrush *fill = 0); 53 bool enabled=true, const QBrush *fill = 0);
54 54
55 void drawPushButton(QPushButton* btn, QPainter* p ); 55 void drawPushButton(QPushButton* btn, QPainter* p );
56 void drawPushButtonLabel(QPushButton* btn, QPainter* p ); 56 void drawPushButtonLabel(QPushButton* btn, QPainter* p );
57 void drawPanel(QPainter* p, int , int, int, int, 57 void drawPanel(QPainter* p, int , int, int, int,
58 const QColorGroup&, bool sunken = false, 58 const QColorGroup&, bool sunken = false,
59 int lineWidth = 1, const QBrush *b = 0l ); 59 int lineWidth = 1, const QBrush *b = 0l );
60 void drawButton( QPainter*, int x, int y, int w, int h, 60 void drawButton( QPainter*, int x, int y, int w, int h,
61 const QColorGroup&, bool sunken = false, 61 const QColorGroup&, bool sunken = false,
62 const QBrush* fill = 0); 62 const QBrush* fill = 0);
63 void drawBevelButton(QPainter*, int, int, int, int, 63 void drawBevelButton(QPainter*, int, int, int, int,
64 const QColorGroup&, bool sunken = false, 64 const QColorGroup&, bool sunken = false,
65 const QBrush* fill = 0 ); 65 const QBrush* fill = 0 );
66 void drawFocusRect( QPainter* p, const QRect& r, 66 void drawFocusRect( QPainter* p, const QRect& r,
67 const QColorGroup&, const QColor* = 0, 67 const QColorGroup&, const QColor* = 0,
68 bool atBorder = false ); 68 bool atBorder = false );
69 void drawButtonMask( QPainter* p, int x, int y, 69 void drawButtonMask( QPainter* p, int x, int y,
70 int w, int h ); 70 int w, int h );
71 71
72 72
73 /* Menu Stuff */ 73 /* Menu Stuff */
74 void drawSeperator( QPainter* p, int x, int y, int w, 74 void drawSeperator( QPainter* p, int x, int y, int w,
75 int h, const QColorGroup& group, bool sunken = true, 75 int h, const QColorGroup& group, bool sunken = true,
76 int lineWidth = 1, int midLineWidtth = 0 ); 76 int lineWidth = 1, int midLineWidtth = 0 );
77 void drawMenuBarItem(QPainter* p, int x, int y, int w, int h, 77 void drawMenuBarItem(QPainter* p, int x, int y, int w, int h,
78 QMenuItem *mi, QColorGroup& g, bool enabled, 78 QMenuItem *mi, QColorGroup& g, bool enabled,
79 bool act); 79 bool act);
80 80
81 /* RadioButton, CheckBox... */ 81 /* RadioButton, CheckBox... */
82 void drawIndicator(QPainter* p, int x, int y, int w, int h, 82 void drawIndicator(QPainter* p, int x, int y, int w, int h,
83 const QColorGroup &g, int state, bool down = FALSE, 83 const QColorGroup &g, int state, bool down = FALSE,
84 bool enabled = TRUE ); 84 bool enabled = TRUE );
85 void drawExclusiveIndicator( QPainter*, int, int, int, int, 85 void drawExclusiveIndicator( QPainter*, int, int, int, int,
86 const QColorGroup&, bool on, 86 const QColorGroup&, bool on,
87 bool down = false,bool enabled = true ); 87 bool down = false,bool enabled = true );
88 void drawExclusiveIndicatorMask (QPainter*, int, int, int, int, bool ); 88 void drawExclusiveIndicatorMask (QPainter*, int, int, int, int, bool );
89 89
90 /* spacing,dimensions */ 90 /* spacing,dimensions */
91 int defaultFrameWidth () const; 91 int defaultFrameWidth () const;
92 int popupMenuItemHeight ( bool checkable, 92 int popupMenuItemHeight ( bool checkable,
93 QMenuItem * mi, 93 QMenuItem * mi,
94 const QFontMetrics & fm ); 94 const QFontMetrics & fm );
95 int extraPopupMenuItemWidth(bool checkable, int maxpmw, 95 int extraPopupMenuItemWidth(bool checkable, int maxpmw,
96 QMenuItem* mi, const QFontMetrics& fm ); 96 QMenuItem* mi, const QFontMetrics& fm );
97 97
98 QSize indicatorSize()const; 98 QSize indicatorSize()const;
99 QSize exclusiveIndicatorSize()const; 99 QSize exclusiveIndicatorSize()const;
100 void getButtonShift( int &x, int &y ); 100 void getButtonShift( int &x, int &y );
101 101
102 /* popup drawing */ 102 /* popup drawing */
103 void drawPopupMenuItem ( QPainter * p, bool checkable, int maxpmw, 103 void drawPopupMenuItem ( QPainter * p, bool checkable, int maxpmw,
104 int tab, QMenuItem * mi, 104 int tab, QMenuItem * mi,
105 const QPalette & pal, bool act, 105 const QPalette & pal, bool act,
106 bool enabled, int x, int y, 106 bool enabled, int x, int y,
107 int w, int h ); 107 int w, int h );
108 108
109 /* combo box */ 109 /* combo box */
110 QRect comboButtonRect ( int x, int y, int w, int h ); 110 QRect comboButtonRect ( int x, int y, int w, int h );
111 void drawComboButton( QPainter * p, int x, int y, 111 void drawComboButton( QPainter * p, int x, int y,
112 int w, int h, 112 int w, int h,
113 const QColorGroup & g, 113 const QColorGroup & g,
114 bool sunken = FALSE, 114 bool sunken = FALSE,
115 bool editable = FALSE, 115 bool editable = FALSE,
116 bool enabled = TRUE, 116 bool enabled = TRUE,
117 const QBrush * fill = 0 ); 117 const QBrush * fill = 0 );
118 118
119 /* tabbar */ 119 /* tabbar */
120 void drawTab(QPainter*, const QTabBar*, QTab*, 120 void drawTab(QPainter*, const QTabBar*, QTab*,
121 bool selected ); 121 bool selected );
122 void drawTabMask( QPainter*, const QTabBar*, QTab*, 122 void drawTabMask( QPainter*, const QTabBar*, QTab*,
123 bool ); 123 bool );
124 void tabbarMetrics( const QTabBar* t, int &hframe, int &vframe, int &overlap);
124 125
125 /* tool button */ 126 /* tool button */
126 void drawToolButton ( QPainter * p, int x, int y, 127 void drawToolButton ( QPainter * p, int x, int y,
127 int w, int h, 128 int w, int h,
128 const QColorGroup & g, 129 const QColorGroup & g,
129 bool sunken = FALSE, 130 bool sunken = FALSE,
130 const QBrush * fill = 0 ); 131 const QBrush * fill = 0 );
131 132
132 /* scrollbar */ 133 /* scrollbar */
133 void drawScrollBarControls ( QPainter *, const QScrollBar *, 134 void drawScrollBarControls ( QPainter *, const QScrollBar *,
134 int sliderStart, uint controls, 135 int sliderStart, uint controls,
135 uint activeControl ); 136 uint activeControl );
136 void scrollBarMetrics( const QScrollBar*, int&, int&, int&, int& ); 137 void scrollBarMetrics( const QScrollBar*, int&, int&, int&, int& );
137 QStyle::ScrollControl scrollBarPointOver( const QScrollBar*, int sliderStart, 138 QStyle::ScrollControl scrollBarPointOver( const QScrollBar*, int sliderStart,
138 const QPoint& ); 139 const QPoint& );
139 140
140 /* slider drawing */ 141 /* slider drawing */
141 void drawSlider ( QPainter * p, int x, int y, int w, int h, 142 void drawSlider ( QPainter * p, int x, int y, int w, int h,
142 const QColorGroup & g, Orientation, 143 const QColorGroup & g, Orientation,
143 bool tickAbove, bool tickBelow ); 144 bool tickAbove, bool tickBelow );
144 145
145 void drawSliderGroove ( QPainter * p, int x, int y, int w, 146 void drawSliderGroove ( QPainter * p, int x, int y, int w,
146 int h, const QColorGroup & g, 147 int h, const QColorGroup & g,
147 QCOORD c, Orientation ); 148 QCOORD c, Orientation );
148private: 149private:
149 void drawPhaseGradient(QPainter* p, 150 void drawPhaseGradient(QPainter* p,
150 const QRect& rec, 151 const QRect& rec,
151 const QColor& col )const; 152 const QColor& col )const;
152 static void scrollBarItemPositions( const QScrollBar *, 153 static void scrollBarItemPositions( const QScrollBar *,
153 const bool horizontal, 154 const bool horizontal,
154 int sliderStart, 155 int sliderStart,
155 int sliderMax, 156 int sliderMax,
156 int sliderLength, 157 int sliderLength,
157 int buttomDim, 158 int buttomDim,
158 QRect& sub, 159 QRect& sub,
159 QRect& add, 160 QRect& add,
160 QRect& subPage, 161 QRect& subPage,
161 QRect& addPage, 162 QRect& addPage,
162 QRect& slider ); 163 QRect& slider );
163}; 164};
164 165
165 166
166#endif 167#endif