From 4800acce2c769546ab494c8d435fe467bf43c017 Mon Sep 17 00:00:00 2001 From: donghualin Date: Mon, 16 Jan 2023 17:53:38 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E4=BB=8E=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E6=A0=8F=E5=90=91=E4=B8=8A=E6=8B=96=E5=8A=A8=E6=8F=92?= =?UTF-8?q?=E4=BB=B6=E5=BC=95=E8=B5=B7=E4=BB=BB=E5=8A=A1=E6=A0=8F=E5=B4=A9?= =?UTF-8?q?=E6=BA=83=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 遍历插件的时候,for循环中的容器错误 Log: Influence: 从任务栏向上拖动插件,观察任务栏是否正常 Bug: https://pms.uniontech.com/bug-view-181945.html Change-Id: Icf93d225680cd257e446855d03bb9434e07c27ea --- frame/window/quickpluginmodel.cpp | 5 ++--- frame/window/quickpluginwindow.cpp | 5 ++--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/frame/window/quickpluginmodel.cpp b/frame/window/quickpluginmodel.cpp index 6d645e4c9..10db9d6b8 100644 --- a/frame/window/quickpluginmodel.cpp +++ b/frame/window/quickpluginmodel.cpp @@ -69,7 +69,7 @@ void QuickPluginModel::removePlugin(PluginsItemInterface *itemInter) } if (m_dockedPluginsItems.contains(itemInter)) { - m_dockedPluginsItems.removeOne(itemInter); + m_dockedPluginsItems.removeAll(itemInter); Q_EMIT requestUpdate(); } } @@ -116,7 +116,7 @@ void QuickPluginModel::onPluginRemoved(PluginsItemInterface *itemInter) // 如果插件移除,无需移除下方的排序设置,因为下次插件插入的时候还会插入到下方任务栏 // 因此,此处只需要从列表中移除当前插件 if (m_dockedPluginsItems.contains(itemInter)) - m_dockedPluginsItems.removeOne(itemInter); + m_dockedPluginsItems.removeAll(itemInter); // 向外发送更新列表的信号 Q_EMIT requestUpdate(); } @@ -222,7 +222,6 @@ int QuickPluginModel::generaIndex(int insertIndex, int oldIndex) // 新的位置的索引值大于原来位置的索引值,则认为插入在原来的任务栏的后面,将前面的插件的索引值减去1 for (PluginsItemInterface *itemInter : m_dockedPluginsItems) { int pluginDockIndex = getCurrentIndex(itemInter); - qInfo() << itemInter->pluginDisplayName() << m_dockedPluginIndex[itemInter->pluginName()] << pluginDockIndex; if (pluginDockIndex > oldIndex) { if (pluginDockIndex <= insertIndex) { int tmpIndex = m_dockedPluginIndex[itemInter->pluginName()]; diff --git a/frame/window/quickpluginwindow.cpp b/frame/window/quickpluginwindow.cpp index 2b2a82e62..c8d7d600d 100644 --- a/frame/window/quickpluginwindow.cpp +++ b/frame/window/quickpluginwindow.cpp @@ -657,10 +657,9 @@ int QuickPluginWindow::getDropIndex(QPoint point) return -1; } - QList dockItemInter = QuickPluginModel::instance()->dockedPluginItems(); if (m_position == Dock::Position::Top || m_position == Dock::Position::Bottom) { // 上下方向从右向左排列 - for (int i = 0; i < dockItemInter.count() - 1; i++) { + for (int i = 0; i < dockedItems.count() - 1; i++) { QuickDockItem *dockBeforeItem = dockedItems[i]; QuickDockItem *dockItem = dockedItems[i + 1]; if (!dockItem->canInsert()) @@ -671,7 +670,7 @@ int QuickPluginWindow::getDropIndex(QPoint point) } } else { // 左右方向从下向上排列 - for (int i = 0; i < dockItemInter.count() - 1; i++) { + for (int i = 0; i < dockedItems.count() - 1; i++) { QuickDockItem *dockBeforeItem = dockedItems[i]; QuickDockItem *dockItem = dockedItems[i + 1]; if (!dockItem->canInsert())