feat: 增加关闭最后三个未驻留应用到任务栏上图标不消失的功能

增加最近打开区域的配置,在关闭未驻留应用的时候判断是否需要移除图标,同时更新配置

Log: 完成最近打开应用的功能
Influence: 任务栏-打开多个未驻留应用,然后依次关闭,当剩下最后三个的时候,观察是否还在任务栏
Bug: https://pms.uniontech.com/bug-view-147721.html
Change-Id: Ia78e973b41acb3e87c515f3bd8479f603b3dcdfd
This commit is contained in:
donghualin
2022-08-08 05:20:42 +00:00
parent 3e5a1d4992
commit 8b89bc9092
14 changed files with 379 additions and 188 deletions

View File

@ -41,7 +41,8 @@ public:
~Entry();
bool isValid();
QString getId();
QString getId() const;
QString path() const;
QString getName();
void updateName();
QString getIcon();
@ -79,8 +80,8 @@ public:
void handleMenuItem(uint32_t timestamp, QString itemId);
void handleDragDrop(uint32_t timestamp, QStringList files);
void requestDock();
void requestUndock();
void requestDock(bool dockToEnd = false);
void requestUndock(bool dockToEnd = false);
void newInstance(uint32_t timestamp);
void check();
void forceQuit();
@ -119,7 +120,9 @@ private:
AppMenuItem getMenuItemAllWindows();
bool killProcess(int pid);
bool setPropDesktopFile(QString value);
bool isShowOnDock() const;
private:
Dock *dock;
AppInfo *app;
AppMenu *menu;
@ -134,12 +137,11 @@ private:
QString desktopFile;
// Dbus属性直接放到interface上
QMap<XWindow, WindowInfoBase *> windowInfoMap; // 该应用所有窗口
WindowInfoMap exportWindowInfos; // 该应用导出的窗口属性
WindowInfoBase *current; // 当前窗口
XWindow currentWindow; //当前窗口Id
bool winIconPreferred;
QString objctPath;
QMap<XWindow, WindowInfoBase *> m_windowInfoMap; // 该应用所有窗口
WindowInfoMap m_exportWindowInfos; // 该应用导出的窗口属性
WindowInfoBase *m_current; // 当前窗口
XWindow m_currentWindow; //当前窗口Id
bool m_winIconPreferred;
};
#endif // ENTRY_H