summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/launcher/launcherview.cpp16
1 files changed, 13 insertions, 3 deletions
diff --git a/core/launcher/launcherview.cpp b/core/launcher/launcherview.cpp
index 7b20fdc..0df949e 100644
--- a/core/launcher/launcherview.cpp
+++ b/core/launcher/launcherview.cpp
@@ -20,12 +20,13 @@
#include "launcherview.h"
#include <qpe/qpeapplication.h>
#include <qpe/applnk.h>
#include <qpe/qpedebug.h>
+#include <qpe/config.h>
#include <qpe/categories.h>
#include <qpe/categoryselect.h>
#include <qpe/menubutton.h>
#include <qpe/resource.h>
#include <qpe/qpetoolbar.h>
@@ -123,12 +124,17 @@ public:
mimes.replace(k,(void*)1);
}
}
void drawBackground( QPainter *p, const QRect &r )
{
+ Config config("qpe");
+ config.setGroup("Appearance");
+ QString backgroundImage = config.readEntry("BackgroundImage");
+
+ if (backgroundImage.isNull()) backgroundImage="qpe-background";
int backgroundMode = QPixmap::defaultDepth() >= 12 ? 1 : 0;
//int backgroundMode = 2;
if ( backgroundMode == 1 ) {
// Double buffer the background
@@ -140,15 +146,19 @@ public:
if (bg == NULL)
bg = new QPixmap( width(), height() );
bgColor = colorGroup().button();
QPainter painter( bg );
painter.fillRect( QRect( 0, 0, width(), height() ), colorGroup().background().light(110));
-
- // Overlay the Qtopia logo in the center
- QImage logo = Resource::loadImage( "qpe-background" );
+ // Overlay the Qtopia logo in the center
+ QImage logo;
+ if (QFile::exists(backgroundImage)) {
+ logo = QImage(backgroundImage);
+ } else {
+ logo = Resource::loadImage(backgroundImage );
+ }
if ( !logo.isNull() )
painter.drawImage( (width() - logo.width()) / 2,
(height() - logo.height()) / 2, logo );
}
// Draw the double buffer to the widget (it is tiled for when the icon view is large)