diff --git a/cmake/DdeDock/DdeDockConfig.cmake b/cmake/DdeDock/DdeDockConfig.cmake deleted file mode 100644 index a01f4929b..000000000 --- a/cmake/DdeDock/DdeDockConfig.cmake +++ /dev/null @@ -1,2 +0,0 @@ -set(DDE_DOCK_INCLUDE_DIR /usr/local/include/dde-dock) -include_directories("${DDE_DOCK_INCLUDE_DIR}") diff --git a/frame/controller/dockpluginscontroller.cpp b/frame/controller/dockpluginscontroller.cpp index 474b46c7f..552d086d2 100644 --- a/frame/controller/dockpluginscontroller.cpp +++ b/frame/controller/dockpluginscontroller.cpp @@ -110,6 +110,21 @@ void DockPluginsController::requestSetAppletVisible(PluginsItemInterface *const return; if (visible) { + // 在弹出界面前先隐藏其他插件的tips + QMap> &mPluginsMap = pluginsMap(); + foreach (auto interface, mPluginsMap.keys()) { + if (interface != itemInter) { + foreach (auto oldItemKey, mPluginsMap[interface].keys()) { + if (oldItemKey != "pluginloader") { + PluginsItem *oldItem = qobject_cast(pluginItemAt(interface, oldItemKey)); + if (oldItem) { + oldItem->hidePopup(); + } + } + } + } + } + item->showPopupApplet(itemInter->itemPopupApplet(itemKey)); } else { item->hidePopup(); diff --git a/plugins/tray/system-trays/systemtrayscontroller.cpp b/plugins/tray/system-trays/systemtrayscontroller.cpp index b74038a1d..bf8298762 100644 --- a/plugins/tray/system-trays/systemtrayscontroller.cpp +++ b/plugins/tray/system-trays/systemtrayscontroller.cpp @@ -97,6 +97,21 @@ void SystemTraysController::requestSetAppletVisible(PluginsItemInterface * const return; if (visible) { + // 在弹出界面前先隐藏其他插件的tips + QMap> &mPluginsMap = pluginsMap(); + foreach (auto interface, mPluginsMap.keys()) { + if (interface != itemInter) { + foreach (auto oldItemKey, mPluginsMap[interface].keys()) { + if (oldItemKey != "pluginloader") { + SystemTrayItem *oldItem = qobject_cast(pluginItemAt(interface, oldItemKey)); + if (oldItem) { + oldItem->hidePopup(); + } + } + } + } + } + item->showPopupApplet(itemInter->itemPopupApplet(itemKey)); } else { item->hidePopup();