summaryrefslogtreecommitdiff
authorharlekin <harlekin>2002-09-29 23:08:59 (UTC)
committer harlekin <harlekin>2002-09-29 23:08:59 (UTC)
commitb53db7a5a334fdd53bd86e8b50587f1dae41cfba (patch) (side-by-side diff)
treea2a24eea2bebefdbb02302ad57c0c0cbf425683e
parenta54430dbebd980109afdf604c7bfc9b0e15c4fdb (diff)
downloadopie-b53db7a5a334fdd53bd86e8b50587f1dae41cfba.zip
opie-b53db7a5a334fdd53bd86e8b50587f1dae41cfba.tar.gz
opie-b53db7a5a334fdd53bd86e8b50587f1dae41cfba.tar.bz2
temporary workarround to prevent high cpuloads after first app is launched
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/launcher/launcherview.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/core/launcher/launcherview.cpp b/core/launcher/launcherview.cpp
index 9f86136..dbcb0d7 100644
--- a/core/launcher/launcherview.cpp
+++ b/core/launcher/launcherview.cpp
@@ -60,97 +60,99 @@ public:
QIconView(parent,name),
tf(""),
cf(0),
bsy(0),
bigIcns(TRUE),
bgColor(white)
{
sortmeth = Name;
hidden.setAutoDelete(TRUE);
ike = FALSE;
busytimer = 0;
calculateGrid( Bottom );
}
~LauncherIconView()
{
#if 0 // debuggery
QListIterator<AppLnk> it(hidden);
AppLnk* l;
while ((l=it.current())) {
++it;
//qDebug("%p: hidden (should remove)",l);
}
#endif
}
QPixmap* busyPixmap() const { return (QPixmap*)&bpm; }
QIconViewItem* busyItem() const { return bsy; }
void setBigIcons( bool bi ) { bigIcns = bi; }
void updateCategoriesAndMimeTypes();
void doAutoScroll()
{
// We don't want rubberbanding (yet)
}
void setBusy(bool on)
{
QIconViewItem *c = on ? currentItem() : 0;
if ( bsy != c ) {
if ( bsy )
bsy-> repaint ( );
bsy = c;
if ( bsy ) {
busytimer = startTimer ( 150 );
busystate = 50;
- startTimer ( 0 );
+ // 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 );
}
}
virtual void timerEvent ( QTimerEvent *te )
{
if ( !te || ( te-> timerId ( ) == busytimer )) {
if ( bsy ) {
QPixmap *src = bsy-> QIconViewItem::pixmap();
QImage img = src->convertToImage();
QRgb* rgb;
int count;
if ( img.depth() == 32 ) {
rgb = (QRgb*)img.bits();
count = img.bytesPerLine()/sizeof(QRgb)*img.height();
} else {
rgb = img.colorTable();
count = img.numColors();
}
int rc, gc, bc;
int bs = ::abs ( busystate ) + 25;
colorGroup().highlight().rgb( &rc, &gc, &bc );
rc = rc * bs / 100;
gc = gc * bs / 100;
bc = bc * bs / 100;
for ( int r = 0; r < count; r++, rgb++ ) {
int ri = rc + qRed ( *rgb ) * ( 100 - bs ) / 100;
int gi = gc + qGreen ( *rgb ) * ( 100 - bs ) / 100;
int bi = bc + qBlue ( *rgb ) * ( 100 - bs ) / 100;
int ai = qAlpha ( *rgb );
*rgb = qRgba ( ri, gi, bi, ai );
}
bpm.convertFromImage( img );
bsy-> repaint ( );
busystate += 10;
if ( busystate > 50 )
busystate = -40;
}
}
}
bool inKeyEvent() const { return ike; }