Hi all,
another commit to blame, another really ugly patch lacking a proper solution 
:p

the commit is the following one
http://websvn.kde.org/trunk/KDE/kdebase/workspace/plasma/shells/desktop/backgrounddialog.cpp?r1=963647&r2=969465

the problem is: most of the themes downloaded with gethotnewstuff have a 
folder name different from plugin name, so Theme::findIntheme doesn't work, 
for instance, our all time favourite, fluffy bunny has FluffyBunny as plugin 
name and fluffybunny as folder name.
the old behaviour of the desktop settings dialog was simply using the folder 
name, so it always worked, now most themes are simply broken.

Now the question is: simply say to those theme screw you and make the 
package right or reverting to the old behaviour? (attached patch does it in a 
not too nice way but with minimal change)

i would like to force things to be correct, but retrocompatibility is 
important too, hmm
-- 
Marco Martin
Index: backgrounddialog.cpp
===================================================================
--- backgrounddialog.cpp	(revision 1000423)
+++ backgrounddialog.cpp	(working copy)
@@ -80,13 +80,11 @@
     KPluginInfo::List themeInfos = Plasma::Theme::listThemeInfo();
 
     foreach (const KPluginInfo &themeInfo, themeInfos) {
+        QStringList tokens = KUrl(themeInfo.entryPath()).directory().split("/");
         kDebug() << themeInfo.name() << themeInfo.pluginName();
-        QString name = themeInfo.name();
-        if (name.isEmpty()) {
-            name = themeInfo.pluginName();
-        }
+        QString name = tokens.last();
 
-        Plasma::Theme *theme = new Plasma::Theme(themeInfo.pluginName(), this);
+        Plasma::Theme *theme = new Plasma::Theme(name, this);
         Plasma::FrameSvg *svg = new Plasma::FrameSvg(theme);
         svg->setUsingRenderingCache(false);
         svg->setTheme(theme);
@@ -94,7 +92,7 @@
         svg->setEnabledBorders(Plasma::FrameSvg::AllBorders);
 
         ThemeInfo info;
-        info.package = themeInfo.pluginName();
+        info.package = name;
         info.svg = svg;
         m_themes[name] = info;
     }
_______________________________________________
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel

Reply via email to