author | alwin <alwin> | 2005-03-12 02:13:52 (UTC) |
---|---|---|
committer | alwin <alwin> | 2005-03-12 02:13:52 (UTC) |
commit | cd1b9f7c11c73ef0df0ce66c53466c979a3a4d42 (patch) (side-by-side diff) | |
tree | d4ed9b082abe2aa645fbd58b86d65f5ce9c48348 /core/launcher/launcherview.cpp | |
parent | 84af289057291a49a52a60b390bc5320c02b5a55 (diff) | |
download | opie-cd1b9f7c11c73ef0df0ce66c53466c979a3a4d42.zip opie-cd1b9f7c11c73ef0df0ce66c53466c979a3a4d42.tar.gz opie-cd1b9f7c11c73ef0df0ce66c53466c979a3a4d42.tar.bz2 |
And I'm wondering why opie sometimes is that slow. Hopefully reduced
the calls to opie-eye for images in documenttab when changing layout
and so on.
Diffstat (limited to 'core/launcher/launcherview.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | core/launcher/launcherview.cpp | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/core/launcher/launcherview.cpp b/core/launcher/launcherview.cpp index a4c7561..d960908 100644 --- a/core/launcher/launcherview.cpp +++ b/core/launcher/launcherview.cpp @@ -108,12 +108,14 @@ private: BusyIndicatorType busyType; int psize; bool m_EyeImage; iconstate_t m_EyeImageSet; }; +static bool s_IgnoreNextPix = false; + LauncherItem::LauncherItem( QIconView *parent, AppLnk *applnk, bool bigIcon ) : QIconViewItem( parent, applnk->name(), bigIcon ? applnk->bigPixmap() :applnk->pixmap() ), isBigIcon( bigIcon ), iteration(0), app(applnk), // Takes ownership @@ -138,13 +140,13 @@ LauncherItem::~LauncherItem() liv->setBusy(FALSE); delete app; } QPixmap*LauncherItem::pixmap()const { - if (m_EyeImage && m_EyeImageSet == BASE_ICON) { + if (m_EyeImage && m_EyeImageSet == BASE_ICON && s_IgnoreNextPix==false) { LauncherIconView* liv = (LauncherIconView*)iconView(); liv->requestEyePix(this); } return QIconViewItem::pixmap(); } @@ -307,12 +309,26 @@ LauncherIconView::~LauncherIconView() ++it; //odebug << "" << l << ": hidden (should remove)" << oendl; } #endif } +void LauncherIconView::unsetPalette() +{ + s_IgnoreNextPix = true; + QIconView::unsetPalette(); + s_IgnoreNextPix = false; +} + +void LauncherIconView::setPalette(const QPalette & palette) +{ + s_IgnoreNextPix = true; + QIconView::setPalette(palette); + s_IgnoreNextPix = false; +} + void LauncherIconView::setStaticBackgroundPicture( bool enable ) { staticBackground = enable; if ( staticBackground ) { setStaticBackground( true ); @@ -483,15 +499,15 @@ void LauncherIconView::setEyePixmap(const QPixmap&aPixmap,const QString&aFile,in void LauncherIconView::checkCallback() { if (!m_EyeCallBack) { m_EyeCallBack = new LauncherThumbReceiver(); connect(m_EyeCallBack,SIGNAL(sig_Thumbnail(const QPixmap&,const QString&,int)), this,SLOT(setEyePixmap(const QPixmap&,const QString&,int))); - } m_eyeTimer.changeInterval(600000); } +} void LauncherIconView::addCheckItem(AppLnk* app) { LauncherItem*item = new LauncherItem( this, app, bigIcns ); if (item->isEyeImage()) { checkCallback(); @@ -1205,14 +1221,16 @@ QDataStream &operator>>( QDataStream& s, PixmapInfo& inf ) { QDataStream &operator<<( QDataStream& s, const PixmapInfo& inf) { return s << inf.file << inf.width << inf.height; } LauncherThumbReceiver::LauncherThumbReceiver() - :QObject() + :QObject(),requestTimer(this) { + + connect(&requestTimer,SIGNAL(timeout()),SLOT(sendRequest())); QCopChannel * chan = new QCopChannel( "QPE/opie-eye",this ); connect(chan, SIGNAL(received(const QCString&,const QByteArray&)), this, SLOT(recieve(const QCString&,const QByteArray&)) ); { QCopEnvelope( "QPE/Application/opie-eye_slave", "refUp()" ); @@ -1244,13 +1262,15 @@ void LauncherThumbReceiver::requestThumb(const QString&file,int width,int height { PixmapInfo rItem; rItem.file = file; rItem.width = width; rItem.height = height; m_inThumbNail.append(rItem); - QTimer::singleShot(2, this, SLOT(sendRequest())); + if (!requestTimer.isActive()) { + requestTimer.start(100,true); + } } void LauncherThumbReceiver::sendRequest() { if (m_inThumbNail.count()>0) { QCopEnvelope env("QPE/opie-eye_slave", "pixmapInfos(PixmapInfos)" ); |