summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--core/launcher/launcherview.cpp25
1 files changed, 13 insertions, 12 deletions
diff --git a/core/launcher/launcherview.cpp b/core/launcher/launcherview.cpp
index dbcb0d7..5daaeff 100644
--- a/core/launcher/launcherview.cpp
+++ b/core/launcher/launcherview.cpp
@@ -83,7 +83,7 @@ public:
#endif
}
- QPixmap* busyPixmap() const { return (QPixmap*)&bpm; }
+ QPixmap* busyPixmap() const { return (QPixmap*)&bpm[::abs(busystate)]; }
QIconViewItem* busyItem() const { return bsy; }
void setBigIcons( bool bi ) { bigIcns = bi; }
@@ -103,11 +103,11 @@ public:
bsy = c;
if ( bsy ) {
+ busystate = 5;
+ for ( int i = 0; i <= 5; i++ )
+ bpm [i] = QPixmap ( );
+ timerEvent ( 0 );
busytimer = startTimer ( 150 );
- busystate = 50;
- // not sure what this startTimer is for, maybe i am just to tired. But
- // currently that causes 100% cpuload on app launch
- //startTimer ( 0 );
}
else
killTimer ( busytimer );
@@ -118,6 +118,7 @@ public:
{
if ( !te || ( te-> timerId ( ) == busytimer )) {
if ( bsy ) {
+ if ( bpm [::abs(busystate)]. isNull ( )) {
QPixmap *src = bsy-> QIconViewItem::pixmap();
QImage img = src->convertToImage();
QRgb* rgb;
@@ -130,7 +131,7 @@ public:
count = img.numColors();
}
int rc, gc, bc;
- int bs = ::abs ( busystate ) + 25;
+ int bs = ::abs ( busystate * 10 ) + 25;
colorGroup().highlight().rgb( &rc, &gc, &bc );
rc = rc * bs / 100;
gc = gc * bs / 100;
@@ -144,13 +145,13 @@ public:
*rgb = qRgba ( ri, gi, bi, ai );
}
- bpm.convertFromImage( img );
-
+ bpm [::abs(busystate)].convertFromImage( img );
+ }
bsy-> repaint ( );
- busystate += 10;
- if ( busystate > 50 )
- busystate = -40;
+ busystate++;
+ if ( busystate > 5 )
+ busystate = -4;
}
}
}
@@ -311,7 +312,7 @@ private:
bool ike;
bool bigIcns;
QPixmap bgPixmap;
- QPixmap bpm;
+ QPixmap bpm [6];
QColor bgColor;
int busytimer;
int busystate;