From f6e6739532bf0a263ba295ec002cfed106a6b50c Mon Sep 17 00:00:00 2001 From: donghualin Date: Mon, 21 Nov 2022 09:39:07 +0000 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E4=BB=8E=E5=90=AF?= =?UTF-8?q?=E5=8A=A8=E5=99=A8=E6=8B=96=E5=8A=A8=E5=BA=94=E7=94=A8=E5=88=B0?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=A0=8F=E4=B8=8A=E9=9D=A2=E5=A7=8B=E7=BB=88?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E5=88=B0=E4=BB=BB=E5=8A=A1=E6=A0=8F=E6=9C=80?= =?UTF-8?q?=E5=90=8E=E9=9D=A2=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: 将启动器中的图标拖动到任务栏上,观察该图标是否显示在任务栏合适的位置 Task: https://pms.uniontech.com/task-view-217779.html Change-Id: I1a0109cba21ff7edc9f9ad508b00557089e026a8 --- src/modules/dock/dock.cpp | 2 +- src/modules/dock/entries.cpp | 8 ++++---- src/modules/dock/entries.h | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/modules/dock/dock.cpp b/src/modules/dock/dock.cpp index c1a989c..fa7de80 100644 --- a/src/modules/dock/dock.cpp +++ b/src/modules/dock/dock.cpp @@ -536,7 +536,7 @@ bool Dock::requestDock(QString desktopFile, int index) return false; entry->startExport(); - m_entries->append(entry); + m_entries->insert(entry, index); saveDockedApps(); return true; diff --git a/src/modules/dock/entries.cpp b/src/modules/dock/entries.cpp index 65de055..a77d923 100644 --- a/src/modules/dock/entries.cpp +++ b/src/modules/dock/entries.cpp @@ -52,15 +52,15 @@ Entry *Entries::getByInnerId(QString innerId) void Entries::append(Entry *entry) { - // 如果当前应用在列表中存在(通常是该应用为最近打开应用但是关闭了最近打开应用的接口或者当前为高效模式) - if (m_items.contains(entry)) - m_items.removeOne(entry); - insert(entry, -1); } void Entries::insert(Entry *entry, int index) { + // 如果当前应用在列表中存在(通常是该应用为最近打开应用但是关闭了最近打开应用的接口或者当前为高效模式) + if (m_items.contains(entry)) + m_items.removeOne(entry); + if (index < 0 || index >= m_items.size()) { // append index = m_items.size(); diff --git a/src/modules/dock/entries.h b/src/modules/dock/entries.h index 13a8059..328d0de 100644 --- a/src/modules/dock/entries.h +++ b/src/modules/dock/entries.h @@ -41,6 +41,7 @@ public: QVector filterDockedEntries(); Entry *getByInnerId(QString innerId); void append(Entry *entry); + void insert(Entry *entry, int index); void remove(Entry *entry); void move(int oldIndex, int newIndex); Entry *getByWindowPid(int pid); @@ -61,7 +62,6 @@ public: private: void insertCb(Entry *entry, int index); void removeCb(Entry *entry); - void insert(Entry *entry, int index); private: QList m_items;