-rw-r--r-- | core/launcher/launcherview.cpp | 47 |
1 files changed, 27 insertions, 20 deletions
diff --git a/core/launcher/launcherview.cpp b/core/launcher/launcherview.cpp index 5daaeff..33717bc 100644 --- a/core/launcher/launcherview.cpp +++ b/core/launcher/launcherview.cpp @@ -99,25 +99,14 @@ public: QIconViewItem *c = on ? currentItem() : 0; + qDebug ( "set busy %d -> %s", on, c ? c-> text ().latin1() : "(null)" ); + if ( bsy != c ) { - if ( bsy ) - bsy-> repaint ( ); + QIconViewItem *oldbsy = bsy; bsy = c; - if ( bsy ) { - busystate = 5; - for ( int i = 0; i <= 5; i++ ) - bpm [i] = QPixmap ( ); - timerEvent ( 0 ); - busytimer = startTimer ( 150 ); - } - else - killTimer ( busytimer ); - } - } + if ( oldbsy ) + oldbsy-> repaint ( ); - virtual void timerEvent ( QTimerEvent *te ) - { - if ( !te || ( te-> timerId ( ) == busytimer )) { if ( bsy ) { - if ( bpm [::abs(busystate)]. isNull ( )) { QPixmap *src = bsy-> QIconViewItem::pixmap(); + for ( int i = 0; i <= 5; i++ ) { QImage img = src->convertToImage(); @@ -133,3 +122,3 @@ public: int rc, gc, bc; - int bs = ::abs ( busystate * 10 ) + 25; + int bs = ::abs ( i * 10 ) + 25; colorGroup().highlight().rgb( &rc, &gc, &bc ); @@ -147,6 +136,21 @@ public: - bpm [::abs(busystate)].convertFromImage( img ); + bpm [i].convertFromImage( img ); + } + busystate = 0; + if ( busytimer ) + killTimer ( busytimer ); + timerEvent ( 0 ); + busytimer = startTimer ( 180 ); + } + else { + killTimer ( busytimer ); + busytimer = 0; + } + } } - bsy-> repaint ( ); + virtual void timerEvent ( QTimerEvent *te ) + { + if ( !te || ( te-> timerId ( ) == busytimer )) { + if ( bsy ) { busystate++; @@ -154,2 +158,4 @@ public: busystate = -4; + + bsy-> repaint ( ); } @@ -208,2 +214,3 @@ public: if ( !bgPixmap.isNull() ) { + p-> fillRect ( r, bgColor ); p->drawTiledPixmap( r, bgPixmap, |