@@ -12,7 +12,6 @@ ApplicationsFilterModel::ApplicationsFilterModel(QObject *parent):
1212 m_filterTouchApps(false),
1313 m_filterLegacyApps(false)
1414{
15−
1615}
1716
1817ApplicationManagerInterface *ApplicationsFilterModel::applicationsModel() const
@@ -22,9 +21,14 @@ ApplicationManagerInterface *ApplicationsFilterModel::applicationsModel() const
2221
2322void ApplicationsFilterModel::setApplicationsModel(ApplicationManagerInterface *applicationsModel)
2423{
24+ if (m_appModel) {
25+ disconnect(m_appModel, &ApplicationManagerInterface::countChanged, this, &ApplicationsFilterModel::countChanged);
26+ }
2527 if (m_appModel != applicationsModel) {
2628 m_appModel = applicationsModel;
29+ setSourceModel(m_appModel);
2730 Q_EMIT applicationsModelChanged();
31+ connect(m_appModel, &ApplicationManagerInterface::countChanged, this, &ApplicationsFilterModel::countChanged);
2832 }
2933}
3034
@@ -40,6 +44,7 @@ void ApplicationsFilterModel::setFilterTouchApps(bool filterTouchApps)
4044 Q_EMIT filterTouchAppsChanged();
4145
4246 invalidateFilter();
47+ Q_EMIT countChanged();
4348 }
4449}
4550
@@ -55,6 +60,7 @@ void ApplicationsFilterModel::setFilterLegacyApps(bool filterLegacyApps)
5560 Q_EMIT filterLegacyAppsChanged();
5661
5762 invalidateFilter();
63+ Q_EMIT countChanged();
5864 }
5965}
6066
@@ -72,3 +78,8 @@ bool ApplicationsFilterModel::filterAcceptsRow(int source_row, const QModelIndex
7278 }
7379 return true;
7480}
81+
82+ApplicationInfoInterface *ApplicationsFilterModel::get(int index) const
83+{
84+ return m_appModel->get(mapToSource(this->index(index, 0)).row());
85+}