summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--ChangeLog2
-rw-r--r--core/launcher/launcher.cpp8
-rw-r--r--core/launcher/launcherview.cpp28
-rw-r--r--core/launcher/launcherview.h3
-rw-r--r--core/settings/launcher/tabssettings.cpp13
-rw-r--r--core/settings/launcher/tabssettings.h2
6 files changed, 43 insertions, 13 deletions
diff --git a/ChangeLog b/ChangeLog
index fe763a5..8ac976d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,8 +1,10 @@
2005-??-?? Opie 1.2.0
New Features
------------
+ * Launcher: Support a static background pixmap (mickeyl)
+ * LauncherSettings: Choose whether to have a static background pixmap (mickeyl)
Fixed Bugs
----------
* #1236 - VCards contained empty home and work address entries causing Palms to crash (eilers)
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
@@ -455,8 +455,16 @@ void LauncherTabWidget::launcherMessage( const QCString &msg, const QByteArray &
} 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)
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
@@ -293,14 +293,9 @@ LauncherIconView::LauncherIconView( QWidget* parent, const char* name )
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()
{
@@ -314,8 +309,23 @@ LauncherIconView::~LauncherIconView()
}
#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:
@@ -369,14 +379,14 @@ void LauncherIconView::drawBackground( QPainter *p, const QRect &r )
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() ) );
}
}
}
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
@@ -81,10 +81,10 @@ public:
void setViewFont( const QFont & );
void clearViewFont();
void setColNumber( int );
-
void relayout(void);
+ LauncherIconView* iconView() { return icons; };
signals:
void clicked( const AppLnk * );
void rightPressed( AppLnk * );
@@ -168,8 +168,9 @@ public:
#endif
void setBigIcons( bool bi );
void updateCategoriesAndMimeTypes();
void setBusyIndicatorType ( BusyIndicatorType t );
+ void setStaticBackgroundPicture( bool enable );
void doAutoScroll()
{
// We don't want rubberbanding (yet)
}
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
@@ -82,8 +82,11 @@ TabsSettings::TabsSettings ( QWidget *parent, const char *name )
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 );
@@ -94,8 +97,9 @@ TabsSettings::TabsSettings ( QWidget *parent, const char *name )
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 ( )
{
@@ -121,8 +125,9 @@ void TabsSettings::init ( )
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 )
@@ -278,15 +283,19 @@ void TabsSettings::accept ( )
}
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 ( )
{
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
@@ -58,9 +58,9 @@ 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;
};