fix: duplicate wired item tray

Change-Id: I2c4c13d012b261e531c63d9c77a42cf4c81ea949
This commit is contained in:
listenerri 2019-01-10 10:02:54 +08:00
parent 51e62820df
commit 9d1375f6f0
Notes: gerrit 2019-01-10 10:10:22 +08:00
Verified+1: <jenkins@deepin.com>
Code-Review+2: listenerri <listenerri@gmail.com>
Submitted-by: listenerri <listenerri@gmail.com>
Submitted-at: Thu, 10 Jan 2019 10:10:22 +0800
Reviewed-on: https://cr.deepin.io/41236
Project: dde/dde-dock
Branch: refs/heads/dev/daemon-plugin-settings

View File

@ -34,7 +34,7 @@ SystemTraysController::SystemTraysController(QObject *parent)
void SystemTraysController::itemAdded(PluginsItemInterface * const itemInter, const QString &itemKey)
{
auto mPluginsMap = pluginsMap();
QMap<PluginsItemInterface *, QMap<QString, QObject *>> &mPluginsMap = pluginsMap();
// check if same item added
if (mPluginsMap.contains(itemInter))
@ -71,7 +71,7 @@ void SystemTraysController::itemRemoved(PluginsItemInterface * const itemInter,
emit pluginItemRemoved(itemKey, item);
auto mPluginsMap = pluginsMap();
QMap<PluginsItemInterface *, QMap<QString, QObject *>> &mPluginsMap = pluginsMap();
mPluginsMap[itemInter].remove(itemKey);
// do not delete the itemWidget object(specified in the plugin interface)
@ -114,7 +114,7 @@ void SystemTraysController::requestSetAppletVisible(PluginsItemInterface * const
PluginsItemInterface *SystemTraysController::pluginInterAt(const QString &itemKey)
{
auto mPluginsMap = pluginsMap();
QMap<PluginsItemInterface *, QMap<QString, QObject *>> &mPluginsMap = pluginsMap();
for (auto it = mPluginsMap.constBegin(); it != mPluginsMap.constEnd(); ++it) {
for (auto key : it.value().keys()) {
@ -129,7 +129,7 @@ PluginsItemInterface *SystemTraysController::pluginInterAt(const QString &itemKe
PluginsItemInterface *SystemTraysController::pluginInterAt(SystemTrayItem *systemTrayItem)
{
auto mPluginsMap = pluginsMap();
QMap<PluginsItemInterface *, QMap<QString, QObject *>> &mPluginsMap = pluginsMap();
for (auto it = mPluginsMap.constBegin(); it != mPluginsMap.constEnd(); ++it) {
for (auto item : it.value().values()) {