author | mickeyl <mickeyl> | 2005-02-17 14:26:43 (UTC) |
---|---|---|
committer | mickeyl <mickeyl> | 2005-02-17 14:26:43 (UTC) |
commit | faaa7b79330fe3c5647182fafdb2bb584dc70638 (patch) (side-by-side diff) | |
tree | ffa63faf248cf20f363b80b579855b124d34032f /core | |
parent | 766ac02e5586cd67b75b320fe1abee513384860c (diff) | |
download | opie-faaa7b79330fe3c5647182fafdb2bb584dc70638.zip opie-faaa7b79330fe3c5647182fafdb2bb584dc70638.tar.gz opie-faaa7b79330fe3c5647182fafdb2bb584dc70638.tar.bz2 |
The response to the static background pixmap was overwhelmingly positive, hence:
* fix static background pixmap also for tiled pixmaps
* make it customizable via LauncherSettings
* enable it per default
-rw-r--r-- | core/launcher/launcher.cpp | 8 | ||||
-rw-r--r-- | core/launcher/launcherview.cpp | 28 | ||||
-rw-r--r-- | core/launcher/launcherview.h | 3 | ||||
-rw-r--r-- | core/settings/launcher/tabssettings.cpp | 13 | ||||
-rw-r--r-- | core/settings/launcher/tabssettings.h | 2 |
5 files changed, 41 insertions, 13 deletions
diff --git a/core/launcher/launcher.cpp b/core/launcher/launcher.cpp index 4255b44..4ec5f4c 100644 --- a/core/launcher/launcher.cpp +++ b/core/launcher/launcher.cpp @@ -453,12 +453,20 @@ void LauncherTabWidget::launcherMessage( const QCString &msg, const QByteArray & static_cast<QWidget*>(parent())->raise(); } } else if (msg=="doctabEnabled(int)") { int id; stream >> id; odebug << "Doctab enabled " << id << oendl; reCheckDoctab(id); + } else if ( msg == "setStaticBackground(bool)" ) { + int set; stream >> set; + odebug << "setStaticBackground " << set << oendl; + for (int i = 0; i < categoryBar->count(); i++ ) + { + LauncherView* view = static_cast<LauncherTab*>( categoryBar->tab(i) )->view; + view->iconView()->setStaticBackgroundPicture( set ); + } } } void LauncherTabWidget::reCheckDoctab(int how) { if ((bool)how == docTabEnabled) { diff --git a/core/launcher/launcherview.cpp b/core/launcher/launcherview.cpp index e7229ee..a4c7561 100644 --- a/core/launcher/launcherview.cpp +++ b/core/launcher/launcherview.cpp @@ -291,18 +291,13 @@ LauncherIconView::LauncherIconView( QWidget* parent, const char* name ) hidden.setAutoDelete(TRUE); 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 ); - } + setStaticBackgroundPicture( config.readBoolEntry( "StaticBackground", true ) ); } LauncherIconView::~LauncherIconView() { odebug << "LauncherIconView::~LauncherIconView()" << oendl; #if 0 // debuggery @@ -312,12 +307,27 @@ LauncherIconView::~LauncherIconView() ++it; //odebug << "" << l << ": hidden (should remove)" << oendl; } #endif } +void LauncherIconView::setStaticBackgroundPicture( bool enable ) +{ + staticBackground = enable; + if ( staticBackground ) + { + setStaticBackground( true ); + verticalScrollBar()->setTracking( false ); + } + else + { + setStaticBackground( false ); + verticalScrollBar()->setTracking( true ); + } +} + int LauncherIconView::compare(const AppLnk* a, const AppLnk* b) { switch (sortmeth) { case Name: return a->name().lower().compare(b->name().lower()); case Date: { @@ -367,18 +377,18 @@ void LauncherIconView::drawBackground( QPainter *p, const QRect &r ) p->fillRect( r, bgColor ); } else { if ( staticBackground ) { - p->drawPixmap( r.x(), r.y(), bgPixmap, r.x(), r.y(), r.width(), r.height() ); + p->drawTiledPixmap( r, bgPixmap, QPoint( r.x() % bgPixmap.width(), r.y() % bgPixmap.height() ) ); } else { - p->drawTiledPixmap( r, bgPixmap, QPoint( (r.x() + contentsX()) % bgPixmap.width(), - (r.y() + contentsY()) % bgPixmap.height() ) ); + p->drawTiledPixmap( r, bgPixmap, QPoint( (r.x() + contentsX()) % bgPixmap.width(), + (r.y() + contentsY()) % bgPixmap.height() ) ); } } } void LauncherIconView::addCatsAndMimes(AppLnk* app) { diff --git a/core/launcher/launcherview.h b/core/launcher/launcherview.h index 97b1dea..6a2d197 100644 --- a/core/launcher/launcherview.h +++ b/core/launcher/launcherview.h @@ -79,14 +79,14 @@ public: QColor textColor() const { return textCol; } void setViewFont( const QFont & ); void clearViewFont(); void setColNumber( int ); - void relayout(void); + LauncherIconView* iconView() { return icons; }; signals: void clicked( const AppLnk * ); void rightPressed( AppLnk * ); protected slots: @@ -166,12 +166,13 @@ public: #ifdef USE_ANIMATED_BUSY_ICON_OVERLAY QPixmap busyPixmap() const { return busyPix; } #endif void setBigIcons( bool bi ); void updateCategoriesAndMimeTypes(); void setBusyIndicatorType ( BusyIndicatorType t ); + void setStaticBackgroundPicture( bool enable ); void doAutoScroll() { // We don't want rubberbanding (yet) } void setBusy(bool on); diff --git a/core/settings/launcher/tabssettings.cpp b/core/settings/launcher/tabssettings.cpp index 42f0568..fca6b20 100644 --- a/core/settings/launcher/tabssettings.cpp +++ b/core/settings/launcher/tabssettings.cpp @@ -80,24 +80,28 @@ TabsSettings::TabsSettings ( QWidget *parent, const char *name ) m_bigbusy = new QCheckBox( tr( "Enable big busy indicator" ), this ); lay-> addMultiCellWidget ( m_bigbusy, 5, 5, 0, 1 ); m_busyani = new QCheckBox ( tr( "Enable animated busy indicator" ), this ); lay-> addMultiCellWidget ( m_busyani, 6, 6, 0, 1 ); + + m_staticbackground = new QCheckBox( tr( "Enable static background pixmap" ), this ); + lay->addMultiCellWidget( m_staticbackground, 7, 7, 0, 1 ); p1-> setEnabled ( false ); p3-> setEnabled ( false ); init ( ); QWhatsThis::add ( m_list, tr( "Select the Launcher Tab you want to edit or delete." )); QWhatsThis::add ( p1, tr( "Adds a new Tab to the Launcher." ) + QString ( "<center><br><i>not yet implemented</i><br>Please use the tabmanager</center>." )); QWhatsThis::add ( p2, tr( "Opens a new dialog to customize the select Tab." )); QWhatsThis::add ( p3, tr( "Deletes a Tab from the Launcher." ) + QString ( "<center><br><i>not yet implemented</i><br>Please use the tabmanager</center>." )); QWhatsThis::add ( m_bigbusy, tr( "Activate this, if you want a big busy indicator in the middle of the screen instead of the one in taskbar." )); QWhatsThis::add ( m_busyani, tr( "Activate this, if you want an animatedbusy indicator for starting applications in the Launcher." )); + QWhatsThis::add ( m_staticbackground, tr( "Activate this, if you want the background pixmap not to scroll with the icons." )); } void TabsSettings::init ( ) { AppLnkSet rootFolder( MimeType::appsFolderName ( )); QStringList types = rootFolder. types ( ); @@ -119,12 +123,13 @@ void TabsSettings::init ( ) readTabSettings ( cfg ); cfg. setGroup ( "GUI" ); m_busyani-> setChecked ( cfg. readEntry ( "BusyType" ). lower ( ) == "animated" ); m_bigbusy->setChecked( cfg. readBoolEntry ( "BigBusy" ) ); + m_staticbackground->setChecked( cfg.readBoolEntry( "StaticBackground", true ) ); } void TabsSettings::readTabSettings ( Config &cfg ) { QString grp ( "Tab %1" ); // No tr @@ -276,19 +281,23 @@ void TabsSettings::accept ( ) tc. m_changed = false; } cfg. setGroup ( "GUI" ); QString busytype = QString ( m_busyani-> isChecked ( ) ? "Animated" : "" ); cfg. writeEntry ( "BusyType", busytype ); - - cfg. writeEntry ( "BigBusy", m_bigbusy->isChecked( ) ); + cfg. writeEntry ( "BigBusy", m_bigbusy->isChecked( ) ); + cfg. writeEntry ( "StaticBackground", m_staticbackground->isChecked( ) ); { QCopEnvelope e ( "QPE/Launcher", "setBusyIndicatorType(QString)" ); e << busytype; } + { + QCopEnvelope e ( "QPE/Launcher", "setStaticBackground(bool)" ); + e << m_staticbackground->isChecked(); + } } void TabsSettings::newClicked ( ) { QMessageBox::information ( this, tr( "Error" ), tr( "Not implemented yet" )); } diff --git a/core/settings/launcher/tabssettings.h b/core/settings/launcher/tabssettings.h index 600c65c..bbe1e72 100644 --- a/core/settings/launcher/tabssettings.h +++ b/core/settings/launcher/tabssettings.h @@ -56,13 +56,13 @@ protected: private: QListBox *m_list; // QString currentTab; QStringList m_ids; QMap <QString, TabConfig> m_tabs; - QCheckBox *m_busyani, *m_bigbusy; + QCheckBox *m_busyani, *m_bigbusy, *m_staticbackground; }; #endif |