summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/styles/phase/phasestyle.cpp22
-rw-r--r--noncore/styles/phase/phasestyle.h8
2 files changed, 21 insertions, 9 deletions
diff --git a/noncore/styles/phase/phasestyle.cpp b/noncore/styles/phase/phasestyle.cpp
index ba8c460..906ccee 100644
--- a/noncore/styles/phase/phasestyle.cpp
+++ b/noncore/styles/phase/phasestyle.cpp
@@ -193,275 +193,285 @@ void PhaseStyle::drawPushButton(QPushButton *btn, QPainter *painter) {
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 )
322{
323 QWindowsStyle::unPolish( w );
324}
325
321void PhaseStyle::polish( QPalette &pal ) { 326void PhaseStyle::polish( QPalette &pal ) {
322 QWindowsStyle::polish( pal ); 327 QWindowsStyle::polish( pal );
323 // lighten up a bit, so the look is not so "crisp" 328 // lighten up a bit, so the look is not so "crisp"
324 if (QPixmap::defaultDepth() > 8) { // but not on low color displays 329 if (QPixmap::defaultDepth() > 8) { // but not on low color displays
325 pal.setColor(QPalette::Disabled, QColorGroup::Dark, 330 pal.setColor(QPalette::Disabled, QColorGroup::Dark,
326 pal.color(QPalette::Disabled, QColorGroup::Dark).light(contrast)); 331 pal.color(QPalette::Disabled, QColorGroup::Dark).light(contrast));
327 pal.setColor(QPalette::Active, QColorGroup::Dark, 332 pal.setColor(QPalette::Active, QColorGroup::Dark,
328 pal.color(QPalette::Active, QColorGroup::Dark).light(contrast)); 333 pal.color(QPalette::Active, QColorGroup::Dark).light(contrast));
329 pal.setColor(QPalette::Inactive, QColorGroup::Dark, 334 pal.setColor(QPalette::Inactive, QColorGroup::Dark,
330 pal.color(QPalette::Inactive, QColorGroup::Dark).light(contrast)); 335 pal.color(QPalette::Inactive, QColorGroup::Dark).light(contrast));
331 } 336 }
332} 337}
333 338
334void PhaseStyle::polish( QApplication* app ) { 339void PhaseStyle::polish( QApplication* app ) {
335 QWindowsStyle::polish( app ); 340 QWindowsStyle::polish( app );
336 341
337 qt_set_draw_menu_bar_impl((QDrawMenuBarItemImpl)&PhaseStyle::drawMenuBarItem); 342 qt_set_draw_menu_bar_impl((QDrawMenuBarItemImpl)&PhaseStyle::drawMenuBarItem);
338} 343}
339 344
345void PhaseStyle::unPolish( QApplication* app ) {
346 QWindowsStyle::unPolish(app);
347 qt_set_draw_menu_bar_impl ( 0 );
348}
349
340void PhaseStyle::drawPushButtonLabel (QPushButton *button, QPainter *painter) { 350void PhaseStyle::drawPushButtonLabel (QPushButton *button, QPainter *painter) {
341 bool active = button->isOn() || button->isDown(); 351 bool active = button->isOn() || button->isDown();
342 QRect r = pushButtonContentsRect( button ); 352 QRect r = pushButtonContentsRect( button );
343 QColorGroup group = button->colorGroup(); 353 QColorGroup group = button->colorGroup();
344 int x, y, w, h; 354 int x, y, w, h;
345 r.rect( &x, &y, &w, &h ); 355 r.rect( &x, &y, &w, &h );
346 bool sunken = false; 356 bool sunken = false;
347 QIconSet::Mode mode; 357 QIconSet::Mode mode;
348 QPixmap pixmap; 358 QPixmap pixmap;
349 359
350 if (active) {// shift contents 360 if (active) {// shift contents
351 x++; y++; 361 x++; y++;
352 sunken = true; 362 sunken = true;
353 } 363 }
354 364
355 365
356 if (button->isMenuButton()) { // draw the indicator 366 if (button->isMenuButton()) { // draw the indicator
357 //dx = pixelMetric(PM_MenuButtonIndicator, widget); 367 //dx = pixelMetric(PM_MenuButtonIndicator, widget);
358 int dx = menuButtonIndicatorWidth( button->height() ); 368 int dx = menuButtonIndicatorWidth( button->height() );
359 drawArrow(painter, Qt::DownArrow, active, 369 drawArrow(painter, Qt::DownArrow, active,
360 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() );
361 w -= dx; 371 w -= dx;
362 } 372 }
363 373
364 if (button->iconSet() && !button->iconSet()->isNull()) { // draw icon 374 if (button->iconSet() && !button->iconSet()->isNull()) { // draw icon
365 if (button->isEnabled()) { 375 if (button->isEnabled()) {
366 if (button->hasFocus()) { 376 if (button->hasFocus()) {
367 mode = QIconSet::Active; 377 mode = QIconSet::Active;
368 } else { 378 } else {
369 mode = QIconSet::Normal; 379 mode = QIconSet::Normal;
370 } 380 }
371 } else { 381 } else {
372 mode = QIconSet::Disabled; 382 mode = QIconSet::Disabled;
373 } 383 }
374 384
375#if 0 385#if 0
376 if (button->isToggleButton() && button->isOn()) { 386 if (button->isToggleButton() && button->isOn()) {
377 state = true; 387 state = true;
378 } else { 388 } else {
379 state = false; 389 state = false;
380 } 390 }
381#endif 391#endif
382 392
383 pixmap = button->iconSet()->pixmap(QIconSet::Small, mode); 393 pixmap = button->iconSet()->pixmap(QIconSet::Small, mode);
384 if (button->text().isEmpty() && !button->pixmap()) { 394 if (button->text().isEmpty() && !button->pixmap()) {
385 painter->drawPixmap(x+w/2 - pixmap.width()/2, 395 painter->drawPixmap(x+w/2 - pixmap.width()/2,
386 y+h/2 - pixmap.height()/2, pixmap); 396 y+h/2 - pixmap.height()/2, pixmap);
387 } else { 397 } else {
388 painter->drawPixmap(x+4, y+h/2 - pixmap.height()/2, pixmap); 398 painter->drawPixmap(x+4, y+h/2 - pixmap.height()/2, pixmap);
389 } 399 }
390 x += pixmap.width() + 4; 400 x += pixmap.width() + 4;
391 w -= pixmap.width() + 4; 401 w -= pixmap.width() + 4;
392 } 402 }
393 403
394 if (active || button->isDefault()) { // default button 404 if (active || button->isDefault()) { // default button
395 for(int n=0; n<2; n++) { 405 for(int n=0; n<2; n++) {
396 drawItem(painter, x+n, y, w, h, 406 drawItem(painter, x+n, y, w, h,
397 AlignCenter | ShowPrefix, 407 AlignCenter | ShowPrefix,
398 button->colorGroup(), 408 button->colorGroup(),
399 button->isEnabled(), 409 button->isEnabled(),
400 button->pixmap(), 410 button->pixmap(),
401 button->text(), -1, 411 button->text(), -1,
402 (button->isEnabled()) ? 412 (button->isEnabled()) ?
403 &button->colorGroup().buttonText() : 413 &button->colorGroup().buttonText() :
404 &button->colorGroup().mid()); 414 &button->colorGroup().mid());
405 } 415 }
406 } else { // normal button 416 } else { // normal button
407 drawItem(painter, x, y, w, h, 417 drawItem(painter, x, y, w, h,
408 AlignCenter | ShowPrefix, 418 AlignCenter | ShowPrefix,
409 button->colorGroup(), 419 button->colorGroup(),
410 button->isEnabled(), 420 button->isEnabled(),
411 button->pixmap(), 421 button->pixmap(),
412 button->text(), -1, 422 button->text(), -1,
413 (button->isEnabled()) ? 423 (button->isEnabled()) ?
414 &button->colorGroup().buttonText() : 424 &button->colorGroup().buttonText() :
415 &button->colorGroup().mid()); 425 &button->colorGroup().mid());
416 } 426 }
417} 427}
418 428
419 429
420void PhaseStyle::drawFocusRect(QPainter *painter, const QRect &rect, 430void PhaseStyle::drawFocusRect(QPainter *painter, const QRect &rect,
421 const QColorGroup &group, 431 const QColorGroup &group,
422 const QColor *, bool atBorder) { 432 const QColor *, bool atBorder) {
423 433
424 434
425 QPen old = painter->pen(); 435 QPen old = painter->pen();
426 painter->setPen(group.highlight().dark(contrast)); 436 painter->setPen(group.highlight().dark(contrast));
427 painter->setBrush(NoBrush); 437 painter->setBrush(NoBrush);
428 438
429 if ( atBorder ) 439 if ( atBorder )
430 painter->drawRect(QRect(rect.x()+1, rect.y()+1, 440 painter->drawRect(QRect(rect.x()+1, rect.y()+1,
431 rect.width()-2, rect.height()-2 )); 441 rect.width()-2, rect.height()-2 ));
432 else 442 else
433 painter->drawRect(rect); 443 painter->drawRect(rect);
434 444
435 445
436 painter->setPen(old); 446 painter->setPen(old);
437 447
438} 448}
439 449
440void PhaseStyle::drawSeperator( QPainter* painter, int x, int y, int w, 450void PhaseStyle::drawSeperator( QPainter* painter, int x, int y, int w,
441 int h, const QColorGroup& group, bool, 451 int h, const QColorGroup& group, bool,
442 int , int ) { 452 int , int ) {
443 qWarning( "Seperator" ); 453 qWarning( "Seperator" );
444 QRect rect(x, y, w, h); 454 QRect rect(x, y, w, h);
445 int x2 = rect.right(); 455 int x2 = rect.right();
446 int y2 = rect.bottom(); 456 int y2 = rect.bottom();
447 457
448 painter->setPen(group.dark()); 458 painter->setPen(group.dark());
449 if (w < h) 459 if (w < h)
450 painter->drawLine(w/2, y, w/2, y2); 460 painter->drawLine(w/2, y, w/2, y2);
451 else 461 else
452 painter->drawLine(x, h/2, x2, h/2); 462 painter->drawLine(x, h/2, x2, h/2);
453} 463}
454 464
455void 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,
456 QMenuItem *mi, QColorGroup& g, bool enabled, 466 QMenuItem *mi, QColorGroup& g, bool enabled,
457 bool act ) { 467 bool act ) {
458 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);
459} 469}
460 470
461 471
462void 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,
463 const QColorGroup &group, int state, bool, 473 const QColorGroup &group, int state, bool,
464 bool enabled ) { 474 bool enabled ) {
465 drawPanel(painter, x, y, w, h, group, true, 1, enabled ? 475 drawPanel(painter, x, y, w, h, group, true, 1, enabled ?
466 &group.brush(QColorGroup::Base) : 476 &group.brush(QColorGroup::Base) :
467 &group.brush(QColorGroup::Background)); 477 &group.brush(QColorGroup::Background));
@@ -506,404 +516,404 @@ void PhaseStyle::drawExclusiveIndicator(QPainter* painter, int x, int y, int w,
506 516
507 painter->restore(); 517 painter->restore();
508} 518}
509 519
510 520
511/* 521/*
512 * Does not get called in QWS as it seems 522 * Does not get called in QWS as it seems
513 */ 523 */
514void PhaseStyle::drawExclusiveIndicatorMask(QPainter *painter, int x, int y, int w, 524void PhaseStyle::drawExclusiveIndicatorMask(QPainter *painter, int x, int y, int w,
515 int h, bool /*on*/ ) { 525 int h, bool /*on*/ ) {
516 return; 526 return;
517 527
518 528
519 529
520 if (0 != w%2) --w; 530 if (0 != w%2) --w;
521 if (0 != h%2) --h; 531 if (0 != h%2) --h;
522 532
523 QRect r(x, y, w, h ); 533 QRect r(x, y, w, h );
524 int x2 = r.right(); 534 int x2 = r.right();
525 int y2 = r.bottom(); 535 int y2 = r.bottom();
526 int cx = (x + x2) / 2; 536 int cx = (x + x2) / 2;
527 int cy = (y + y2) / 2; 537 int cy = (y + y2) / 2;
528 QPointArray parray; 538 QPointArray parray;
529 539
530 540
531 painter->setBrush(Qt::color1); 541 painter->setBrush(Qt::color1);
532 painter->setPen(Qt::color1); 542 painter->setPen(Qt::color1);
533 parray.putPoints(0, 8, 543 parray.putPoints(0, 8,
534 x,cy+1, x,cy, cx,y, cx+1,y, 544 x,cy+1, x,cy, cx,y, cx+1,y,
535 x2,cy, x2,cy+1, cx+1,y2, cx,y2); 545 x2,cy, x2,cy+1, cx+1,y2, cx,y2);
536 painter->drawPolygon(parray, 0, 8); 546 painter->drawPolygon(parray, 0, 8);
537} 547}
538 548
539int PhaseStyle::defaultFrameWidth()const { 549int PhaseStyle::defaultFrameWidth()const {
540 return 1; 550 return 1;
541} 551}
542 552
543int PhaseStyle::popupMenuItemHeight ( bool , 553int PhaseStyle::popupMenuItemHeight ( bool ,
544 QMenuItem * mi, 554 QMenuItem * mi,
545 const QFontMetrics & fm ) { 555 const QFontMetrics & fm ) {
546 int h = 0; 556 int h = 0;
547 if (mi->custom() ) { 557 if (mi->custom() ) {
548 h = mi->custom()->sizeHint().height(); 558 h = mi->custom()->sizeHint().height();
549 if (!mi->custom()->fullSpan() ) 559 if (!mi->custom()->fullSpan() )
550 h += ITEMVMARGIN*2 + ITEMFRAME*2; 560 h += ITEMVMARGIN*2 + ITEMFRAME*2;
551 }else if (mi->isSeparator() ) { 561 }else if (mi->isSeparator() ) {
552 h = 1; 562 h = 1;
553 }else { 563 }else {
554 if ( mi->pixmap() ) { 564 if ( mi->pixmap() ) {
555 h = QMAX(h, mi->pixmap()->height() + ITEMFRAME*2); 565 h = QMAX(h, mi->pixmap()->height() + ITEMFRAME*2);
556 }else { 566 }else {
557 h = QMAX(h, MINICONSIZE+ITEMFRAME*2 ); 567 h = QMAX(h, MINICONSIZE+ITEMFRAME*2 );
558 h = QMAX(h, fm.height() 568 h = QMAX(h, fm.height()
559 + ITEMVMARGIN*2 + ITEMFRAME*2 ); 569 + ITEMVMARGIN*2 + ITEMFRAME*2 );
560 } 570 }
561 if ( mi->iconSet() ) 571 if ( mi->iconSet() )
562 h = QMAX(h, mi->iconSet()-> 572 h = QMAX(h, mi->iconSet()->
563 pixmap(QIconSet::Small, QIconSet::Normal ).height() 573 pixmap(QIconSet::Small, QIconSet::Normal ).height()
564 + ITEMFRAME*2 ); 574 + ITEMFRAME*2 );
565 } 575 }
566 576
567 577
568 return h; 578 return h;
569} 579}
570 580
571int PhaseStyle::extraPopupMenuItemWidth(bool checkable, int maxpmw, 581int PhaseStyle::extraPopupMenuItemWidth(bool checkable, int maxpmw,
572 QMenuItem* mi, const QFontMetrics& ) { 582 QMenuItem* mi, const QFontMetrics& ) {
573 int w = 0; 583 int w = 0;
574 if (mi->isSeparator() ) 584 if (mi->isSeparator() )
575 return 3; 585 return 3;
576 586
577 else if ( mi->pixmap() ) 587 else if ( mi->pixmap() )
578 w = mi->pixmap()->width(); 588 w = mi->pixmap()->width();
579 589
580 if (!mi->text().isNull() && 590 if (!mi->text().isNull() &&
581 mi->text().find('\t' ) >= 0 ) 591 mi->text().find('\t' ) >= 0 )
582 w += 12; 592 w += 12;
583 else if ( mi->popup() ) 593 else if ( mi->popup() )
584 w += 2*ARROWMARGIN; 594 w += 2*ARROWMARGIN;
585 595
586 if ( maxpmw ) 596 if ( maxpmw )
587 w += maxpmw +4; 597 w += maxpmw +4;
588 598
589 599
590 if ( maxpmw > 0 || checkable ) 600 if ( maxpmw > 0 || checkable )
591 w += ITEMHMARGIN*2+8; 601 w += ITEMHMARGIN*2+8;
592 602
593 w += RIGHTBORDER; 603 w += RIGHTBORDER;
594 return w; 604 return w;
595} 605}
596 606
597QSize PhaseStyle::indicatorSize()const { 607QSize PhaseStyle::indicatorSize()const {
598 return QSize( 11, 11 ); 608 return QSize( 11, 11 );
599} 609}
600 610
601QSize PhaseStyle::exclusiveIndicatorSize()const { 611QSize PhaseStyle::exclusiveIndicatorSize()const {
602 return QSize( 11, 11 ); 612 return QSize( 11, 11 );
603} 613}
604 614
605void PhaseStyle::getButtonShift( int &x, int &y ) { 615void PhaseStyle::getButtonShift( int &x, int &y ) {
606 x++; 616 x++;
607 y++; 617 y++;
608} 618}
609 619
610void PhaseStyle::drawPopupMenuItem ( QPainter * p, bool checkable, 620void PhaseStyle::drawPopupMenuItem ( QPainter * p, bool checkable,
611 int maxpmw,int tabwidth, 621 int maxpmw,int tabwidth,
612 QMenuItem * mi, const QPalette & pal, 622 QMenuItem * mi, const QPalette & pal,
613 bool act, bool enabled, int x, 623 bool act, bool enabled, int x,
614 int y, int w, int h ) { 624 int y, int w, int h ) {
615 if ( !mi ) 625 if ( !mi )
616 return; 626 return;
617 627
618 QRect rect(x, y, w, h ); 628 QRect rect(x, y, w, h );
619 int x2, y2; 629 int x2, y2;
620 x2 = rect.right(); 630 x2 = rect.right();
621 y2 = rect.bottom(); 631 y2 = rect.bottom();
622 const QColorGroup& g = pal.active(); 632 const QColorGroup& g = pal.active();
623 QColorGroup itemg = !enabled ? pal.disabled() : pal.active(); 633 QColorGroup itemg = !enabled ? pal.disabled() : pal.active();
624 634
625 if ( checkable || maxpmw ) maxpmw = QMAX(maxpmw, 20); 635 if ( checkable || maxpmw ) maxpmw = QMAX(maxpmw, 20);
626 636
627 if (act && enabled ) 637 if (act && enabled )
628 p->fillRect(x, y, w, h, g.highlight() ); 638 p->fillRect(x, y, w, h, g.highlight() );
629 else 639 else
630 p->fillRect(x, y, w, h, g.background() ); 640 p->fillRect(x, y, w, h, g.background() );
631 641
632 // draw seperator 642 // draw seperator
633 if (mi->isSeparator() ) { 643 if (mi->isSeparator() ) {
634 p->setPen( g.dark() ); 644 p->setPen( g.dark() );
635 p->drawLine( x+8, y+1, x+w-8, y+1 ); 645 p->drawLine( x+8, y+1, x+w-8, y+1 );
636 646
637 p->setPen( g.mid() ); 647 p->setPen( g.mid() );
638 p->drawLine( x+8, y, x+w-8, y ); 648 p->drawLine( x+8, y, x+w-8, y );
639 p->drawPoint(x+w,y+1); 649 p->drawPoint(x+w,y+1);
640 650
641 p->setPen( g.midlight() ); 651 p->setPen( g.midlight() );
642 p->drawLine( x+8, y-1, x+w-8, y-1 ); 652 p->drawLine( x+8, y-1, x+w-8, y-1 );
643 p->drawPoint(x+8, y ); 653 p->drawPoint(x+8, y );
644 return; 654 return;
645 } 655 }
646 656
647 // draw icon 657 // draw icon
648 QIconSet::Mode mode; 658 QIconSet::Mode mode;
649 if ( mi->iconSet() && !mi->isChecked() ) { 659 if ( mi->iconSet() && !mi->isChecked() ) {
650 if ( act ) 660 if ( act )
651 mode = enabled ? QIconSet::Active : QIconSet::Disabled; 661 mode = enabled ? QIconSet::Active : QIconSet::Disabled;
652 else 662 else
653 mode = enabled ? QIconSet::Normal : QIconSet::Disabled; 663 mode = enabled ? QIconSet::Normal : QIconSet::Disabled;
654 QPixmap pixmap = mi->iconSet()->pixmap(QIconSet::Small, mode ); 664 QPixmap pixmap = mi->iconSet()->pixmap(QIconSet::Small, mode );
655 QRect pmrect(0, 0, pixmap.width(), pixmap.height() ); 665 QRect pmrect(0, 0, pixmap.width(), pixmap.height() );
656 QRect cr(x, y, maxpmw, h ); 666 QRect cr(x, y, maxpmw, h );
657 pmrect.moveCenter( cr.center() ); 667 pmrect.moveCenter( cr.center() );
658 p->drawPixmap(pmrect.topLeft(), pixmap); 668 p->drawPixmap(pmrect.topLeft(), pixmap);
659 } 669 }
660 670
661 // draw check 671 // draw check
662 if(mi->isChecked() ) { 672 if(mi->isChecked() ) {
663 drawCheckMark(p, x, y, maxpmw, h, itemg, act, !enabled ); 673 drawCheckMark(p, x, y, maxpmw, h, itemg, act, !enabled );
664 } 674 }
665 675
666 676
667 // draw text 677 // draw text
668 int xm = maxpmw + 2; 678 int xm = maxpmw + 2;
669 int xp = x + xm; 679 int xp = x + xm;
670 int tw = w -xm - 2; 680 int tw = w -xm - 2;
671 681
672 p->setPen( enabled ? ( act ? g.highlightedText() : g.buttonText() ) : 682 p->setPen( enabled ? ( act ? g.highlightedText() : g.buttonText() ) :
673 g.mid() ); 683 g.mid() );
674 684
675 685
676 if ( mi->custom() ) { 686 if ( mi->custom() ) {
677 p->save(); 687 p->save();
678 mi->custom()->paint(p, g, act, enabled, 688 mi->custom()->paint(p, g, act, enabled,
679 xp, y+1, tw, h-2 ); 689 xp, y+1, tw, h-2 );
680 p->restore(); 690 p->restore();
681 }else { // draw label 691 }else { // draw label
682 QString text = mi->text(); 692 QString text = mi->text();
683 if (!text.isNull() ) { 693 if (!text.isNull() ) {
684 int t = text.find('\t'); 694 int t = text.find('\t');
685 const int tflags = AlignVCenter | DontClip | 695 const int tflags = AlignVCenter | DontClip |
686 ShowPrefix | SingleLine | 696 ShowPrefix | SingleLine |
687 AlignLeft; 697 AlignLeft;
688 698
689 if (t >= 0) { 699 if (t >= 0) {
690 int tabx = x + w - tabwidth - RIGHTBORDER - 700 int tabx = x + w - tabwidth - RIGHTBORDER -
691 ITEMHMARGIN - ITEMFRAME; 701 ITEMHMARGIN - ITEMFRAME;
692 p->drawText(tabx, y+ITEMVMARGIN, tabwidth, 702 p->drawText(tabx, y+ITEMVMARGIN, tabwidth,
693 h-2*ITEMVMARGIN, tflags, 703 h-2*ITEMVMARGIN, tflags,
694 text.mid(t+1) ); 704 text.mid(t+1) );
695 text = text.left(t ); 705 text = text.left(t );
696 } 706 }
697 707
698 // draw left label 708 // draw left label
699 p->drawText(xp, y+ITEMVMARGIN, 709 p->drawText(xp, y+ITEMVMARGIN,
700 tw, h-2*ITEMVMARGIN, 710 tw, h-2*ITEMVMARGIN,
701 tflags, text, t); 711 tflags, text, t);
702 }else if ( mi->pixmap() ) { // pixmap as label 712 }else if ( mi->pixmap() ) { // pixmap as label
703 QPixmap pixmap = *mi->pixmap(); 713 QPixmap pixmap = *mi->pixmap();
704 if ( pixmap.depth() == 1 ) 714 if ( pixmap.depth() == 1 )
705 p->setBackgroundMode( OpaqueMode ); 715 p->setBackgroundMode( OpaqueMode );
706 716
707 int dx = ((w-pixmap.width() ) /2 ) + 717 int dx = ((w-pixmap.width() ) /2 ) +
708 ((w - pixmap.width()) %2 ); 718 ((w - pixmap.width()) %2 );
709 p->drawPixmap(x+dx, y+ITEMFRAME, pixmap ); 719 p->drawPixmap(x+dx, y+ITEMFRAME, pixmap );
710 720
711 if ( pixmap.depth() == 1 ) 721 if ( pixmap.depth() == 1 )
712 p->setBackgroundMode( TransparentMode ); 722 p->setBackgroundMode( TransparentMode );
713 } 723 }
714 } 724 }
715 725
716 if ( mi->popup() ) { // draw submenu arrow 726 if ( mi->popup() ) { // draw submenu arrow
717 int dim = (h-2*ITEMFRAME) / 2; 727 int dim = (h-2*ITEMFRAME) / 2;
718 drawArrow( p, RightArrow, false, 728 drawArrow( p, RightArrow, false,
719 x+w-ARROWMARGIN-ITEMFRAME-dim, 729 x+w-ARROWMARGIN-ITEMFRAME-dim,
720 y+h/2-dim/2, dim, dim, g, enabled ); 730 y+h/2-dim/2, dim, dim, g, enabled );
721 } 731 }
722} 732}
723 733
724 734
725QRect PhaseStyle::comboButtonRect ( int x, int y, int w, int h ) { 735QRect PhaseStyle::comboButtonRect ( int x, int y, int w, int h ) {
726 return QRect(x+2, y+2, w-4-17, h-5 ); 736 return QRect(x+2, y+2, w-4-17, h-5 );
727} 737}
728 738
729void PhaseStyle::drawComboButton( QPainter * p, int x, int y, 739void PhaseStyle::drawComboButton( QPainter * p, int x, int y,
730 int w, int h, 740 int w, int h,
731 const QColorGroup & g, 741 const QColorGroup & g,
732 bool sunken, 742 bool sunken,
733 bool editable, 743 bool editable,
734 bool, 744 bool,
735 const QBrush *) { 745 const QBrush *) {
736 drawButton(p, x, y, w, h, g, 746 drawButton(p, x, y, w, h, g,
737 sunken, &g.brush(QColorGroup::Button )); 747 sunken, &g.brush(QColorGroup::Button ));
738 748
739 for ( int n = 0; n < 2; ++n ) 749 for ( int n = 0; n < 2; ++n )
740 kColorBitmaps(p, g, w-16+(6*n), y+(h/2)-2, 750 kColorBitmaps(p, g, w-16+(6*n), y+(h/2)-2,
741 0, &doodad_mid, &doodad_light, 0, 0, 0 ); 751 0, &doodad_mid, &doodad_light, 0, 0, 0 );
742 752
743 753
744 if (editable ) { 754 if (editable ) {
745 const int x2 = x+w-1; const int y2 = y+h-1; 755 const int x2 = x+w-1; const int y2 = y+h-1;
746 p->setPen(g.dark()); 756 p->setPen(g.dark());
747 p->drawLine(x2+1, y, x2+1, y2); 757 p->drawLine(x2+1, y, x2+1, y2);
748 p->setPen(g.midlight()); 758 p->setPen(g.midlight());
749 p->drawLine(x2+2, y, x2+2, y2-1); 759 p->drawLine(x2+2, y, x2+2, y2-1);
750 p->setPen(g.button()); 760 p->setPen(g.button());
751 p->drawPoint(x2+2, y2); 761 p->drawPoint(x2+2, y2);
752 } 762 }
753 763
754 p->setPen(g.buttonText() ); 764 p->setPen(g.buttonText() );
755} 765}
756 766
757void PhaseStyle::tabbarMetrics( const QTabBar* t, int &hframe, int &vframe, int& ov ) { 767void PhaseStyle::tabbarMetrics( const QTabBar* t, int &hframe, int &vframe, int& ov ) {
758 QCommonStyle::tabbarMetrics( t, hframe, vframe, ov ); 768 QCommonStyle::tabbarMetrics( t, hframe, vframe, ov );
759 hframe -= 2; 769 hframe -= 2;
760 vframe += 1; 770 vframe += 1;
761} 771}
762 772
763 773
764void PhaseStyle::drawTab(QPainter* painter, const QTabBar* bar, QTab* tab, 774void PhaseStyle::drawTab(QPainter* painter, const QTabBar* bar, QTab* tab,
765 bool selected ) { 775 bool selected ) {
766 bool edge = false; 776 bool edge = false;
767 int x, y, w, h; 777 int x, y, w, h;
768 QRect r = tab->rect(); 778 QRect r = tab->rect();
769 r.rect(&x,&y,&w,&h); 779 r.rect(&x,&y,&w,&h);
770 const int x2 = x+w-1; 780 const int x2 = x+w-1;
771 const int y2 = y+h-1; 781 const int y2 = y+h-1;
772 const QColorGroup &group = bar->colorGroup(); 782 const QColorGroup &group = bar->colorGroup();
773 783
774 784
775 painter->save(); 785 painter->save();
776 786
777 // what position is the tab? 787 // what position is the tab?
778 if ((bar->count() == 1 )) 788 if ((bar->count() == 1 ))
779 edge = true; 789 edge = true;
780 else 790 else
781 edge = false; 791 edge = false;
782 792
783 switch (QTabBar::Shape(bar->shape())) { 793 switch (QTabBar::Shape(bar->shape())) {
784 case QTabBar::RoundedAbove: 794 case QTabBar::RoundedAbove:
785 case QTabBar::TriangularAbove: { 795 case QTabBar::TriangularAbove: {
786 if (!selected) { // shorten 796 if (!selected) { // shorten
787 y += 2; h -= 2; 797 y += 2; h -= 2;
788 } 798 }
789 if (selected) { 799 if (selected) {
790 painter->setPen(Qt::NoPen); 800 painter->setPen(Qt::NoPen);
791 painter->fillRect(x+1, y+1, w-1, h-1, 801 painter->fillRect(x+1, y+1, w-1, h-1,
792 group.brush(QColorGroup::Background)); 802 group.brush(QColorGroup::Background));
793 } else 803 } else
794 drawPhaseGradient(painter, QRect(x+1, y+1, w-1, h-2), 804 drawPhaseGradient(painter, QRect(x+1, y+1, w-1, h-2),
795 group.background().dark(contrast) ); 805 group.background().dark(contrast) );
796 806
797 807
798 // draw tab 808 // draw tab
799 painter->setPen(group.dark()); 809 painter->setPen(group.dark());
800 painter->drawLine(x, y, x, y2-2); 810 painter->drawLine(x, y, x, y2-2);
801 painter->drawLine(x+1, y, x2, y); 811 painter->drawLine(x+1, y, x2, y);
802 painter->drawLine(x2, y+1, x2, y2-2); 812 painter->drawLine(x2, y+1, x2, y2-2);
803 813
804 painter->setPen(group.mid()); 814 painter->setPen(group.mid());
805 painter->drawLine(x2-1, y+2, x2-1, y2-2); 815 painter->drawLine(x2-1, y+2, x2-1, y2-2);
806 816
807 painter->setPen(group.midlight()); 817 painter->setPen(group.midlight());
808 painter->drawLine(x+1, y+1, x2-2, y+1); 818 painter->drawLine(x+1, y+1, x2-2, y+1);
809 if ((selected) || edge) painter->drawLine(x+1, y+2, x+1, y2-2); 819 if ((selected) || edge) painter->drawLine(x+1, y+2, x+1, y2-2);
810 820
811 // finish off bottom 821 // finish off bottom
812 if (selected) { 822 if (selected) {
813 painter->setPen(group.dark()); 823 painter->setPen(group.dark());
814 painter->drawPoint(x, y2-1); 824 painter->drawPoint(x, y2-1);
815 painter->drawPoint(x2, y2-1); 825 painter->drawPoint(x2, y2-1);
816 826
817 painter->setPen(group.midlight()); 827 painter->setPen(group.midlight());
818 painter->drawPoint(x, y2); 828 painter->drawPoint(x, y2);
819 painter->drawLine(x+1, y2-1, x+1, y2); 829 painter->drawLine(x+1, y2-1, x+1, y2);
820 painter->drawPoint(x2, y2); 830 painter->drawPoint(x2, y2);
821 831
822 painter->setPen(group.mid()); 832 painter->setPen(group.mid());
823 painter->drawPoint(x2-1, y2-1); 833 painter->drawPoint(x2-1, y2-1);
824 834
825 if (edge) { 835 if (edge) {
826 painter->setPen(group.dark()); 836 painter->setPen(group.dark());
827 painter->drawLine(x, y2-1, x, y2); 837 painter->drawLine(x, y2-1, x, y2);
828 painter->setPen(group.midlight()); 838 painter->setPen(group.midlight());
829 painter->drawPoint(x+1, y2); 839 painter->drawPoint(x+1, y2);
830 } 840 }
831 } else { 841 } else {
832 painter->setPen(group.dark()); 842 painter->setPen(group.dark());
833 painter->drawLine(x, y2-1, x2, y2-1); 843 painter->drawLine(x, y2-1, x2, y2-1);
834 844
835 painter->setPen(group.midlight()); 845 painter->setPen(group.midlight());
836 painter->drawLine(x, y2, x2, y2); 846 painter->drawLine(x, y2, x2, y2);
837 847
838 if (edge) { 848 if (edge) {
839 painter->setPen(group.dark()); 849 painter->setPen(group.dark());
840 painter->drawLine(x, y2-1, x, y2); 850 painter->drawLine(x, y2-1, x, y2);
841 } 851 }
842 } 852 }
843 break; 853 break;
844 } 854 }
845 case QTabBar::RoundedBelow: 855 case QTabBar::RoundedBelow:
846 case QTabBar::TriangularBelow: { 856 case QTabBar::TriangularBelow: {
847 painter->setBrush( group.background().dark(contrast)); 857 painter->setBrush( group.background().dark(contrast));
848 painter->setPen(Qt::NoPen); 858 painter->setPen(Qt::NoPen);
849 painter->fillRect(x+1, y+1, w-1, h-1, painter->brush()); 859 painter->fillRect(x+1, y+1, w-1, h-1, painter->brush());
850 860
851 // draw tab 861 // draw tab
852 painter->setPen(group.dark()); 862 painter->setPen(group.dark());
853 painter->drawLine(x, y+1, x, y2); 863 painter->drawLine(x, y+1, x, y2);
854 painter->drawLine(x+1, y2, x2, y2); 864 painter->drawLine(x+1, y2, x2, y2);
855 painter->drawLine(x2, y+1, x2, y2-1); 865 painter->drawLine(x2, y+1, x2, y2-1);
856 866
857 painter->setPen(group.mid()); 867 painter->setPen(group.mid());
858 painter->drawLine(x2-1, y+1, x2-1, y2-1); 868 painter->drawLine(x2-1, y+1, x2-1, y2-1);
859 painter->drawLine(x+2, y2-1, x2-1, y2-1); 869 painter->drawLine(x+2, y2-1, x2-1, y2-1);
860 painter->drawPoint(x, y); 870 painter->drawPoint(x, y);
861 painter->drawPoint(x2, y); 871 painter->drawPoint(x2, y);
862 872
863 if ((selected) || edge) { 873 if ((selected) || edge) {
864 painter->setPen(group.midlight()); 874 painter->setPen(group.midlight());
865 painter->drawLine(x+1, y+1, x+1, y2-2); 875 painter->drawLine(x+1, y+1, x+1, y2-2);
866 } 876 }
867 877
868 // finish off top 878 // finish off top
869 if (selected) { 879 if (selected) {
870 if (edge) { 880 if (edge) {
871 painter->setPen(group.dark()); 881 painter->setPen(group.dark());
872 painter->drawPoint(x, y); 882 painter->drawPoint(x, y);
873 painter->setPen(group.midlight()); 883 painter->setPen(group.midlight());
874 painter->drawPoint(x+1, y); 884 painter->drawPoint(x+1, y);
875 } 885 }
876 } else { 886 } else {
877 painter->setPen(group.dark()); 887 painter->setPen(group.dark());
878 painter->drawLine(x, y+1, x2, y+1); 888 painter->drawLine(x, y+1, x2, y+1);
879 889
880 painter->setPen(group.mid()); 890 painter->setPen(group.mid());
881 painter->drawLine(x, y, x2, y); 891 painter->drawLine(x, y, x2, y);
882 892
883 if (edge) { 893 if (edge) {
884 painter->setPen(group.dark()); 894 painter->setPen(group.dark());
885 painter->drawPoint(x, y); 895 painter->drawPoint(x, y);
886 } 896 }
887 } 897 }
888 break; 898 break;
889 } 899 }
890 } 900 }
891 901
892 painter->restore(); 902 painter->restore();
893} 903}
894 904
895void PhaseStyle::drawTabMask( QPainter* p, const QTabBar*, QTab* tab, 905void PhaseStyle::drawTabMask( QPainter* p, const QTabBar*, QTab* tab,
896 bool ) { 906 bool ) {
897 p->fillRect(tab->rect(), Qt::color1); 907 p->fillRect(tab->rect(), Qt::color1);
898} 908}
899 909
900void PhaseStyle::drawToolButton(QPainter * p, int x, int y, 910void PhaseStyle::drawToolButton(QPainter * p, int x, int y,
901 int w, int h, const QColorGroup & g, 911 int w, int h, const QColorGroup & g,
902 bool sunken, 912 bool sunken,
903 const QBrush * fill ) { 913 const QBrush * fill ) {
904 QRect r(x, y, w, h ); 914 QRect r(x, y, w, h );
905 p->fillRect(r, g.background()); 915 p->fillRect(r, g.background());
906 916
907 drawPanel(p, x, y, w, h, g, sunken, 1, 917 drawPanel(p, x, y, w, h, g, sunken, 1,
908 fill ? fill : &g.brush(QColorGroup::Button) ); 918 fill ? fill : &g.brush(QColorGroup::Button) );
909 919
diff --git a/noncore/styles/phase/phasestyle.h b/noncore/styles/phase/phasestyle.h
index cbaa534..ae53efe 100644
--- a/noncore/styles/phase/phasestyle.h
+++ b/noncore/styles/phase/phasestyle.h
@@ -1,167 +1,169 @@
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 virtual void polish( QWidget * );
44 void polish( QPalette& ); 44 virtual void polish( QPalette& );
45 void polish( QApplication* ); 45 virtual void polish( QApplication* a);
46 virtual void unPolish( QWidget * );
47 virtual void unPolish(QApplication *a);
46 48
47 49
48 void drawCheckMark ( QPainter * p, int x, int y, int w, 50 void drawCheckMark ( QPainter * p, int x, int y, int w,
49 int h, const QColorGroup & g, 51 int h, const QColorGroup & g,
50 bool act, bool dis ); 52 bool act, bool dis );
51 void drawArrow(QPainter *p, Qt::ArrowType type, bool down, 53 void drawArrow(QPainter *p, Qt::ArrowType type, bool down,
52 int x, int y, int w, int h, const QColorGroup &g, 54 int x, int y, int w, int h, const QColorGroup &g,
53 bool enabled=true, const QBrush *fill = 0); 55 bool enabled=true, const QBrush *fill = 0);
54 56
55 void drawPushButton(QPushButton* btn, QPainter* p ); 57 void drawPushButton(QPushButton* btn, QPainter* p );
56 void drawPushButtonLabel(QPushButton* btn, QPainter* p ); 58 void drawPushButtonLabel(QPushButton* btn, QPainter* p );
57 void drawPanel(QPainter* p, int , int, int, int, 59 void drawPanel(QPainter* p, int , int, int, int,
58 const QColorGroup&, bool sunken = false, 60 const QColorGroup&, bool sunken = false,
59 int lineWidth = 1, const QBrush *b = 0l ); 61 int lineWidth = 1, const QBrush *b = 0l );
60 void drawButton( QPainter*, int x, int y, int w, int h, 62 void drawButton( QPainter*, int x, int y, int w, int h,
61 const QColorGroup&, bool sunken = false, 63 const QColorGroup&, bool sunken = false,
62 const QBrush* fill = 0); 64 const QBrush* fill = 0);
63 void drawBevelButton(QPainter*, int, int, int, int, 65 void drawBevelButton(QPainter*, int, int, int, int,
64 const QColorGroup&, bool sunken = false, 66 const QColorGroup&, bool sunken = false,
65 const QBrush* fill = 0 ); 67 const QBrush* fill = 0 );
66 void drawFocusRect( QPainter* p, const QRect& r, 68 void drawFocusRect( QPainter* p, const QRect& r,
67 const QColorGroup&, const QColor* = 0, 69 const QColorGroup&, const QColor* = 0,
68 bool atBorder = false ); 70 bool atBorder = false );
69 void drawButtonMask( QPainter* p, int x, int y, 71 void drawButtonMask( QPainter* p, int x, int y,
70 int w, int h ); 72 int w, int h );
71 73
72 74
73 /* Menu Stuff */ 75 /* Menu Stuff */
74 void drawSeperator( QPainter* p, int x, int y, int w, 76 void drawSeperator( QPainter* p, int x, int y, int w,
75 int h, const QColorGroup& group, bool sunken = true, 77 int h, const QColorGroup& group, bool sunken = true,
76 int lineWidth = 1, int midLineWidtth = 0 ); 78 int lineWidth = 1, int midLineWidtth = 0 );
77 void drawMenuBarItem(QPainter* p, int x, int y, int w, int h, 79 void drawMenuBarItem(QPainter* p, int x, int y, int w, int h,
78 QMenuItem *mi, QColorGroup& g, bool enabled, 80 QMenuItem *mi, QColorGroup& g, bool enabled,
79 bool act); 81 bool act);
80 82
81 /* RadioButton, CheckBox... */ 83 /* RadioButton, CheckBox... */
82 void drawIndicator(QPainter* p, int x, int y, int w, int h, 84 void drawIndicator(QPainter* p, int x, int y, int w, int h,
83 const QColorGroup &g, int state, bool down = FALSE, 85 const QColorGroup &g, int state, bool down = FALSE,
84 bool enabled = TRUE ); 86 bool enabled = TRUE );
85 void drawExclusiveIndicator( QPainter*, int, int, int, int, 87 void drawExclusiveIndicator( QPainter*, int, int, int, int,
86 const QColorGroup&, bool on, 88 const QColorGroup&, bool on,
87 bool down = false,bool enabled = true ); 89 bool down = false,bool enabled = true );
88 void drawExclusiveIndicatorMask (QPainter*, int, int, int, int, bool ); 90 void drawExclusiveIndicatorMask (QPainter*, int, int, int, int, bool );
89 91
90 /* spacing,dimensions */ 92 /* spacing,dimensions */
91 int defaultFrameWidth () const; 93 int defaultFrameWidth () const;
92 int popupMenuItemHeight ( bool checkable, 94 int popupMenuItemHeight ( bool checkable,
93 QMenuItem * mi, 95 QMenuItem * mi,
94 const QFontMetrics & fm ); 96 const QFontMetrics & fm );
95 int extraPopupMenuItemWidth(bool checkable, int maxpmw, 97 int extraPopupMenuItemWidth(bool checkable, int maxpmw,
96 QMenuItem* mi, const QFontMetrics& fm ); 98 QMenuItem* mi, const QFontMetrics& fm );
97 99
98 QSize indicatorSize()const; 100 QSize indicatorSize()const;
99 QSize exclusiveIndicatorSize()const; 101 QSize exclusiveIndicatorSize()const;
100 void getButtonShift( int &x, int &y ); 102 void getButtonShift( int &x, int &y );
101 103
102 /* popup drawing */ 104 /* popup drawing */
103 void drawPopupMenuItem ( QPainter * p, bool checkable, int maxpmw, 105 void drawPopupMenuItem ( QPainter * p, bool checkable, int maxpmw,
104 int tab, QMenuItem * mi, 106 int tab, QMenuItem * mi,
105 const QPalette & pal, bool act, 107 const QPalette & pal, bool act,
106 bool enabled, int x, int y, 108 bool enabled, int x, int y,
107 int w, int h ); 109 int w, int h );
108 110
109 /* combo box */ 111 /* combo box */
110 QRect comboButtonRect ( int x, int y, int w, int h ); 112 QRect comboButtonRect ( int x, int y, int w, int h );
111 void drawComboButton( QPainter * p, int x, int y, 113 void drawComboButton( QPainter * p, int x, int y,
112 int w, int h, 114 int w, int h,
113 const QColorGroup & g, 115 const QColorGroup & g,
114 bool sunken = FALSE, 116 bool sunken = FALSE,
115 bool editable = FALSE, 117 bool editable = FALSE,
116 bool enabled = TRUE, 118 bool enabled = TRUE,
117 const QBrush * fill = 0 ); 119 const QBrush * fill = 0 );
118 120
119 /* tabbar */ 121 /* tabbar */
120 void drawTab(QPainter*, const QTabBar*, QTab*, 122 void drawTab(QPainter*, const QTabBar*, QTab*,
121 bool selected ); 123 bool selected );
122 void drawTabMask( QPainter*, const QTabBar*, QTab*, 124 void drawTabMask( QPainter*, const QTabBar*, QTab*,
123 bool ); 125 bool );
124 void tabbarMetrics( const QTabBar* t, int &hframe, int &vframe, int &overlap); 126 void tabbarMetrics( const QTabBar* t, int &hframe, int &vframe, int &overlap);
125 127
126 /* tool button */ 128 /* tool button */
127 void drawToolButton ( QPainter * p, int x, int y, 129 void drawToolButton ( QPainter * p, int x, int y,
128 int w, int h, 130 int w, int h,
129 const QColorGroup & g, 131 const QColorGroup & g,
130 bool sunken = FALSE, 132 bool sunken = FALSE,
131 const QBrush * fill = 0 ); 133 const QBrush * fill = 0 );
132 134
133 /* scrollbar */ 135 /* scrollbar */
134 void drawScrollBarControls ( QPainter *, const QScrollBar *, 136 void drawScrollBarControls ( QPainter *, const QScrollBar *,
135 int sliderStart, uint controls, 137 int sliderStart, uint controls,
136 uint activeControl ); 138 uint activeControl );
137 void scrollBarMetrics( const QScrollBar*, int&, int&, int&, int& ); 139 void scrollBarMetrics( const QScrollBar*, int&, int&, int&, int& );
138 QStyle::ScrollControl scrollBarPointOver( const QScrollBar*, int sliderStart, 140 QStyle::ScrollControl scrollBarPointOver( const QScrollBar*, int sliderStart,
139 const QPoint& ); 141 const QPoint& );
140 142
141 /* slider drawing */ 143 /* slider drawing */
142 void drawSlider ( QPainter * p, int x, int y, int w, int h, 144 void drawSlider ( QPainter * p, int x, int y, int w, int h,
143 const QColorGroup & g, Orientation, 145 const QColorGroup & g, Orientation,
144 bool tickAbove, bool tickBelow ); 146 bool tickAbove, bool tickBelow );
145 147
146 void drawSliderGroove ( QPainter * p, int x, int y, int w, 148 void drawSliderGroove ( QPainter * p, int x, int y, int w,
147 int h, const QColorGroup & g, 149 int h, const QColorGroup & g,
148 QCOORD c, Orientation ); 150 QCOORD c, Orientation );
149private: 151private:
150 void drawPhaseGradient(QPainter* p, 152 void drawPhaseGradient(QPainter* p,
151 const QRect& rec, 153 const QRect& rec,
152 const QColor& col )const; 154 const QColor& col )const;
153 static void scrollBarItemPositions( const QScrollBar *, 155 static void scrollBarItemPositions( const QScrollBar *,
154 const bool horizontal, 156 const bool horizontal,
155 int sliderStart, 157 int sliderStart,
156 int sliderMax, 158 int sliderMax,
157 int sliderLength, 159 int sliderLength,
158 int buttomDim, 160 int buttomDim,
159 QRect& sub, 161 QRect& sub,
160 QRect& add, 162 QRect& add,
161 QRect& subPage, 163 QRect& subPage,
162 QRect& addPage, 164 QRect& addPage,
163 QRect& slider ); 165 QRect& slider );
164}; 166};
165 167
166 168
167#endif 169#endif