kdelibs/kdelibs-4.1.85-plasma-defau...

46 lines
2.2 KiB
Diff

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()) {