From 25440385e729c805da4839a0a44cfa437bb4f0c1 Mon Sep 17 00:00:00 2001 From: Vlad Zahorodnii Date: Fri, 17 Mar 2023 15:11:26 +0200 Subject: [PATCH] Port to KPluginMetaData::fromJsonFile() KPluginMetaData::KPluginMetaData(QString) assumes that the file specified in the string corresponds to a binary plugin now, not a metadata file. This fixes scripted effect kcms not working. --- src/plugins/kdecorations/aurorae/src/aurorae.cpp | 2 +- src/plugins/kpackage/aurorae/aurorae.cpp | 8 ++------ src/plugins/kpackage/decoration/decoration.cpp | 4 +--- src/plugins/kpackage/effect/effect.cpp | 3 +-- src/plugins/kpackage/scripts/scripts.cpp | 4 +--- src/plugins/kpackage/windowswitcher/windowswitcher.cpp | 4 +--- src/scripting/genericscriptedconfig.cpp | 2 +- 7 files changed, 8 insertions(+), 19 deletions(-) diff --git a/src/plugins/kdecorations/aurorae/src/aurorae.cpp b/src/plugins/kdecorations/aurorae/src/aurorae.cpp index 42b6088bda..e7d5e1cbe4 100644 --- a/src/plugins/kdecorations/aurorae/src/aurorae.cpp +++ b/src/plugins/kdecorations/aurorae/src/aurorae.cpp @@ -751,7 +751,7 @@ void ConfigurationModule::initQml() return; } - KPluginMetaData metaData(packageRoot + QLatin1String("/metadata.json")); + const KPluginMetaData metaData = KPluginMetaData::fromJsonFile(packageRoot + QLatin1String("/metadata.json")); if (!metaData.isValid()) { return; } diff --git a/src/plugins/kpackage/aurorae/aurorae.cpp b/src/plugins/kpackage/aurorae/aurorae.cpp index f0ce473f0d..3223cbe481 100644 --- a/src/plugins/kpackage/aurorae/aurorae.cpp +++ b/src/plugins/kpackage/aurorae/aurorae.cpp @@ -58,12 +58,8 @@ void AuroraePackage::pathChanged(KPackage::Package *package) return; } - KPluginMetaData md(package->metadata().fileName()); - - if (!md.pluginId().isEmpty()) { - QString configrc = md.pluginId() + "rc"; - package->addFileDefinition("configrc", configrc, i18n("Configuration file")); - } + const QString configrc = package->metadata().pluginId() + "rc"; + package->addFileDefinition("configrc", configrc, i18n("Configuration file")); } K_PLUGIN_CLASS_WITH_JSON(AuroraePackage, "kwin-packagestructure-aurorae.json") diff --git a/src/plugins/kpackage/decoration/decoration.cpp b/src/plugins/kpackage/decoration/decoration.cpp index 9e3f8a0d5c..cc72c40874 100644 --- a/src/plugins/kpackage/decoration/decoration.cpp +++ b/src/plugins/kpackage/decoration/decoration.cpp @@ -35,9 +35,7 @@ void DecorationPackage::pathChanged(KPackage::Package *package) return; } - KPluginMetaData md(package->metadata().fileName()); - QString mainScript = md.value("X-Plasma-MainScript"); - + const QString mainScript = package->metadata().value("X-Plasma-MainScript"); if (!mainScript.isEmpty()) { package->addFileDefinition("mainscript", mainScript, i18n("Main Script File")); } diff --git a/src/plugins/kpackage/effect/effect.cpp b/src/plugins/kpackage/effect/effect.cpp index 042f32b3af..6e8ab0af4e 100644 --- a/src/plugins/kpackage/effect/effect.cpp +++ b/src/plugins/kpackage/effect/effect.cpp @@ -36,8 +36,7 @@ void EffectPackageStructure::pathChanged(KPackage::Package *package) return; } - const KPluginMetaData md(package->metadata().fileName()); - const QString mainScript = md.value("X-Plasma-MainScript"); + const QString mainScript = package->metadata().value("X-Plasma-MainScript"); if (mainScript.isEmpty()) { return; } diff --git a/src/plugins/kpackage/scripts/scripts.cpp b/src/plugins/kpackage/scripts/scripts.cpp index 178cc33dbd..56f7baa45f 100644 --- a/src/plugins/kpackage/scripts/scripts.cpp +++ b/src/plugins/kpackage/scripts/scripts.cpp @@ -35,9 +35,7 @@ void ScriptsPackage::pathChanged(KPackage::Package *package) return; } - KPluginMetaData md(package->metadata().fileName()); - QString mainScript = md.value("X-Plasma-MainScript"); - + const QString mainScript = package->metadata().value("X-Plasma-MainScript"); if (!mainScript.isEmpty()) { package->addFileDefinition("mainscript", mainScript, i18n("Main Script File")); } diff --git a/src/plugins/kpackage/windowswitcher/windowswitcher.cpp b/src/plugins/kpackage/windowswitcher/windowswitcher.cpp index 44741206ba..856f87dabb 100644 --- a/src/plugins/kpackage/windowswitcher/windowswitcher.cpp +++ b/src/plugins/kpackage/windowswitcher/windowswitcher.cpp @@ -35,9 +35,7 @@ void SwitcherPackage::pathChanged(KPackage::Package *package) return; } - KPluginMetaData md(package->metadata().fileName()); - QString mainScript = md.value("X-Plasma-MainScript"); - + const QString mainScript = package->metadata().value("X-Plasma-MainScript"); if (!mainScript.isEmpty()) { package->addFileDefinition("mainscript", mainScript, i18n("Main Script File")); } diff --git a/src/scripting/genericscriptedconfig.cpp b/src/scripting/genericscriptedconfig.cpp index f5c3aea5ea..46f8de92fc 100644 --- a/src/scripting/genericscriptedconfig.cpp +++ b/src/scripting/genericscriptedconfig.cpp @@ -70,7 +70,7 @@ void GenericScriptedConfig::createUi() return; } - KPluginMetaData metaData(packageRoot + QLatin1String("/metadata.json")); + const KPluginMetaData metaData = KPluginMetaData::fromJsonFile(packageRoot + QLatin1String("/metadata.json")); if (!metaData.isValid()) { layout->addWidget(new QLabel(i18nc("Required file does not exist", "%1 does not contain a valid metadata.json file", qPrintable(packageRoot)))); return;