fix: force windowidentify method order

-
This commit is contained in:
black-desk 2023-04-04 09:50:55 +08:00 committed by deepin-bot[bot]
parent 29e7ef2f00
commit 010d0c40f6
2 changed files with 15 additions and 16 deletions

View File

@ -68,19 +68,18 @@ WindowIdentify::WindowIdentify(Dock *_dock, QObject *parent)
: QObject(parent) : QObject(parent)
, m_dock(_dock) , m_dock(_dock)
{ {
m_identifyWindowFuns["Android"] = identifyWindowAndroid; m_identifyWindowFuns << qMakePair(QString("Android") , &identifyWindowAndroid);
m_identifyWindowFuns["PidEnv"] = identifyWindowByPidEnv; m_identifyWindowFuns << qMakePair(QString("PidEnv"), &identifyWindowByPidEnv);
m_identifyWindowFuns["CmdlineTurboBooster"] = identifyWindowByCmdlineTurboBooster; m_identifyWindowFuns << qMakePair(QString("CmdlineTurboBooster"), &identifyWindowByCmdlineTurboBooster);
m_identifyWindowFuns["Cmdline-XWalk"] = identifyWindowByCmdlineXWalk; m_identifyWindowFuns << qMakePair(QString("Cmdline-XWalk"), &identifyWindowByCmdlineXWalk);
m_identifyWindowFuns["FlatpakAppID"] = identifyWindowByFlatpakAppID; m_identifyWindowFuns << qMakePair(QString("FlatpakAppID"), &identifyWindowByFlatpakAppID);
m_identifyWindowFuns["CrxId"] = identifyWindowByCrxId; m_identifyWindowFuns << qMakePair(QString("CrxId"), &identifyWindowByCrxId);
m_identifyWindowFuns["Rule"] = identifyWindowByRule; m_identifyWindowFuns << qMakePair(QString("Rule"), &identifyWindowByRule);
m_identifyWindowFuns["Bamf"] = identifyWindowByBamf; m_identifyWindowFuns << qMakePair(QString("Bamf"), &identifyWindowByBamf);
m_identifyWindowFuns["Pid"] = identifyWindowByPid; m_identifyWindowFuns << qMakePair(QString("Pid"), &identifyWindowByPid);
m_identifyWindowFuns["Scratch"] = identifyWindowByScratch; m_identifyWindowFuns << qMakePair(QString("Scratch"), &identifyWindowByScratch);
m_identifyWindowFuns["GtkAppId"] = identifyWindowByGtkAppId; m_identifyWindowFuns << qMakePair(QString("GtkAppId"), &identifyWindowByGtkAppId);
m_identifyWindowFuns["WmClass"] = identifyWindowByWmClass; m_identifyWindowFuns << qMakePair(QString("WmClass"), &identifyWindowByWmClass);
} }
AppInfo *WindowIdentify::identifyWindow(WindowInfoBase *winInfo, QString &innerId) AppInfo *WindowIdentify::identifyWindow(WindowInfoBase *winInfo, QString &innerId)
@ -106,8 +105,8 @@ AppInfo *WindowIdentify::identifyWindowX11(WindowInfoX *winInfo, QString &innerI
} }
for (auto iter = m_identifyWindowFuns.begin(); iter != m_identifyWindowFuns.end(); iter++) { for (auto iter = m_identifyWindowFuns.begin(); iter != m_identifyWindowFuns.end(); iter++) {
QString name = iter.key(); QString name = iter->first;
IdentifyFunc func = iter.value(); IdentifyFunc func = iter->second;
qInfo() << "identifyWindowX11: try " << name; qInfo() << "identifyWindowX11: try " << name;
appInfo = func(m_dock, winInfo, innerId); appInfo = func(m_dock, winInfo, innerId);
if (appInfo) { // TODO: if name == "Pid", appInfo may by nullptr if (appInfo) { // TODO: if name == "Pid", appInfo may by nullptr

View File

@ -50,7 +50,7 @@ private:
private: private:
Dock *m_dock; Dock *m_dock;
QMap<QString, IdentifyFunc> m_identifyWindowFuns; QList<QPair<QString, IdentifyFunc>> m_identifyWindowFuns;
}; };
#endif // IDENTIFYWINDOW_H #endif // IDENTIFYWINDOW_H