From 300c412c5f4bc5b79e26ec4f0d679eaaf68736a2 Mon Sep 17 00:00:00 2001 From: donghualin Date: Thu, 27 Oct 2022 03:28:58 +0000 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=97=B6=E5=B0=9A?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E4=B8=8B=E4=BB=8E=E4=BB=BB=E5=8A=A1=E6=A0=8F?= =?UTF-8?q?=E6=89=93=E5=BC=80=E5=9B=BE=E6=A0=87=E6=98=BE=E7=A4=BA=E9=87=8D?= =?UTF-8?q?=E5=A4=8D=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 原因:在判断图标是否显示在任务栏的时候,没有判断当前应用是否已经驻留在任务栏 修改:如果该应用如果已经驻留在任务栏,就判断其为在任务栏显示 Log: 修复时尚模式任务栏图标重复显示的问题 Influence: 进入任务栏时尚模式,在任务栏上打开一个已经驻留的应用,观察该应用图标是否显示重复 Bug: https://pms.uniontech.com/bug-view-157249.html Change-Id: I2d17301e75d017517daa48a930a3a6906650608e --- src/modules/dock/entry.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/modules/dock/entry.cpp b/src/modules/dock/entry.cpp index f58a9a4..12c1521 100644 --- a/src/modules/dock/entry.cpp +++ b/src/modules/dock/entry.cpp @@ -517,13 +517,17 @@ bool Entry::detachWindow(WindowInfoBase *info) bool Entry::isShowOnDock() const { // 当前应用显示图标的条件是 + // 如果该图标已经固定在任务栏上,则始终显示 + if (getIsDocked()) + return true; + // 1.时尚模式下,如果开启了显示最近使用,则不管是否有子窗口,都在任务栏上显示 // 如果没有开启显示最近使用,则只显示有子窗口的 if (static_cast(dock->getDisplayMode()) == DisplayMode::Fashion) return (dock->showRecent() || m_exportWindowInfos.size() > 0); // 2.高效模式下,只有该应用有打开窗口才显示 - return (getIsDocked() || m_exportWindowInfos.size() > 0); + return m_exportWindowInfos.size() > 0; } bool Entry::attachWindow(WindowInfoBase *info) @@ -554,6 +558,7 @@ bool Entry::attachWindow(WindowInfoBase *info) // 新打开的窗口始终显示到最后 Q_EMIT dock->entryAdded(QDBusObjectPath(path()), -1); } + return true; }