@@ -25,6 +25,9 @@ LauncherModel::LauncherModel(QObject *parent):
25 LauncherModelInterface(parent),
25 LauncherModelInterface(parent),
26 m_backend(new LauncherBackend(this))
26 m_backend(new LauncherBackend(this))
28+ connect(m_backend, SIGNAL(countChanged(QString,int)), SLOT(countChanged(QString,int)));
29+ connect(m_backend, SIGNAL(progressChanged(QString,int)), SLOT(progressChanged(QString,int)));
28 Q_FOREACH (const QString &entry, m_backend->storedApplications()) {
31 Q_FOREACH (const QString &entry, m_backend->storedApplications()) {
29 LauncherItem *item = new LauncherItem(entry,
32 LauncherItem *item = new LauncherItem(entry,
30 m_backend->desktopFile(entry),
33 m_backend->desktopFile(entry),
@@ -67,6 +70,10 @@ QVariant LauncherModel::data(const QModelIndex &index, int role) const
67 return item->icon();
70 return item->icon();
68 case RolePinned:
71 case RolePinned:
69 return item->pinned();
72 return item->pinned();
74+ return item->count();
76+ return item->progress();
72 return QVariant();
79 return QVariant();
@@ -204,3 +211,24 @@ int LauncherModel::findApplication(const QString &appId)
205 return -1;
212 return -1;
215+void LauncherModel::progressChanged(const QString &appId, int progress)
217+ int idx = findApplication(appId);
219+ LauncherItem *item = m_list.at(idx);
220+ item->setProgress(progress);
221+ Q_EMIT dataChanged(index(idx), index(idx), QVector<int>() << RoleProgress);
226+void LauncherModel::countChanged(const QString &appId, int count)
228+ int idx = findApplication(appId);
230+ LauncherItem *item = m_list.at(idx);
231+ item->setCount(count);
232+ Q_EMIT dataChanged(index(idx), index(idx), QVector<int>() << RoleCount);