diff options
| author | Tarja Sundqvist <tarja.sundqvist@qt.io> | 2025-08-28 14:58:07 +0300 |
|---|---|---|
| committer | Tarja Sundqvist <tarja.sundqvist@qt.io> | 2025-08-28 14:58:07 +0300 |
| commit | 49bae824cb78fb9dc3040d00c7fe9621c5cd2ee1 (patch) | |
| tree | 773aa6b2db895a73de5d42c9760d6e16e3889f31 /src/manager-lib/applicationmanager.cpp | |
| parent | 2e99fae3237f3afcef57ad5ef6dfb8da2ef8af2f (diff) | |
| parent | 2241a8a48df702da9001415334a77afc530b8ca2 (diff) | |
Merge "Merge tag 'v6.2.13-lts' into tqtc/lts-6.2-opensource"v6.2.13-lts-lgpl6.2
Diffstat (limited to 'src/manager-lib/applicationmanager.cpp')
| -rw-r--r-- | src/manager-lib/applicationmanager.cpp | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/src/manager-lib/applicationmanager.cpp b/src/manager-lib/applicationmanager.cpp index 958ba265..17535122 100644 --- a/src/manager-lib/applicationmanager.cpp +++ b/src/manager-lib/applicationmanager.cpp @@ -580,6 +580,17 @@ QVector<Application *> ApplicationManager::mimeTypeHandlers(const QString &mimeT return handlers; } +QVariantMap ApplicationManager::get(Application *app) const +{ + QVariantMap map; + if (app) { + const QHash<int, QByteArray> roles = roleNames(); + for (auto it = roles.begin(); it != roles.end(); ++it) + map.insert(QString::fromLatin1(it.value()), dataForRole(app, it.key())); + } + return map; +} + void ApplicationManager::registerMimeTypes() { #if defined(QT_GUI_LIB) @@ -1246,7 +1257,11 @@ QVariant ApplicationManager::data(const QModelIndex &index, int role) const return QVariant(); Application *app = d->apps.at(index.row()); + return dataForRole(app, role); +} +QVariant ApplicationManager::dataForRole(Application *app, int role) const +{ switch (role) { case Id: return app->id(); @@ -1317,12 +1332,7 @@ QVariantMap ApplicationManager::get(int index) const qCWarning(LogSystem) << "ApplicationManager::get(index): invalid index:" << index; return QVariantMap(); } - - QVariantMap map; - QHash<int, QByteArray> roles = roleNames(); - for (auto it = roles.begin(); it != roles.end(); ++it) - map.insert(qL1S(it.value()), data(this->index(index), it.key())); - return map; + return get(d->apps.at(index)); } /*! @@ -1413,8 +1423,7 @@ QStringList ApplicationManager::applicationIds() const */ QVariantMap ApplicationManager::get(const QString &id) const { - int index = indexOfApplication(id); - return (index < 0) ? QVariantMap{} : get(index); + return get(application(id)); } Am::RunState ApplicationManager::applicationRunState(const QString &id) const |
