From dfeaa87049dfd8b09106df37c0a24171c00f4746 Mon Sep 17 00:00:00 2001 From: agsantos <aline.gondimsantos@savoirfairelinux.com> Date: Mon, 24 Aug 2020 21:42:56 -0400 Subject: [PATCH] plugin:add editable preference Change-Id: I7483021c6e866456638ff4285d2888d30454227e --- src/api/pluginmodel.h | 11 ++++++++++- src/pluginmodel.cpp | 8 ++++++++ src/qtwrapper/pluginmanager.cpp | 10 ++++++++++ src/qtwrapper/pluginmanager_wrap.h | 4 ++++ 4 files changed, 32 insertions(+), 1 deletion(-) diff --git a/src/api/pluginmodel.h b/src/api/pluginmodel.h index 8cf5dbd5..f268a36d 100644 --- a/src/api/pluginmodel.h +++ b/src/api/pluginmodel.h @@ -157,11 +157,20 @@ public: Q_INVOKABLE MapStringString getPluginPreferencesValues(const QString& path); /** - * Reste preferences values of installed plugin to default values + * Reset preferences values of installed plugin to default values * @return true if preference was succesfully reset */ Q_INVOKABLE bool resetPluginPreferencesValues(const QString& path); + /** + * Add a possible value to a preference that can be edited by the user + * the only possibility at the moment is USERLIST option + * @return if addition was successfull + */ + Q_INVOKABLE bool addValueToPreference(const QString& pluginId, + const QString& preferenceKey, + const QString& value); + }; } // namespace api diff --git a/src/pluginmodel.cpp b/src/pluginmodel.cpp index 11bd518a..7bfed841 100644 --- a/src/pluginmodel.cpp +++ b/src/pluginmodel.cpp @@ -191,6 +191,14 @@ PluginModel::resetPluginPreferencesValues(const QString& path) return PluginManager::instance().resetPluginPreferencesValues(path); } +bool +PluginModel::addValueToPreference(const QString& pluginId, + const QString& preferenceKey, + const QString& value) +{ + return PluginManager::instance().addValueToPreference(pluginId, preferenceKey, value); +} + } // namespace lrc #include "api/moc_pluginmodel.cpp" diff --git a/src/qtwrapper/pluginmanager.cpp b/src/qtwrapper/pluginmanager.cpp index 51ff960c..51b62084 100644 --- a/src/qtwrapper/pluginmanager.cpp +++ b/src/qtwrapper/pluginmanager.cpp @@ -124,3 +124,13 @@ PluginManagerInterface::resetPluginPreferencesValues(const QString& path) { return DRing::resetPluginPreferencesValues(path.toStdString()); } + +bool +PluginManagerInterface::addValueToPreference(const QString& pluginId, + const QString& preferenceKey, + const QString& value) +{ + return DRing::addValueToPreference(pluginId.toStdString(), + preferenceKey.toStdString(), + value.toStdString()); +} diff --git a/src/qtwrapper/pluginmanager_wrap.h b/src/qtwrapper/pluginmanager_wrap.h index e0a75512..f1ee3b82 100644 --- a/src/qtwrapper/pluginmanager_wrap.h +++ b/src/qtwrapper/pluginmanager_wrap.h @@ -79,6 +79,10 @@ public Q_SLOTS: // METHODS MapStringString getPluginPreferencesValues(const QString& path); bool resetPluginPreferencesValues(const QString& path); + + bool addValueToPreference(const QString& pluginId, + const QString& preferenceKey, + const QString& value); }; namespace org { -- GitLab