mirror of
https://github.com/linuxdeepin/dde-dock.git
synced 2025-06-03 00:15:21 +00:00
feat: update dock plugin version
add new interface for remove plugin settings PluginProxyInterface Change-Id: Ib26c879b3b5faa822adbee5bf33c1bae3935b7c1
This commit is contained in:
parent
040dca5e1a
commit
e7002b8f28
Notes:
gerrit
2019-02-14 17:43:04 +08:00
Verified+1: <jenkins@deepin.com> Code-Review+2: listenerri <listenerri@gmail.com> Submitted-by: listenerri <listenerri@gmail.com> Submitted-at: Thu, 14 Feb 2019 17:43:03 +0800 Reviewed-on: https://cr.deepin.io/41624 Project: dde/dde-dock Branch: refs/heads/dev/daemon-plugin-settings
@ -28,6 +28,7 @@
|
||||
|
||||
static const QStringList CompatiblePluginApiList {
|
||||
"1.1.1",
|
||||
"1.2",
|
||||
DOCK_PLUGIN_API_VERSION
|
||||
};
|
||||
|
||||
@ -69,6 +70,21 @@ const QVariant AbstractPluginsController::getValue(PluginsItemInterface *const i
|
||||
return v;
|
||||
}
|
||||
|
||||
void AbstractPluginsController::removeValue(PluginsItemInterface * const itemInter, const QStringList &keyList)
|
||||
{
|
||||
if (keyList.isEmpty()) {
|
||||
m_pluginSettingsObject.remove(itemInter->pluginName());
|
||||
} else {
|
||||
QJsonObject localObject = m_pluginSettingsObject.value(itemInter->pluginName()).toObject();
|
||||
for (auto key : keyList) {
|
||||
localObject.remove(key);
|
||||
}
|
||||
m_pluginSettingsObject.insert(itemInter->pluginName(), localObject);
|
||||
}
|
||||
|
||||
m_dockDaemonInter->RemovePluginSettings(itemInter->pluginName(), keyList);
|
||||
}
|
||||
|
||||
QMap<PluginsItemInterface *, QMap<QString, QObject *> > &AbstractPluginsController::pluginsMap()
|
||||
{
|
||||
return m_pluginsMap;
|
||||
|
@ -45,6 +45,7 @@ public:
|
||||
// implements PluginProxyInterface
|
||||
void saveValue(PluginsItemInterface *const itemInter, const QString &key, const QVariant &value) Q_DECL_OVERRIDE;
|
||||
const QVariant getValue(PluginsItemInterface *const itemInter, const QString &key, const QVariant& fallback = QVariant()) Q_DECL_OVERRIDE;
|
||||
void removeValue(PluginsItemInterface * const itemInter, const QStringList &keyList) override;
|
||||
|
||||
protected:
|
||||
QMap<PluginsItemInterface *, QMap<QString, QObject *>> &pluginsMap();
|
||||
|
@ -27,7 +27,7 @@
|
||||
namespace Dock {
|
||||
|
||||
#define DOCK_PLUGIN_MIME "dock/plugin"
|
||||
#define DOCK_PLUGIN_API_VERSION "1.2"
|
||||
#define DOCK_PLUGIN_API_VERSION "1.2.1"
|
||||
|
||||
#define PROP_DISPLAY_MODE "DisplayMode"
|
||||
///
|
||||
|
@ -85,6 +85,14 @@ public:
|
||||
/// return value from .config/deepin/dde-dock.conf
|
||||
///
|
||||
virtual const QVariant getValue(PluginsItemInterface *const itemInter, const QString &key, const QVariant& fallback = QVariant()) = 0;
|
||||
|
||||
///
|
||||
/// \brief removeValue
|
||||
/// remove the values specified by keyList
|
||||
/// remove all values of itemInter if keyList is empty
|
||||
/// SeeAlse: saveValue
|
||||
///
|
||||
virtual void removeValue(PluginsItemInterface *const itemInter, const QStringList &keyList) = 0;
|
||||
};
|
||||
|
||||
#endif // PLUGINPROXYINTERFACE_H
|
||||
|
Loading…
x
Reference in New Issue
Block a user