fix: wayland环境多任务视图

1050u1版本窗管实现了wayland环境下的多任务视图功能,任务栏取消wayland环境下屏蔽多任务插件的逻辑

Log: 修复wayland环境下任务栏不显示多任务视图插件的问题
Bug: https://pms.uniontech.com/bug-view-124593.html
Influence: wayland环境下显示/隐藏多任务视图插件
Change-Id: I6f65623f117f5af60998707908f0652a2bd0987c
This commit is contained in:
yinjie 2022-04-18 10:17:38 +08:00
parent 073f1a3e3b
commit 9da22bcae2
2 changed files with 7 additions and 9 deletions

View File

@ -205,8 +205,8 @@ bool DBusDockAdaptors::isPluginValid(const QString &name)
if (!Utils::SettingValue("com.deepin.dde.dock.module." + name, QByteArray(), "enable", true).toBool())
return false;
// 未开启窗口特效时,不显示多任务视图插件
if (name == "multitasking" && !DWindowManagerHelper::instance()->hasComposite())
// 在非wayland环境下未开启窗口特效时,不显示多任务视图插件
if (name == "multitasking" && !DWindowManagerHelper::instance()->hasComposite() && !Utils::IS_WAYLAND_DISPLAY)
return false;
// 录屏插件不显示,插件名如果有变化,建议发需求,避免任务栏反复适配

View File

@ -234,15 +234,13 @@ void AbstractPluginsController::loadPlugin(const QString &pluginFile)
return;
}
if (interface->pluginName() == "multitasking") {
if (Utils::IS_WAYLAND_DISPLAY || Dtk::Core::DSysInfo::deepinType() == Dtk::Core::DSysInfo::DeepinServer) {
for (auto &pair : m_pluginLoadMap.keys()) {
if (pair.first == pluginFile) {
m_pluginLoadMap.remove(pair);
}
if (interface->pluginName() == "multitasking" && Dtk::Core::DSysInfo::deepinType() == Dtk::Core::DSysInfo::DeepinServer) {
for (auto &pair : m_pluginLoadMap.keys()) {
if (pair.first == pluginFile) {
m_pluginLoadMap.remove(pair);
}
return;
}
return;
}
QMapIterator<QPair<QString, PluginsItemInterface *>, bool> it(m_pluginLoadMap);