20 #ifndef LAUNCHERMODEL_H
21 #define LAUNCHERMODEL_H
23 #include <unity/shell/launcher/LauncherModelInterface.h>
24 #include <unity/shell/application/ApplicationManagerInterface.h>
26 #include <QAbstractListModel>
36 class LauncherModel:
public LauncherModelInterface
41 LauncherModel(QObject *parent = 0);
44 int rowCount(
const QModelIndex &parent = QModelIndex())
const;
46 QVariant data(
const QModelIndex &index,
int role)
const;
48 Q_INVOKABLE unity::shell::launcher::LauncherItemInterface*
get(
int index)
const;
49 Q_INVOKABLE
void move(
int oldIndex,
int newIndex);
50 Q_INVOKABLE
void pin(
const QString &appId,
int index = -1);
51 Q_INVOKABLE
void quickListActionInvoked(
const QString &appId,
int actionIndex);
52 Q_INVOKABLE
void setUser(
const QString &username);
53 Q_INVOKABLE QString getUrlForAppId(
const QString &appId)
const;
55 unity::shell::application::ApplicationManagerInterface* applicationManager()
const;
56 void setApplicationManager(unity::shell::application::ApplicationManagerInterface *appManager);
58 bool onlyPinned()
const override;
59 void setOnlyPinned(
bool onlyPinned)
override;
61 int findApplication(
const QString &appId);
64 void requestRemove(
const QString &appId);
65 Q_INVOKABLE
void refresh();
70 void unpin(
const QString &appId);
73 void countChanged(
const QString &appId,
int count);
74 void countVisibleChanged(
const QString &appId,
int count);
75 void progressChanged(
const QString &appId,
int progress);
77 void applicationAdded(
const QModelIndex &parent,
int row);
78 void applicationRemoved(
const QModelIndex &parent,
int row);
79 void focusedAppIdChanged();
82 QList<LauncherItem*> m_list;
84 GSettings *m_settings;
85 DBusInterface *m_dbusIface;
86 ASAdapter *m_asAdapter;
88 ApplicationManagerInterface *m_appManager;
90 friend class LauncherModelTest;
93 #endif // LAUNCHERMODEL_H