Make sure we're looking both for json and desktop metadata

We shouldn't assume metadata is in metadata.desktop

REVIEW: 129276
wilder-5.14
Aleix Pol 9 years ago
parent 8dbda77a3b
commit dbf2bfb7b8
  1. 4
      shell/containmentconfigview.cpp
  2. 10
      shell/scripting/scriptengine_v1.cpp
  3. 2
      wallpapers/image/backgroundlistmodel.cpp
  4. 4
      wallpapers/image/image.cpp

@ -141,8 +141,8 @@ PlasmaQuick::ConfigModel *ContainmentConfigView::wallpaperConfigModel()
QStringList packages;
foreach (const QString &sdir, dir.entryList(QDir::AllDirs | QDir::Readable)) {
QString metadata = dirPath + '/' + sdir + "/metadata.desktop";
if (QFile::exists(metadata)) {
const QString metadata = dirPath + '/' + sdir;
if (QFile::exists(metadata + "/metadata.json") || QFile::exists(metadata + "/metadata.desktop")) {
packages << sdir;
}
}

@ -510,6 +510,11 @@ QScriptValue ScriptEngine::V1::loadTemplate(QScriptContext *context, QScriptEngi
if (sc) {
const QString overridePackagePath = sc->lookAndFeelPackage().path() + QStringLiteral("contents/layouts/") + pluginData.pluginId();
path = overridePackagePath + QStringLiteral("/metadata.json");
if (QFile::exists(path)) {
package.setPath(overridePackagePath);
}
path = overridePackagePath + QStringLiteral("/metadata.desktop");
if (QFile::exists(path)) {
package.setPath(overridePackagePath);
@ -518,7 +523,10 @@ QScriptValue ScriptEngine::V1::loadTemplate(QScriptContext *context, QScriptEngi
}
if (!package.isValid()) {
path = QStandardPaths::locate(QStandardPaths::GenericDataLocation, package.defaultPackageRoot() + pluginData.pluginId() + "/metadata.desktop");
path = QStandardPaths::locate(QStandardPaths::GenericDataLocation, package.defaultPackageRoot() + pluginData.pluginId() + "/metadata.json");
if (path.isEmpty()) {
path = QStandardPaths::locate(QStandardPaths::GenericDataLocation, package.defaultPackageRoot() + pluginData.pluginId() + "/metadata.desktop");
}
if (path.isEmpty()) {
// qDebug() << "script path is empty";
return false;

@ -559,7 +559,7 @@ void BackgroundFinder::run()
}
const QString filePath = wp.filePath();
if (QFile::exists(filePath + QString::fromLatin1("/metadata.desktop"))) {
if (QFile::exists(filePath + QString::fromLatin1("/metadata.desktop")) || QFile::exists(filePath + QString::fromLatin1("/metadata.json"))) {
package.setPath(filePath);
if (package.isValid()) {
if (!package.filePath("images").isEmpty()) {

@ -466,7 +466,9 @@ void Image::setSingleImage()
}
} else {
//if it's not an absolute path, check if it's just a wallpaper name
const QString path = QStandardPaths::locate(QStandardPaths::GenericDataLocation, QLatin1String("wallpapers/") + QString(m_wallpaper + QString::fromLatin1("/metadata.desktop")));
QString path = QStandardPaths::locate(QStandardPaths::GenericDataLocation, QLatin1String("wallpapers/") + QString(m_wallpaper + QString::fromLatin1("/metadata.json")));
if (path.isEmpty())
path = QStandardPaths::locate(QStandardPaths::GenericDataLocation, QLatin1String("wallpapers/") + QString(m_wallpaper + QString::fromLatin1("/metadata.desktop")));
if (!path.isEmpty()) {
QDir dir(path);

Loading…
Cancel
Save