fix: 修复时尚模式下从任务栏打开图标显示重复的问题
原因:在判断图标是否显示在任务栏的时候,没有判断当前应用是否已经驻留在任务栏 修改:如果该应用如果已经驻留在任务栏,就判断其为在任务栏显示 Log: 修复时尚模式任务栏图标重复显示的问题 Influence: 进入任务栏时尚模式,在任务栏上打开一个已经驻留的应用,观察该应用图标是否显示重复 Bug: https://pms.uniontech.com/bug-view-157249.html Change-Id: I2d17301e75d017517daa48a930a3a6906650608e
This commit is contained in:
parent
a095e48203
commit
300c412c5f
@ -517,13 +517,17 @@ bool Entry::detachWindow(WindowInfoBase *info)
|
|||||||
bool Entry::isShowOnDock() const
|
bool Entry::isShowOnDock() const
|
||||||
{
|
{
|
||||||
// 当前应用显示图标的条件是
|
// 当前应用显示图标的条件是
|
||||||
|
// 如果该图标已经固定在任务栏上,则始终显示
|
||||||
|
if (getIsDocked())
|
||||||
|
return true;
|
||||||
|
|
||||||
// 1.时尚模式下,如果开启了显示最近使用,则不管是否有子窗口,都在任务栏上显示
|
// 1.时尚模式下,如果开启了显示最近使用,则不管是否有子窗口,都在任务栏上显示
|
||||||
// 如果没有开启显示最近使用,则只显示有子窗口的
|
// 如果没有开启显示最近使用,则只显示有子窗口的
|
||||||
if (static_cast<DisplayMode>(dock->getDisplayMode()) == DisplayMode::Fashion)
|
if (static_cast<DisplayMode>(dock->getDisplayMode()) == DisplayMode::Fashion)
|
||||||
return (dock->showRecent() || m_exportWindowInfos.size() > 0);
|
return (dock->showRecent() || m_exportWindowInfos.size() > 0);
|
||||||
|
|
||||||
// 2.高效模式下,只有该应用有打开窗口才显示
|
// 2.高效模式下,只有该应用有打开窗口才显示
|
||||||
return (getIsDocked() || m_exportWindowInfos.size() > 0);
|
return m_exportWindowInfos.size() > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Entry::attachWindow(WindowInfoBase *info)
|
bool Entry::attachWindow(WindowInfoBase *info)
|
||||||
@ -554,6 +558,7 @@ bool Entry::attachWindow(WindowInfoBase *info)
|
|||||||
// 新打开的窗口始终显示到最后
|
// 新打开的窗口始终显示到最后
|
||||||
Q_EMIT dock->entryAdded(QDBusObjectPath(path()), -1);
|
Q_EMIT dock->entryAdded(QDBusObjectPath(path()), -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user