Blob Blame History Raw
diff -ur kdelibs-4.1.85/plasma/theme.cpp kdelibs-4.1.85-plasma-default-wallpaper/plasma/theme.cpp
--- kdelibs-4.1.85/plasma/theme.cpp	2008-12-10 17:12:25.000000000 +0100
+++ kdelibs-4.1.85-plasma-default-wallpaper/plasma/theme.cpp	2008-12-19 02:26:06.000000000 +0100
@@ -111,6 +111,7 @@
     KColorScheme buttonColorScheme;
     KConfigGroup cfg;
     QFont generalFont;
+    QString globalDefaultWallpaper;
     QString defaultWallpaperTheme;
     QString defaultWallpaperSuffix;
     int defaultWallpaperWidth;
@@ -293,6 +294,10 @@
     //kDebug() << "we're going for..." << colorsFile << "*******************";
 
     // load the wallpaper settings, if any
+    KSharedConfigPtr config = KSharedConfig::openConfig("plasmarc");
+    KConfigGroup group = KConfigGroup(config, "Defaults");
+    d->globalDefaultWallpaper = group.readEntry("wallpaper", (const char *) 0);
+
     QString metadataPath(KStandardDirs::locate("data", "desktoptheme/" + theme + "/metadata.desktop"));
     KConfig metadata(metadataPath);
     KConfigGroup cg;
@@ -306,8 +311,8 @@
         cg = d->config();
     }
 
-    d->defaultWallpaperTheme = cg.readEntry("defaultWallpaperTheme", DEFAULT_WALLPAPER_THEME);
-    d->defaultWallpaperSuffix = cg.readEntry("defaultFileSuffix", DEFAULT_WALLPAPER_SUFFIX);
+    d->defaultWallpaperTheme = cg.readEntry("defaultWallpaperTheme", d->globalDefaultWallpaper.isEmpty() ? DEFAULT_WALLPAPER_THEME : (const char *) 0);
+    d->defaultWallpaperSuffix = cg.readEntry("defaultFileSuffix", d->globalDefaultWallpaper.isEmpty() ? DEFAULT_WALLPAPER_SUFFIX : (const char *) 0);
     d->defaultWallpaperWidth = cg.readEntry("defaultWidth", DEFAULT_WALLPAPER_WIDTH);
     d->defaultWallpaperHeight = cg.readEntry("defaultHeight", DEFAULT_WALLPAPER_HEIGHT);
 
@@ -399,7 +404,10 @@
     QString fullPath;
     QString image = d->defaultWallpaperTheme;
 
-    image.append("/contents/images/%1x%2").append(d->defaultWallpaperSuffix);
+    if (image.isEmpty() && !d->globalDefaultWallpaper.isEmpty())
+        image = d->globalDefaultWallpaper;
+    else
+        image.append("/contents/images/%1x%2").append(d->defaultWallpaperSuffix);
     QString defaultImage = image.arg(d->defaultWallpaperWidth).arg(d->defaultWallpaperHeight);
 
     if (size.isValid()) {