summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/launcher/launcherview.cpp50
1 files changed, 38 insertions, 12 deletions
diff --git a/core/launcher/launcherview.cpp b/core/launcher/launcherview.cpp
index c2bde53..9f86136 100644
--- a/core/launcher/launcherview.cpp
+++ b/core/launcher/launcherview.cpp
@@ -69,2 +69,3 @@ public:
69 ike = FALSE; 69 ike = FALSE;
70 busytimer = 0;
70 calculateGrid( Bottom ); 71 calculateGrid( Bottom );
@@ -99,4 +100,21 @@ public:
99 if ( bsy != c ) { 100 if ( bsy != c ) {
100 if ( c ) { 101 if ( bsy )
101 QPixmap *src = c->pixmap(); 102 bsy-> repaint ( );
103 bsy = c;
104
105 if ( bsy ) {
106 busytimer = startTimer ( 150 );
107 busystate = 50;
108 startTimer ( 0 );
109 }
110 else
111 killTimer ( busytimer );
112 }
113 }
114
115 virtual void timerEvent ( QTimerEvent *te )
116 {
117 if ( !te || ( te-> timerId ( ) == busytimer )) {
118 if ( bsy ) {
119 QPixmap *src = bsy-> QIconViewItem::pixmap();
102 QImage img = src->convertToImage(); 120 QImage img = src->convertToImage();
@@ -112,10 +130,14 @@ public:
112 int rc, gc, bc; 130 int rc, gc, bc;
131 int bs = ::abs ( busystate ) + 25;
113 colorGroup().highlight().rgb( &rc, &gc, &bc ); 132 colorGroup().highlight().rgb( &rc, &gc, &bc );
114 int ri, gi, bi; 133 rc = rc * bs / 100;
134 gc = gc * bs / 100;
135 bc = bc * bs / 100;
136
115 for ( int r = 0; r < count; r++, rgb++ ) { 137 for ( int r = 0; r < count; r++, rgb++ ) {
116 int ri = (rc+qRed(*rgb))/2; 138 int ri = rc + qRed ( *rgb ) * ( 100 - bs ) / 100;
117 int gi = (gc+qGreen(*rgb))/2; 139 int gi = gc + qGreen ( *rgb ) * ( 100 - bs ) / 100;
118 int bi = (bc+qBlue(*rgb))/2; 140 int bi = bc + qBlue ( *rgb ) * ( 100 - bs ) / 100;
119 int ai = qAlpha(*rgb); 141 int ai = qAlpha ( *rgb );
120 *rgb = qRgba(ri,gi,bi,ai); 142 *rgb = qRgba ( ri, gi, bi, ai );
121 } 143 }
@@ -123,7 +145,9 @@ public:
123 bpm.convertFromImage( img ); 145 bpm.convertFromImage( img );
146
147 bsy-> repaint ( );
148
149 busystate += 10;
150 if ( busystate > 50 )
151 busystate = -40;
124 } 152 }
125 QIconViewItem* o = bsy;
126 bsy = c;
127 if ( o ) o->repaint();
128 if ( c ) c->repaint();
129 } 153 }
@@ -289,2 +313,4 @@ private:
289 QColor bgColor; 313 QColor bgColor;
314 int busytimer;
315 int busystate;
290}; 316};