diff --git a/frame/controller/dockitemmanager.cpp b/frame/controller/dockitemmanager.cpp index ad12b601c..542fac9d9 100644 --- a/frame/controller/dockitemmanager.cpp +++ b/frame/controller/dockitemmanager.cpp @@ -305,7 +305,9 @@ void DockItemManager::pluginItemInserted(PluginsItem *item) insertIndex ++; } - emit itemInserted(insertIndex - firstPluginPosition, item); + // 隐藏的插件不加入到布局中 + if (Utils::SettingValue(QString("com.deepin.dde.dock.module.") + item->pluginName(), QByteArray(), "enable", true).toBool()) + emit itemInserted(insertIndex - firstPluginPosition, item); } void DockItemManager::pluginItemRemoved(PluginsItem *item) diff --git a/plugins/airplane-mode/airplanemodeitem.cpp b/plugins/airplane-mode/airplanemodeitem.cpp index 56a75464d..cbf9bbc44 100644 --- a/plugins/airplane-mode/airplanemodeitem.cpp +++ b/plugins/airplane-mode/airplanemodeitem.cpp @@ -57,8 +57,6 @@ AirplaneModeItem::AirplaneModeItem(QWidget *parent) connect(m_airplaneModeInter, &DBusAirplaneMode::EnabledChanged, this, [this](bool enable) { m_applet->setEnabled(enable); refreshIcon(); - - Utils::SettingSaveValue("com.deepin.dde.dock.module.airplane-mode", QByteArray(), "enable", enable); }); m_applet->setEnabled(m_airplaneModeInter->enabled()); @@ -105,6 +103,7 @@ const QString AirplaneModeItem::contextMenu() const void AirplaneModeItem::invokeMenuItem(const QString menuId, const bool checked) { + Q_UNUSED(menuId); Q_UNUSED(checked); /* 控制中心暂未实现 diff --git a/plugins/tray/system-trays/systemtrayscontroller.cpp b/plugins/tray/system-trays/systemtrayscontroller.cpp index 45c2742e2..4f33c682c 100644 --- a/plugins/tray/system-trays/systemtrayscontroller.cpp +++ b/plugins/tray/system-trays/systemtrayscontroller.cpp @@ -21,6 +21,7 @@ #include "systemtrayscontroller.h" #include "pluginsiteminterface.h" +#include "utils.h" #include #include @@ -50,11 +51,11 @@ void SystemTraysController::itemAdded(PluginsItemInterface * const itemInter, co } }, Qt::QueuedConnection); - item->setVisible(false); - mPluginsMap[itemInter][itemKey] = item; - emit pluginItemAdded(itemKey, item); + // 隐藏的插件不加入到布局中 + if (Utils::SettingValue(QString("com.deepin.dde.dock.module.") + itemInter->pluginName(), QByteArray(), "enable", true).toBool()) + emit pluginItemAdded(itemKey, item); } void SystemTraysController::itemUpdate(PluginsItemInterface * const itemInter, const QString &itemKey)