summaryrefslogtreecommitdiff
path: root/noncore/styles
authoralwin <alwin>2004-11-02 12:35:34 (UTC)
committer alwin <alwin>2004-11-02 12:35:34 (UTC)
commite246d0590286f6b9b0d5d40f1a17caa78c015b21 (patch) (unidiff)
tree96195461536b3821482df56d4f7a0b6683092aed /noncore/styles
parente83e5bd3f26270d61a83b8b91e07b35d2657d060 (diff)
downloadopie-e246d0590286f6b9b0d5d40f1a17caa78c015b21.zip
opie-e246d0590286f6b9b0d5d40f1a17caa78c015b21.tar.gz
opie-e246d0590286f6b9b0d5d40f1a17caa78c015b21.tar.bz2
uiuiui - fixed a bug which let running applications crash if switched style
from phase to any other. Reason was that in phase-style a special menubaritem- drawroutine was set but not RESET to qte default if this style was removed I'd implemented the unPolish routine and just set this callback to 0 (qt-default) and now it works nice.
Diffstat (limited to 'noncore/styles') (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
@@ -315,12 +315,17 @@ void PhaseStyle::polish( QWidget* widget ) {
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));
@@ -334,12 +339,17 @@ void PhaseStyle::polish( QPalette &pal ) {
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 );
@@ -628,21 +638,21 @@ void PhaseStyle::drawPopupMenuItem ( QPainter * p, bool checkable,
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;
@@ -773,15 +783,15 @@ void PhaseStyle::drawTab(QPainter* painter, const QTabBar* bar, QTab* tab,
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;
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
@@ -37,15 +37,17 @@ class 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,