summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--library/qpedecoration_qws.cpp55
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
@@ -284,88 +284,63 @@ void QPEManager::whatsThisTimeout()
284 if ( !QWhatsThis::inWhatsThisMode() ) { 284 if ( !QWhatsThis::inWhatsThisMode() ) {
285 if ( inWhatsThis ) { 285 if ( inWhatsThis ) {
286 if ( whatsThis ) { 286 if ( whatsThis ) {
287 QWidget *w = whatsThis; 287 QWidget *w = whatsThis;
288 whatsThis = 0; 288 whatsThis = 0;
289 drawTitle( w ); 289 drawTitle( w );
290 } 290 }
291 wtTimer->stop(); 291 wtTimer->stop();
292 } else { 292 } else {
293 QWhatsThis::enterWhatsThisMode(); 293 QWhatsThis::enterWhatsThisMode();
294 helpState = 0; 294 helpState = 0;
295 updateActive(); 295 updateActive();
296 if ( active ) { 296 if ( active ) {
297 whatsThis = active; 297 whatsThis = active;
298 drawTitle( active ); 298 drawTitle( active );
299 // check periodically to see if we've left whats this mode 299 // check periodically to see if we've left whats this mode
300 wtTimer->start( 250 ); 300 wtTimer->start( 250 );
301 } 301 }
302 } 302 }
303 inWhatsThis = !inWhatsThis; 303 inWhatsThis = !inWhatsThis;
304 } 304 }
305} 305}
306 306
307//=========================================================================== 307//===========================================================================
308 308#define IMAGE_METHOD( methodName, imageName ) \
309static QImage *okImage( int th ) 309static QImage* methodName( int th ) { \
310{ 310 static QImage *i = 0; \
311 static QImage *i = 0; 311 if ( !i || ::abs( i->height()-th ) > 4 ) { \
312 if ( !i || ::abs( i->height()-th ) > 4 ) { 312 delete i; \
313 delete i; 313 i = new QImage(scaleButton(Resource::loadImage(#imageName),th)); \
314 i = new QImage(scaleButton(Resource::loadImage("OKButton"),th)); 314 } \
315 } 315 \
316 return i; 316 return i; \
317} 317}
318 318
319static QImage *closeImage( int th ) 319IMAGE_METHOD(okImage, OKButton );
320{ 320IMAGE_METHOD(closeImage, CloseButton );
321 static QImage *i = 0; 321IMAGE_METHOD(helpImage, HelpButton );
322 if ( !i || ::abs( i->height()-th ) > 4 ) { 322IMAGE_METHOD(maximizeImage,MaximizeButton );
323 delete i;
324 i = new QImage(scaleButton(Resource::loadImage("CloseButton"),th));
325 }
326 return i;
327}
328
329static QImage *helpImage( int th )
330{
331 static QImage *i = 0;
332 if ( !i || ::abs( i->height()-th ) > 4 ) {
333 delete i;
334 i = new QImage(scaleButton(Resource::loadImage("HelpButton"),th));
335 }
336 return i;
337}
338
339static QImage *maximizeImage( int th )
340{
341 static QImage *i = 0;
342 if ( !i || ::abs( i->height()-th ) > 4 ) {
343 delete i;
344 i = new QImage(scaleButton(Resource::loadImage("MaximizeButton"),th));
345 }
346 return i;
347}
348 323
349int WindowDecorationInterface::metric( Metric m, const WindowData *wd ) const 324int WindowDecorationInterface::metric( Metric m, const WindowData *wd ) const
350{ 325{
351 switch ( m ) { 326 switch ( m ) {
352 case TitleHeight: 327 case TitleHeight:
353 if ( QApplication::desktop()->height() > 320 ) 328 if ( QApplication::desktop()->height() > 320 )
354 return 19; 329 return 19;
355 else 330 else
356 return 15; 331 return 15;
357 case LeftBorder: 332 case LeftBorder:
358 case RightBorder: 333 case RightBorder:
359 case TopBorder: 334 case TopBorder:
360 case BottomBorder: 335 case BottomBorder:
361 return 4; 336 return 4;
362 case OKWidth: 337 case OKWidth:
363 return okImage(metric(TitleHeight,wd))->width(); 338 return okImage(metric(TitleHeight,wd))->width();
364 case CloseWidth: 339 case CloseWidth:
365 return closeImage(metric(TitleHeight,wd))->width(); 340 return closeImage(metric(TitleHeight,wd))->width();
366 case HelpWidth: 341 case HelpWidth:
367 return helpImage(metric(TitleHeight,wd))->width(); 342 return helpImage(metric(TitleHeight,wd))->width();
368 case MaximizeWidth: 343 case MaximizeWidth:
369 return maximizeImage(metric(TitleHeight,wd))->width(); 344 return maximizeImage(metric(TitleHeight,wd))->width();
370 case CornerGrabSize: 345 case CornerGrabSize:
371 return 16; 346 return 16;