From 5ad21664e5db417a18682903a660f4651c68ff12 Mon Sep 17 00:00:00 2001 From: mickeyl Date: Wed, 16 Feb 2005 19:20:06 +0000 Subject: this patch adds the possibility to have a static (as in non-scrolling) background in the launcher. major drawback: most of our machines (at least the SA1100 based ones) are too slow to make it flicker free w/ tracking (repainting while dragging the scrollbar). so i needed to disable tracking for the static background. it's a hidden setting and disabled per default. please play around with it and give me your comments. How to enable: Launcher.conf: [GUI] StaticBackground = 1 --- (limited to 'core/launcher') diff --git a/core/launcher/launcherview.cpp b/core/launcher/launcherview.cpp index 2b34cc5..e7229ee 100644 --- a/core/launcher/launcherview.cpp +++ b/core/launcher/launcherview.cpp @@ -292,6 +292,14 @@ LauncherIconView::LauncherIconView( QWidget* parent, const char* name ) ike = FALSE; calculateGrid( Bottom ); connect(&m_eyeTimer,SIGNAL(timeout()),this,SLOT(stopEyeTimer())); + Config config( "Launcher" ); + config.setGroup( "GUI" ); + staticBackground = config.readEntry( "StaticBackground", false ); + if ( staticBackground ) + { + setStaticBackground( true ); + verticalScrollBar()->setTracking( false ); + } } LauncherIconView::~LauncherIconView() @@ -354,17 +362,26 @@ void LauncherIconView::setItemTextPos( ItemTextPos pos ) void LauncherIconView::drawBackground( QPainter *p, const QRect &r ) { - if ( !bgPixmap.isNull() ) { - p->drawTiledPixmap( r, bgPixmap, - QPoint( (r.x() + contentsX()) % bgPixmap.width(), - (r.y() + contentsY()) % bgPixmap.height() ) ); - } else { + if ( bgPixmap.isNull() ) + { p->fillRect( r, bgColor ); } + else + { + if ( staticBackground ) + { + p->drawPixmap( r.x(), r.y(), bgPixmap, r.x(), r.y(), r.width(), r.height() ); + } + else + { + p->drawTiledPixmap( r, bgPixmap, QPoint( (r.x() + contentsX()) % bgPixmap.width(), + (r.y() + contentsY()) % bgPixmap.height() ) ); + } + } } void LauncherIconView::addCatsAndMimes(AppLnk* app) - { +{ // QStringList c = app->categories(); // for (QStringList::ConstIterator cit=c.begin(); cit!=c.end(); ++cit) { // cats.replace(*cit,(void*)1); diff --git a/core/launcher/launcherview.h b/core/launcher/launcherview.h index e2869eb..97b1dea 100644 --- a/core/launcher/launcherview.h +++ b/core/launcher/launcherview.h @@ -37,8 +37,6 @@ class QWidgetStack; class MenuButton; class QComboBox; - - enum BusyIndicatorType { BIT_Normal = 0, BIT_Animated @@ -82,7 +80,7 @@ public: void setViewFont( const QFont & ); void clearViewFont(); - + void setColNumber( int ); void relayout(void); @@ -199,7 +197,7 @@ public: } void setColNumber( int ); - + void drawBackground( QPainter *p, const QRect &r ); void setItemTextPos( ItemTextPos pos ); void hideOrShowItems(bool resort); @@ -250,6 +248,7 @@ private: BusyIndicatorType busyType; QTimer m_eyeTimer; int numColumns; + bool staticBackground; }; #endif // LAUNCHERVIEW_H -- cgit v0.9.0.2