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
[email protected]
https://mail.kde.org/mailman/listinfo/plasma-devel