Sophie

Sophie

distrib > Mageia > 5 > x86_64 > media > core-updates-src > by-pkgid > 3217f2ffb2e1974b9bd45bb03736f88d > files > 15

kdelibs4-4.14.35-1.mga5.src.rpm

Index: kdelibs/plasma/containment.cpp
===================================================================
--- kdelibs/plasma/containment.cpp
+++ kdelibs/plasma/containment.cpp	2010-01-29 11:13:08.000000000 +0100
@@ -56,6 +56,7 @@
 #include "extenderitem.h"
 #include "svg.h"
 #include "wallpaper.h"
+#include "theme.h"
 
 #include "remote/accessappletjob.h"
 #include "remote/accessmanager.h"
@@ -1823,9 +1824,26 @@
 {
     d->drawWallpaper = drawWallpaper;
     if (drawWallpaper) {
-        KConfigGroup cfg = config();
-        const QString wallpaper = cfg.readEntry("wallpaperplugin", defaultWallpaper);
-        const QString mode = cfg.readEntry("wallpaperpluginmode", defaultWallpaperMode);
+
+        Plasma::Theme theme;
+        QString UsedTheme = theme.themeName() ;
+        QString wallpaper = defaultWallpaper;
+        QString mode = defaultWallpaperMode;
+
+        const QString metadataPath(KStandardDirs::locate("data", "desktoptheme/" + UsedTheme + "/metadata.desktop"));
+        KConfig metadata(metadataPath);
+        KConfigGroup cfg ;
+        
+        if (metadata.hasGroup("Wallpaper")) {
+            cfg = KConfigGroup(&metadata, "Wallpaper");
+            wallpaper = cfg.readEntry("wallpaperplugin", wallpaper);
+            mode = cfg.readEntry("wallpaperpluginmode", mode);
+        }
+
+        cfg = config();
+        wallpaper = cfg.readEntry("wallpaperplugin", defaultWallpaper);
+        mode = cfg.readEntry("wallpaperpluginmode", defaultWallpaperMode);
+        
         setWallpaper(wallpaper, mode);
     } else {
         delete d->wallpaper;