diff --git a/src/models/appsmodel.cpp b/src/models/appsmodel.cpp index 20d65d94..3bdfe0f5 100644 --- a/src/models/appsmodel.cpp +++ b/src/models/appsmodel.cpp @@ -76,7 +76,7 @@ AppsModel::AppsModel(QObject *parent) if (AppMgr::instance()->isValid()) { connect(AppMgr::instance(), &AppMgr::changed, m_tmUpdateCache, qOverload<>(&QTimer::start)); connect(AppMgr::instance(), &AppMgr::itemDataChanged, this, [this](const QString &id) { - const auto appItem = this->appItem(id); + const auto appItem = this->itemFromDesktopId(id); if (!appItem) { qWarning() << "Not existing item in AppsModel for the desktopId" << id; return; @@ -98,27 +98,6 @@ AppsModel::AppsModel(QObject *parent) connect(m_tmUpdateCache, &QTimer::timeout, this, &AppsModel::updateModelData); } -QList AppsModel::appItems() const -{ - QList items; - for (int i = 0; i < rowCount(); i++) { - if (auto appItem = dynamic_cast(item(i))) { - items.append(appItem); - } - } - - return items; -} - -AppItem *AppsModel::appItem(const QString &desktopId) const -{ - const auto items = appItems(); - auto iter = std::find_if(items.begin(), items.end(), [desktopId](AppItem *item) { - return item->freedesktopId() == desktopId; - }); - return iter != items.end() ? *iter : nullptr; -} - void AppsModel::appendRows(const QList items) { // TODO: preformance improvement? @@ -127,7 +106,7 @@ void AppsModel::appendRows(const QList items) } } -AppItem *AppsModel::itemFromDesktopId(const QString freedesktopId) +AppItem *AppsModel::itemFromDesktopId(const QString freedesktopId) const { QModelIndexList indexes = match(index(0, 0, QModelIndex()), AppItem::DesktopIdRole, freedesktopId, 1, Qt::MatchExactly); diff --git a/src/models/appsmodel.h b/src/models/appsmodel.h index 4b1fd084..2f8c40b2 100644 --- a/src/models/appsmodel.h +++ b/src/models/appsmodel.h @@ -46,14 +46,12 @@ class AppsModel : public QStandardItemModel void appendRows(const QList items); - AppItem * itemFromDesktopId(const QString freedesktopId); + AppItem * itemFromDesktopId(const QString freedesktopId) const; [[nodiscard("might need to free them")]] const QList addItems(const QList &items); [[nodiscard("might need to free them")]] const QList updateItems(const QList &items); // QAbstractItemModel interface QVariant data(const QModelIndex &index, int role) const override; - - AppItem *appItem(const QString &desktopId) const; private slots: void updateModelData(); @@ -62,7 +60,6 @@ private slots: QList allAppInfosShouldBeShown() const; void cleanUpInvalidApps(const QList knownExistedApps); - QList appItems() const; Dtk::Core::DConfig * m_dconfig; QStringList m_excludedAppIdList;