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)
, m_dock(_dock)
{
m_identifyWindowFuns["Android"] = identifyWindowAndroid;
m_identifyWindowFuns["PidEnv"] = identifyWindowByPidEnv;
m_identifyWindowFuns["CmdlineTurboBooster"] = identifyWindowByCmdlineTurboBooster;
m_identifyWindowFuns["Cmdline-XWalk"] = identifyWindowByCmdlineXWalk;
m_identifyWindowFuns["FlatpakAppID"] = identifyWindowByFlatpakAppID;
m_identifyWindowFuns["CrxId"] = identifyWindowByCrxId;
m_identifyWindowFuns["Rule"] = identifyWindowByRule;
m_identifyWindowFuns["Bamf"] = identifyWindowByBamf;
m_identifyWindowFuns["Pid"] = identifyWindowByPid;
m_identifyWindowFuns["Scratch"] = identifyWindowByScratch;
m_identifyWindowFuns["GtkAppId"] = identifyWindowByGtkAppId;
m_identifyWindowFuns["WmClass"] = identifyWindowByWmClass;
m_identifyWindowFuns << qMakePair(QString("Android") , &identifyWindowAndroid);
m_identifyWindowFuns << qMakePair(QString("PidEnv"), &identifyWindowByPidEnv);
m_identifyWindowFuns << qMakePair(QString("CmdlineTurboBooster"), &identifyWindowByCmdlineTurboBooster);
m_identifyWindowFuns << qMakePair(QString("Cmdline-XWalk"), &identifyWindowByCmdlineXWalk);
m_identifyWindowFuns << qMakePair(QString("FlatpakAppID"), &identifyWindowByFlatpakAppID);
m_identifyWindowFuns << qMakePair(QString("CrxId"), &identifyWindowByCrxId);
m_identifyWindowFuns << qMakePair(QString("Rule"), &identifyWindowByRule);
m_identifyWindowFuns << qMakePair(QString("Bamf"), &identifyWindowByBamf);
m_identifyWindowFuns << qMakePair(QString("Pid"), &identifyWindowByPid);
m_identifyWindowFuns << qMakePair(QString("Scratch"), &identifyWindowByScratch);
m_identifyWindowFuns << qMakePair(QString("GtkAppId"), &identifyWindowByGtkAppId);
m_identifyWindowFuns << qMakePair(QString("WmClass"), &identifyWindowByWmClass);
}
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++) {
QString name = iter.key();
IdentifyFunc func = iter.value();
QString name = iter->first;
IdentifyFunc func = iter->second;
qInfo() << "identifyWindowX11: try " << name;
appInfo = func(m_dock, winInfo, innerId);
if (appInfo) { // TODO: if name == "Pid", appInfo may by nullptr

View File

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