-rw-r--r-- | library/qpedecoration_qws.cpp | 55 |
1 files changed, 15 insertions, 40 deletions
diff --git a/library/qpedecoration_qws.cpp b/library/qpedecoration_qws.cpp index fb47c14..1afae88 100644 --- a/library/qpedecoration_qws.cpp +++ b/library/qpedecoration_qws.cpp @@ -276,104 +276,79 @@ void QPEManager::drawTitle( QWidget *w ) decoration->paintButton(&painter, w, QWSDecoration::Menu, 0); decoration->paintButton(&painter, w, QWSDecoration::Close, 0); decoration->paintButton(&painter, w, QWSDecoration::Minimize, 0); decoration->paintButton(&painter, w, QWSDecoration::Maximize, 0); } void QPEManager::whatsThisTimeout() { if ( !QWhatsThis::inWhatsThisMode() ) { if ( inWhatsThis ) { if ( whatsThis ) { QWidget *w = whatsThis; whatsThis = 0; drawTitle( w ); } wtTimer->stop(); } else { QWhatsThis::enterWhatsThisMode(); helpState = 0; updateActive(); if ( active ) { whatsThis = active; drawTitle( active ); // check periodically to see if we've left whats this mode wtTimer->start( 250 ); } } inWhatsThis = !inWhatsThis; } } //=========================================================================== - -static QImage *okImage( int th ) -{ - static QImage *i = 0; - if ( !i || ::abs( i->height()-th ) > 4 ) { - delete i; - i = new QImage(scaleButton(Resource::loadImage("OKButton"),th)); - } - return i; -} - -static QImage *closeImage( int th ) -{ - static QImage *i = 0; - if ( !i || ::abs( i->height()-th ) > 4 ) { - delete i; - i = new QImage(scaleButton(Resource::loadImage("CloseButton"),th)); - } - return i; -} - -static QImage *helpImage( int th ) -{ - static QImage *i = 0; - if ( !i || ::abs( i->height()-th ) > 4 ) { - delete i; - i = new QImage(scaleButton(Resource::loadImage("HelpButton"),th)); - } - return i; -} - -static QImage *maximizeImage( int th ) -{ - static QImage *i = 0; - if ( !i || ::abs( i->height()-th ) > 4 ) { - delete i; - i = new QImage(scaleButton(Resource::loadImage("MaximizeButton"),th)); - } - return i; -} +#define IMAGE_METHOD( methodName, imageName ) \ +static QImage* methodName( int th ) { \ + static QImage *i = 0; \ + if ( !i || ::abs( i->height()-th ) > 4 ) { \ + delete i; \ + i = new QImage(scaleButton(Resource::loadImage(#imageName),th)); \ + } \ + \ + return i; \ +} + +IMAGE_METHOD(okImage, OKButton ); +IMAGE_METHOD(closeImage, CloseButton ); +IMAGE_METHOD(helpImage, HelpButton ); +IMAGE_METHOD(maximizeImage,MaximizeButton ); int WindowDecorationInterface::metric( Metric m, const WindowData *wd ) const { switch ( m ) { case TitleHeight: if ( QApplication::desktop()->height() > 320 ) return 19; else return 15; case LeftBorder: case RightBorder: case TopBorder: case BottomBorder: return 4; case OKWidth: return okImage(metric(TitleHeight,wd))->width(); case CloseWidth: return closeImage(metric(TitleHeight,wd))->width(); case HelpWidth: return helpImage(metric(TitleHeight,wd))->width(); case MaximizeWidth: return maximizeImage(metric(TitleHeight,wd))->width(); case CornerGrabSize: return 16; } return 0; } void WindowDecorationInterface::drawArea( Area a, QPainter *p, const WindowData *wd ) const { int th = metric( TitleHeight, wd ); |