summaryrefslogtreecommitdiff
authoralwin <alwin>2004-11-02 12:35:34 (UTC)
committer alwin <alwin>2004-11-02 12:35:34 (UTC)
commite246d0590286f6b9b0d5d40f1a17caa78c015b21 (patch) (side-by-side diff)
tree96195461536b3821482df56d4f7a0b6683092aed
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 (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
@@ -317,8 +317,13 @@ void PhaseStyle::polish( QWidget* widget ) {
// }
#endif
}
+void PhaseStyle::unPolish( QWidget *w )
+{
+ QWindowsStyle::unPolish( w );
+}
+
void PhaseStyle::polish( QPalette &pal ) {
QWindowsStyle::polish( pal );
// lighten up a bit, so the look is not so "crisp"
if (QPixmap::defaultDepth() > 8) { // but not on low color displays
@@ -336,8 +341,13 @@ void PhaseStyle::polish( QApplication* app ) {
qt_set_draw_menu_bar_impl((QDrawMenuBarItemImpl)&PhaseStyle::drawMenuBarItem);
}
+void PhaseStyle::unPolish( QApplication* app ) {
+ QWindowsStyle::unPolish(app);
+ qt_set_draw_menu_bar_impl ( 0 );
+}
+
void PhaseStyle::drawPushButtonLabel (QPushButton *button, QPainter *painter) {
bool active = button->isOn() || button->isDown();
QRect r = pushButtonContentsRect( button );
QColorGroup group = button->colorGroup();
@@ -630,17 +640,17 @@ void PhaseStyle::drawPopupMenuItem ( QPainter * p, bool checkable,
p->fillRect(x, y, w, h, g.background() );
// draw seperator
if (mi->isSeparator() ) {
- p->setPen( g.dark() );
- p->drawLine( x+8, y+1, x+w-8, y+1 );
+ p->setPen( g.dark() );
+ p->drawLine( x+8, y+1, x+w-8, y+1 );
p->setPen( g.mid() );
p->drawLine( x+8, y, x+w-8, y );
p->drawPoint(x+w,y+1);
- p->setPen( g.midlight() );
- p->drawLine( x+8, y-1, x+w-8, y-1 );
+ p->setPen( g.midlight() );
+ p->drawLine( x+8, y-1, x+w-8, y-1 );
p->drawPoint(x+8, y );
return;
}
@@ -775,11 +785,11 @@ void PhaseStyle::drawTab(QPainter* painter, const QTabBar* bar, QTab* tab,
painter->save();
// what position is the tab?
if ((bar->count() == 1 ))
- edge = true;
+ edge = true;
else
- edge = false;
+ edge = false;
switch (QTabBar::Shape(bar->shape())) {
case QTabBar::RoundedAbove:
case QTabBar::TriangularAbove: {
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
@@ -39,11 +39,13 @@ class PhaseStyle : public QWindowsStyle
public:
PhaseStyle();
virtual ~PhaseStyle();
- void polish( QWidget * );
- void polish( QPalette& );
- void polish( QApplication* );
+ virtual void polish( QWidget * );
+ virtual void polish( QPalette& );
+ virtual void polish( QApplication* a);
+ virtual void unPolish( QWidget * );
+ virtual void unPolish(QApplication *a);
void drawCheckMark ( QPainter * p, int x, int y, int w,
int h, const QColorGroup & g,