summaryrefslogtreecommitdiff
authorzecke <zecke>2004-08-28 21:12:49 (UTC)
committer zecke <zecke>2004-08-28 21:12:49 (UTC)
commit2bc77ab7c6dd7310f95e70d46f4bfc55a84f32cf (patch) (unidiff)
treefc0730cc591fa106c03b7e9ab525a97a34e1fc3b
parent2fa06314f2779b77de9c07c4f9fbd8cb5af8f215 (diff)
downloadopie-2bc77ab7c6dd7310f95e70d46f4bfc55a84f32cf.zip
opie-2bc77ab7c6dd7310f95e70d46f4bfc55a84f32cf.tar.gz
opie-2bc77ab7c6dd7310f95e70d46f4bfc55a84f32cf.tar.bz2
Use the bitmap found on the scrollbar as combobox
indicator. A push effect is missing for that though
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/styles/phase/phasestyle.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/noncore/styles/phase/phasestyle.cpp b/noncore/styles/phase/phasestyle.cpp
index fb6411c..139505f 100644
--- a/noncore/styles/phase/phasestyle.cpp
+++ b/noncore/styles/phase/phasestyle.cpp
@@ -355,773 +355,772 @@ void PhaseStyle::drawPushButtonLabel (QPushButton *button, QPainter *painter) {
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 )
740 kColorBitmaps(p, g, w-16+(6*n), y+(h/2)-2,
741 0, &doodad_mid, &doodad_light, 0, 0, 0 );
739 742
740 bool odd = (h % 2);
741 drawPanel(p, w-15 , y+(h/2)-3, 10, (odd ? 7 : 6 ),
742 g, true , 1, sunken ? &g.brush(QColorGroup::Midlight)
743 : &g.brush(QColorGroup::Mid) );
744 743
745 if (editable ) { 744 if (editable ) {
746 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;
747 p->setPen(g.dark()); 746 p->setPen(g.dark());
748 p->drawLine(x2+1, y, x2+1, y2); 747 p->drawLine(x2+1, y, x2+1, y2);
749 p->setPen(g.midlight()); 748 p->setPen(g.midlight());
750 p->drawLine(x2+2, y, x2+2, y2-1); 749 p->drawLine(x2+2, y, x2+2, y2-1);
751 p->setPen(g.button()); 750 p->setPen(g.button());
752 p->drawPoint(x2+2, y2); 751 p->drawPoint(x2+2, y2);
753 } 752 }
754 753
755 p->setPen(g.buttonText() ); 754 p->setPen(g.buttonText() );
756} 755}
757 756
758 757
759void PhaseStyle::drawTab(QPainter* painter, const QTabBar* bar, QTab* tab, 758void PhaseStyle::drawTab(QPainter* painter, const QTabBar* bar, QTab* tab,
760 bool selected ) { 759 bool selected ) {
761 bool edge = false; 760 bool edge = false;
762 int x, y, w, h; 761 int x, y, w, h;
763 QRect r = tab->rect(); 762 QRect r = tab->rect();
764 r.rect(&x,&y,&w,&h); 763 r.rect(&x,&y,&w,&h);
765 const int x2 = x+w-1; 764 const int x2 = x+w-1;
766 const int y2 = y+h-1; 765 const int y2 = y+h-1;
767 const QColorGroup &group = bar->colorGroup(); 766 const QColorGroup &group = bar->colorGroup();
768 767
769 768
770 painter->save(); 769 painter->save();
771 770
772 // what position is the tab? 771 // what position is the tab?
773 if ((bar->count() == 1 )) 772 if ((bar->count() == 1 ))
774 edge = true; 773 edge = true;
775 else 774 else
776 edge = false; 775 edge = false;
777 776
778 switch (QTabBar::Shape(bar->shape())) { 777 switch (QTabBar::Shape(bar->shape())) {
779 case QTabBar::RoundedAbove: 778 case QTabBar::RoundedAbove:
780 case QTabBar::TriangularAbove: { 779 case QTabBar::TriangularAbove: {
781 if (!selected) { // shorten 780 if (!selected) { // shorten
782 y += 2; h -= 2; 781 y += 2; h -= 2;
783 } 782 }
784 if (selected) { 783 if (selected) {
785 painter->setPen(Qt::NoPen); 784 painter->setPen(Qt::NoPen);
786 painter->fillRect(x+1, y+1, w-1, h-1, 785 painter->fillRect(x+1, y+1, w-1, h-1,
787 group.brush(QColorGroup::Background)); 786 group.brush(QColorGroup::Background));
788 } else 787 } else
789 drawPhaseGradient(painter, QRect(x+1, y+1, w-1, h-2), 788 drawPhaseGradient(painter, QRect(x+1, y+1, w-1, h-2),
790 group.background().dark(contrast) ); 789 group.background().dark(contrast) );
791 790
792 791
793 // draw tab 792 // draw tab
794 painter->setPen(group.dark()); 793 painter->setPen(group.dark());
795 painter->drawLine(x, y, x, y2-2); 794 painter->drawLine(x, y, x, y2-2);
796 painter->drawLine(x+1, y, x2, y); 795 painter->drawLine(x+1, y, x2, y);
797 painter->drawLine(x2, y+1, x2, y2-2); 796 painter->drawLine(x2, y+1, x2, y2-2);
798 797
799 painter->setPen(group.mid()); 798 painter->setPen(group.mid());
800 painter->drawLine(x2-1, y+2, x2-1, y2-2); 799 painter->drawLine(x2-1, y+2, x2-1, y2-2);
801 800
802 painter->setPen(group.midlight()); 801 painter->setPen(group.midlight());
803 painter->drawLine(x+1, y+1, x2-2, y+1); 802 painter->drawLine(x+1, y+1, x2-2, y+1);
804 if ((selected) || edge) painter->drawLine(x+1, y+2, x+1, y2-2); 803 if ((selected) || edge) painter->drawLine(x+1, y+2, x+1, y2-2);
805 804
806 // finish off bottom 805 // finish off bottom
807 if (selected) { 806 if (selected) {
808 painter->setPen(group.dark()); 807 painter->setPen(group.dark());
809 painter->drawPoint(x, y2-1); 808 painter->drawPoint(x, y2-1);
810 painter->drawPoint(x2, y2-1); 809 painter->drawPoint(x2, y2-1);
811 810
812 painter->setPen(group.midlight()); 811 painter->setPen(group.midlight());
813 painter->drawPoint(x, y2); 812 painter->drawPoint(x, y2);
814 painter->drawLine(x+1, y2-1, x+1, y2); 813 painter->drawLine(x+1, y2-1, x+1, y2);
815 painter->drawPoint(x2, y2); 814 painter->drawPoint(x2, y2);
816 815
817 painter->setPen(group.mid()); 816 painter->setPen(group.mid());
818 painter->drawPoint(x2-1, y2-1); 817 painter->drawPoint(x2-1, y2-1);
819 818
820 if (edge) { 819 if (edge) {
821 painter->setPen(group.dark()); 820 painter->setPen(group.dark());
822 painter->drawLine(x, y2-1, x, y2); 821 painter->drawLine(x, y2-1, x, y2);
823 painter->setPen(group.midlight()); 822 painter->setPen(group.midlight());
824 painter->drawPoint(x+1, y2); 823 painter->drawPoint(x+1, y2);
825 } 824 }
826 } else { 825 } else {
827 painter->setPen(group.dark()); 826 painter->setPen(group.dark());
828 painter->drawLine(x, y2-1, x2, y2-1); 827 painter->drawLine(x, y2-1, x2, y2-1);
829 828
830 painter->setPen(group.midlight()); 829 painter->setPen(group.midlight());
831 painter->drawLine(x, y2, x2, y2); 830 painter->drawLine(x, y2, x2, y2);
832 831
833 if (edge) { 832 if (edge) {
834 painter->setPen(group.dark()); 833 painter->setPen(group.dark());
835 painter->drawLine(x, y2-1, x, y2); 834 painter->drawLine(x, y2-1, x, y2);
836 } 835 }
837 } 836 }
838 break; 837 break;
839 } 838 }
840 case QTabBar::RoundedBelow: 839 case QTabBar::RoundedBelow:
841 case QTabBar::TriangularBelow: { 840 case QTabBar::TriangularBelow: {
842 painter->setBrush( group.background().dark(contrast)); 841 painter->setBrush( group.background().dark(contrast));
843 painter->setPen(Qt::NoPen); 842 painter->setPen(Qt::NoPen);
844 painter->fillRect(x+1, y+1, w-1, h-1, painter->brush()); 843 painter->fillRect(x+1, y+1, w-1, h-1, painter->brush());
845 844
846 // draw tab 845 // draw tab
847 painter->setPen(group.dark()); 846 painter->setPen(group.dark());
848 painter->drawLine(x, y+1, x, y2); 847 painter->drawLine(x, y+1, x, y2);
849 painter->drawLine(x+1, y2, x2, y2); 848 painter->drawLine(x+1, y2, x2, y2);
850 painter->drawLine(x2, y+1, x2, y2-1); 849 painter->drawLine(x2, y+1, x2, y2-1);
851 850
852 painter->setPen(group.mid()); 851 painter->setPen(group.mid());
853 painter->drawLine(x2-1, y+1, x2-1, y2-1); 852 painter->drawLine(x2-1, y+1, x2-1, y2-1);
854 painter->drawLine(x+2, y2-1, x2-1, y2-1); 853 painter->drawLine(x+2, y2-1, x2-1, y2-1);
855 painter->drawPoint(x, y); 854 painter->drawPoint(x, y);
856 painter->drawPoint(x2, y); 855 painter->drawPoint(x2, y);
857 856
858 if ((selected) || edge) { 857 if ((selected) || edge) {
859 painter->setPen(group.midlight()); 858 painter->setPen(group.midlight());
860 painter->drawLine(x+1, y+1, x+1, y2-2); 859 painter->drawLine(x+1, y+1, x+1, y2-2);
861 } 860 }
862 861
863 // finish off top 862 // finish off top
864 if (selected) { 863 if (selected) {
865 if (edge) { 864 if (edge) {
866 painter->setPen(group.dark()); 865 painter->setPen(group.dark());
867 painter->drawPoint(x, y); 866 painter->drawPoint(x, y);
868 painter->setPen(group.midlight()); 867 painter->setPen(group.midlight());
869 painter->drawPoint(x+1, y); 868 painter->drawPoint(x+1, y);
870 } 869 }
871 } else { 870 } else {
872 painter->setPen(group.dark()); 871 painter->setPen(group.dark());
873 painter->drawLine(x, y+1, x2, y+1); 872 painter->drawLine(x, y+1, x2, y+1);
874 873
875 painter->setPen(group.mid()); 874 painter->setPen(group.mid());
876 painter->drawLine(x, y, x2, y); 875 painter->drawLine(x, y, x2, y);
877 876
878 if (edge) { 877 if (edge) {
879 painter->setPen(group.dark()); 878 painter->setPen(group.dark());
880 painter->drawPoint(x, y); 879 painter->drawPoint(x, y);
881 } 880 }
882 } 881 }
883 break; 882 break;
884 } 883 }
885 } 884 }
886 885
887 painter->restore(); 886 painter->restore();
888} 887}
889 888
890void PhaseStyle::drawTabMask( QPainter* p, const QTabBar*, QTab* tab, 889void PhaseStyle::drawTabMask( QPainter* p, const QTabBar*, QTab* tab,
891 bool ) { 890 bool ) {
892 p->fillRect(tab->rect(), Qt::color1); 891 p->fillRect(tab->rect(), Qt::color1);
893} 892}
894 893
895void PhaseStyle::drawToolButton(QPainter * p, int x, int y, 894void PhaseStyle::drawToolButton(QPainter * p, int x, int y,
896 int w, int h, const QColorGroup & g, 895 int w, int h, const QColorGroup & g,
897 bool sunken, 896 bool sunken,
898 const QBrush * fill ) { 897 const QBrush * fill ) {
899 QRect r(x, y, w, h ); 898 QRect r(x, y, w, h );
900 p->fillRect(r, g.background()); 899 p->fillRect(r, g.background());
901 900
902 drawPanel(p, x, y, w, h, g, sunken, 1, 901 drawPanel(p, x, y, w, h, g, sunken, 1,
903 fill ? fill : &g.brush(QColorGroup::Button) ); 902 fill ? fill : &g.brush(QColorGroup::Button) );
904 903
905 904
906 p->setPen(g.text() ); 905 p->setPen(g.text() );
907} 906}
908 907
909 908
910/* 909/*
911 * LGPLv2 Copyright (C) 2001 Rik Hemsley (rikkus) <rik@kde.org> 910 * LGPLv2 Copyright (C) 2001 Rik Hemsley (rikkus) <rik@kde.org>
912 * 911 *
913 * ../web/webstyle.cpp 912 * ../web/webstyle.cpp
914 */ 913 */
915void PhaseStyle::scrollBarMetrics(const QScrollBar* sb, int& sliderMin, 914void PhaseStyle::scrollBarMetrics(const QScrollBar* sb, int& sliderMin,
916 int& sliderMax, int &sliderLength, 915 int& sliderMax, int &sliderLength,
917 int& buttonDim ) { 916 int& buttonDim ) {
918 int maxlen; 917 int maxlen;
919 bool horizontal = sb->orientation() == QScrollBar::Horizontal; 918 bool horizontal = sb->orientation() == QScrollBar::Horizontal;
920 int len = (horizontal) ? sb->width() : sb->height(); 919 int len = (horizontal) ? sb->width() : sb->height();
921 int extent = (horizontal) ? sb->height() : sb->width(); 920 int extent = (horizontal) ? sb->height() : sb->width();
922 921
923 if (len > (extent - 1) * 2) 922 if (len > (extent - 1) * 2)
924 buttonDim = extent; 923 buttonDim = extent;
925 else 924 else
926 buttonDim = len / 2 - 1; 925 buttonDim = len / 2 - 1;
927 926
928 if (horizontal) 927 if (horizontal)
929 sliderMin = buttonDim * 2; 928 sliderMin = buttonDim * 2;
930 else 929 else
931 sliderMin = 1; 930 sliderMin = 1;
932 931
933 maxlen = len - buttonDim * 2 - 1; 932 maxlen = len - buttonDim * 2 - 1;
934 int div = QMAX(1, (sb->maxValue() - sb->minValue() + sb->pageStep() ) ); 933 int div = QMAX(1, (sb->maxValue() - sb->minValue() + sb->pageStep() ) );
935 934
936 sliderLength = 935 sliderLength =
937 (sb->pageStep() * maxlen) / div; 936 (sb->pageStep() * maxlen) / div;
938 937
939 if (sliderLength < SCROLLBAR_EXTENT) 938 if (sliderLength < SCROLLBAR_EXTENT)
940 sliderLength = SCROLLBAR_EXTENT; 939 sliderLength = SCROLLBAR_EXTENT;
941 940
942 if (sliderLength > maxlen) 941 if (sliderLength > maxlen)
943 sliderLength = maxlen; 942 sliderLength = maxlen;
944 943
945 sliderMax = sliderMin + maxlen - sliderLength; 944 sliderMax = sliderMin + maxlen - sliderLength;
946} 945}
947 946
948void PhaseStyle::drawScrollBarControls( QPainter* p, const QScrollBar *sb, 947void PhaseStyle::drawScrollBarControls( QPainter* p, const QScrollBar *sb,
949 int sliderStart, uint controls, 948 int sliderStart, uint controls,
950 uint activeControl) { 949 uint activeControl) {
951 const bool horizontal = (sb->orientation() == Qt::Horizontal ); 950 const bool horizontal = (sb->orientation() == Qt::Horizontal );
952 int sliderMin, sliderMax, sliderLength, buttonDim; 951 int sliderMin, sliderMax, sliderLength, buttonDim;
953 const QColorGroup& g = sb->colorGroup(); 952 const QColorGroup& g = sb->colorGroup();
954 QRect sub, add, subPage, addPage, slider; 953 QRect sub, add, subPage, addPage, slider;
955 int x, y, x2, y2; 954 int x, y, x2, y2;
956 955
957 scrollBarMetrics( sb, sliderMin, sliderMax, sliderLength, buttonDim ); 956 scrollBarMetrics( sb, sliderMin, sliderMax, sliderLength, buttonDim );
958 957
959 /* lets get the positions */ 958 /* lets get the positions */
960 scrollBarItemPositions(sb, horizontal, sliderStart, 959 scrollBarItemPositions(sb, horizontal, sliderStart,
961 sliderMax, sliderLength, buttonDim, 960 sliderMax, sliderLength, buttonDim,
962 sub, add, subPage, addPage, 961 sub, add, subPage, addPage,
963 slider ); 962 slider );
964 963
965 964
966 /* sanity */ 965 /* sanity */
967 if ( sliderStart > sliderMax ) 966 if ( sliderStart > sliderMax )
968 sliderStart = sliderMax; 967 sliderStart = sliderMax;
969 968
970 // addline 969 // addline
971 if ( controls & AddLine && add.isValid() ) { 970 if ( controls & AddLine && add.isValid() ) {
972 x = add.x(); y = add.y(); 971 x = add.x(); y = add.y();
973 x2 = add.width(); y2 = add.height(); 972 x2 = add.width(); y2 = add.height();
974 const bool down = (activeControl & AddLine ); 973 const bool down = (activeControl & AddLine );
975 drawBevelButton(p, x, y, x2, y2, g, down, 974 drawBevelButton(p, x, y, x2, y2, g, down,
976 &g.brush(QColorGroup::Button)); 975 &g.brush(QColorGroup::Button));
977 976
978 Qt::ArrowType arrow = horizontal ? RightArrow : DownArrow; 977 Qt::ArrowType arrow = horizontal ? RightArrow : DownArrow;
979 if (down ) { 978 if (down ) {
980 switch (arrow ) { 979 switch (arrow ) {
981 case DownArrow: y++; break; 980 case DownArrow: y++; break;
982 case RightArrow: x++; break; 981 case RightArrow: x++; break;
983 default: break; 982 default: break;
984 } 983 }
985 } 984 }
986 drawArrow( p, arrow, down, x, y, x2, y2, g, true ); 985 drawArrow( p, arrow, down, x, y, x2, y2, g, true );
987 } 986 }
988 987
989 if ( controls & SubLine && sub.isValid() ) { 988 if ( controls & SubLine && sub.isValid() ) {
990 x = sub.x(); y = sub.y(); 989 x = sub.x(); y = sub.y();
991 x2 = sub.width(); y2 = sub.height(); 990 x2 = sub.width(); y2 = sub.height();
992 const bool down = (activeControl & SubLine ); 991 const bool down = (activeControl & SubLine );
993 drawBevelButton(p, x, y, x2, y2, g, down, 992 drawBevelButton(p, x, y, x2, y2, g, down,
994 &g.brush(QColorGroup::Button)); 993 &g.brush(QColorGroup::Button));
995 994
996 Qt::ArrowType arrow = horizontal ? LeftArrow : UpArrow; 995 Qt::ArrowType arrow = horizontal ? LeftArrow : UpArrow;
997 if (down ) { 996 if (down ) {
998 switch (arrow ) { 997 switch (arrow ) {
999 case UpArrow: y--; break; 998 case UpArrow: y--; break;
1000 case LeftArrow: x--; break; 999 case LeftArrow: x--; break;
1001 default: break; 1000 default: break;
1002 } 1001 }
1003 } 1002 }
1004 drawArrow( p, arrow, down, x, y, x2, y2, g, true ); 1003 drawArrow( p, arrow, down, x, y, x2, y2, g, true );
1005 } 1004 }
1006 1005
1007 if ( controls & AddPage && addPage.isValid() ) { 1006 if ( controls & AddPage && addPage.isValid() ) {
1008 x = addPage.x(); y = addPage.y(); 1007 x = addPage.x(); y = addPage.y();
1009 x2 = addPage.right(); y2 = addPage.bottom(); 1008 x2 = addPage.right(); y2 = addPage.bottom();
1010 1009
1011 p->fillRect(addPage, g.mid()); 1010 p->fillRect(addPage, g.mid());
1012 p->setPen(g.dark()); 1011 p->setPen(g.dark());
1013 if (horizontal) { // vertical 1012 if (horizontal) { // vertical
1014 p->drawLine(x, y, x2, y); 1013 p->drawLine(x, y, x2, y);
1015 p->drawLine(x, y2, x2, y2); 1014 p->drawLine(x, y2, x2, y2);
1016 } else { // horizontal 1015 } else { // horizontal
1017 p->drawLine(x, y, x, y2); 1016 p->drawLine(x, y, x, y2);
1018 p->drawLine(x2, y, x2, y2); 1017 p->drawLine(x2, y, x2, y2);
1019 } 1018 }
1020 } 1019 }
1021 1020
1022 if ( controls & SubPage && subPage.isValid() ) { 1021 if ( controls & SubPage && subPage.isValid() ) {
1023 x = subPage.x(); y = subPage.y(); 1022 x = subPage.x(); y = subPage.y();
1024 x2 = subPage.right(); y2 = subPage.bottom(); 1023 x2 = subPage.right(); y2 = subPage.bottom();
1025 1024
1026 p->fillRect(subPage, g.mid()); 1025 p->fillRect(subPage, g.mid());
1027 p->setPen(g.dark()); 1026 p->setPen(g.dark());
1028 if (horizontal) { // vertical 1027 if (horizontal) { // vertical
1029 p->drawLine(x, y, x2, y); 1028 p->drawLine(x, y, x2, y);
1030 p->drawLine(x, y2, x2, y2); 1029 p->drawLine(x, y2, x2, y2);
1031 } else { // horizontal 1030 } else { // horizontal
1032 p->drawLine(x, y, x, y2); 1031 p->drawLine(x, y, x, y2);
1033 p->drawLine(x2, y, x2, y2); 1032 p->drawLine(x2, y, x2, y2);
1034 } 1033 }
1035} 1034}
1036 1035
1037 if ( controls & Slider && slider.isValid() ) { 1036 if ( controls & Slider && slider.isValid() ) {
1038 x = slider.x(); y = slider.y(); 1037 x = slider.x(); y = slider.y();
1039 x2 = slider.width(); y2 = slider.height(); 1038 x2 = slider.width(); y2 = slider.height();
1040 const bool down = ( activeControl & Slider ); 1039 const bool down = ( activeControl & Slider );
1041 int cx = x + x2/2 -2; int cy = y + y2/2 -2; 1040 int cx = x + x2/2 -2; int cy = y + y2/2 -2;
1042 1041
1043 drawBevelButton(p, x, y, x2, y2, g, down, 1042 drawBevelButton(p, x, y, x2, y2, g, down,
1044 &g.brush(QColorGroup::Button) ); 1043 &g.brush(QColorGroup::Button) );
1045 1044
1046 if (horizontal && (x2 >=20)) { 1045 if (horizontal && (x2 >=20)) {
1047 for (int n = -5; n <= 5; n += 5) 1046 for (int n = -5; n <= 5; n += 5)
1048 kColorBitmaps(p, g, cx+n, cy, 1047 kColorBitmaps(p, g, cx+n, cy,
1049 0, &doodad_mid, &doodad_light, 0, 0, 0); 1048 0, &doodad_mid, &doodad_light, 0, 0, 0);
1050 } else if (!horizontal && (y2 >= 20)) { 1049 } else if (!horizontal && (y2 >= 20)) {
1051 for (int n = -5; n <= 5; n += 5) 1050 for (int n = -5; n <= 5; n += 5)
1052 kColorBitmaps(p, g, cx, cy+n, 1051 kColorBitmaps(p, g, cx, cy+n,
1053 0, &doodad_mid, &doodad_light, 0, 0, 0); 1052 0, &doodad_mid, &doodad_light, 0, 0, 0);
1054 } 1053 }
1055 1054
1056 if ( sb->hasFocus() && down ) { 1055 if ( sb->hasFocus() && down ) {
1057 slider = QRect(slider.x()+2, slider.y()+2, 1056 slider = QRect(slider.x()+2, slider.y()+2,
1058 slider.width()-2, slider.height()-2 ); 1057 slider.width()-2, slider.height()-2 );
1059 drawFocusRect(p, slider, g, false ); 1058 drawFocusRect(p, slider, g, false );
1060 } 1059 }
1061 1060
1062 } 1061 }
1063} 1062}
1064 1063
1065/* 1064/*
1066 * LGPLv2 Copyright (C) 2001 Rik Hemsley (rikkus) <rik@kde.org> 1065 * LGPLv2 Copyright (C) 2001 Rik Hemsley (rikkus) <rik@kde.org>
1067 * 1066 *
1068 * ../web/webstyle.cpp 1067 * ../web/webstyle.cpp
1069 */ 1068 */
1070QStyle::ScrollControl PhaseStyle::scrollBarPointOver( const QScrollBar * sb, 1069QStyle::ScrollControl PhaseStyle::scrollBarPointOver( const QScrollBar * sb,
1071 int sliderStart, 1070 int sliderStart,
1072 const QPoint & point ) { 1071 const QPoint & point ) {
1073 if (!sb->rect().contains(point)) 1072 if (!sb->rect().contains(point))
1074 return NoScroll; 1073 return NoScroll;
1075 1074
1076 int sliderMin, sliderMax, sliderLength, buttonDim; 1075 int sliderMin, sliderMax, sliderLength, buttonDim;
1077 scrollBarMetrics(sb, sliderMin, sliderMax, sliderLength, buttonDim); 1076 scrollBarMetrics(sb, sliderMin, sliderMax, sliderLength, buttonDim);
1078 1077
1079 if (sb->orientation() == QScrollBar::Horizontal) { 1078 if (sb->orientation() == QScrollBar::Horizontal) {
1080 int x = point.x(); 1079 int x = point.x();
1081 1080
1082 if (x <= buttonDim) 1081 if (x <= buttonDim)
1083 return SubLine; 1082 return SubLine;
1084 else if (x <= buttonDim * 2) 1083 else if (x <= buttonDim * 2)
1085 return AddLine; 1084 return AddLine;
1086 else if (x < sliderStart) 1085 else if (x < sliderStart)
1087 return SubPage; 1086 return SubPage;
1088 else if (x < sliderStart+sliderLength) 1087 else if (x < sliderStart+sliderLength)
1089 return Slider; 1088 return Slider;
1090 else 1089 else
1091 return AddPage; 1090 return AddPage;
1092 } else { 1091 } else {
1093 int y = point.y(); 1092 int y = point.y();
1094 1093
1095 if (y < sliderStart) 1094 if (y < sliderStart)
1096 return SubPage; 1095 return SubPage;
1097 else if (y < sliderStart + sliderLength) 1096 else if (y < sliderStart + sliderLength)
1098 return Slider; 1097 return Slider;
1099 else if (y < sliderMax + sliderLength) 1098 else if (y < sliderMax + sliderLength)
1100 return AddPage; 1099 return AddPage;
1101 else if (y < sliderMax + sliderLength + buttonDim) 1100 else if (y < sliderMax + sliderLength + buttonDim)
1102 return SubLine; 1101 return SubLine;
1103 else 1102 else
1104 return AddLine; 1103 return AddLine;
1105 } 1104 }
1106} 1105}
1107 1106
1108/* 1107/*
1109 * LGPLv2 Copyright (C) 2001 Rik Hemsley (rikkus) <rik@kde.org> 1108 * LGPLv2 Copyright (C) 2001 Rik Hemsley (rikkus) <rik@kde.org>
1110 * 1109 *
1111 * ../web/webstyle.cpp 1110 * ../web/webstyle.cpp
1112 * scrollBarControlsMetrics 1111 * scrollBarControlsMetrics
1113 */ 1112 */
1114void PhaseStyle::scrollBarItemPositions( const QScrollBar* sb, const bool horizontal, 1113void PhaseStyle::scrollBarItemPositions( const QScrollBar* sb, const bool horizontal,
1115 int sliderStart, int sliderMax, 1114 int sliderStart, int sliderMax,
1116 int sliderLength, int buttonDim, 1115 int sliderLength, int buttonDim,
1117 QRect &rSub, QRect& rAdd, QRect& rSubPage, 1116 QRect &rSub, QRect& rAdd, QRect& rSubPage,
1118 QRect &rAddPage, QRect& rSlider ) { 1117 QRect &rAddPage, QRect& rSlider ) {
1119 1118
1120 int len = horizontal ? sb->width() : sb->height(); 1119 int len = horizontal ? sb->width() : sb->height();
1121 int extent = horizontal ? sb->height() : sb->width(); 1120 int extent = horizontal ? sb->height() : sb->width();
1122 1121
1123 QColorGroup g = sb->colorGroup(); 1122 QColorGroup g = sb->colorGroup();
1124 1123
1125 if (sliderStart > sliderMax) 1124 if (sliderStart > sliderMax)
1126 sliderStart = sliderMax; 1125 sliderStart = sliderMax;
1127 1126