From e6b38b14bdef66f92f46e547b699c6039e258bfb Mon Sep 17 00:00:00 2001 From: yanghongwei Date: Sat, 8 May 2021 17:25:08 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E6=A0=8F=E6=8F=92=E4=BB=B6=E6=8F=92=E5=85=A5=E4=B8=8D=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 优化任务栏计算icon大小逻辑 Log: 修复任务栏插件插入不显示问题,以及移除插件后任务栏Icon大小未更新问题 Task: https://pms.uniontech.com/zentao/task-view-76040.html Change-Id: Id18fadc4810398deaccefc6397efd4d5c4c60907 --- frame/window/mainpanelcontrol.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/frame/window/mainpanelcontrol.cpp b/frame/window/mainpanelcontrol.cpp index 194238d9f..9ade29716 100755 --- a/frame/window/mainpanelcontrol.cpp +++ b/frame/window/mainpanelcontrol.cpp @@ -318,8 +318,11 @@ void MainPanelControl::insertItem(int index, DockItem *item) default: break; } - // 同removeItem处 -// resizeDockIcon(); + + // 同removeItem处 注意:不能屏蔽此接口,否则会造成插件插入时无法显示 + if (item->itemType() != DockItem::App) + resizeDockIcon(); + QTimer::singleShot(0, [ = ] { updatePluginsLayout(); }); @@ -346,10 +349,13 @@ void MainPanelControl::removeItem(DockItem *item) default: break; } + /** 此处重新计算大小的时候icon的个数在原有个数上减少了一个,导致每个icon的大小跟原来大小不一致,需要重新设置setFixedSize * 在龙芯处理器上当app数量过多时,会导致拖动app耗时严重,造成卡顿 + * 注意:不能屏蔽此接口,否则会造成插件移除时无法更新icon大小 */ -// resizeDockIcon(); + if (item->itemType() != DockItem::App) + resizeDockIcon(); } void MainPanelControl::moveItem(DockItem *sourceItem, DockItem *targetItem)