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 =
nullptr);
44 int rowCount(
const QModelIndex &parent = QModelIndex())
const override;
46 QVariant data(
const QModelIndex &index,
int role)
const override;
48 Q_INVOKABLE unity::shell::launcher::LauncherItemInterface*
get(
int index)
const override;
49 Q_INVOKABLE
void move(
int oldIndex,
int newIndex)
override;
50 Q_INVOKABLE
void pin(
const QString &appId,
int index = -1)
override;
51 Q_INVOKABLE
void quickListActionInvoked(
const QString &appId,
int actionIndex)
override;
52 Q_INVOKABLE
void setUser(
const QString &username)
override;
53 Q_INVOKABLE QString getUrlForAppId(
const QString &appId)
const;
55 unity::shell::application::ApplicationManagerInterface* applicationManager()
const override;
56 void setApplicationManager(unity::shell::application::ApplicationManagerInterface *appManager)
override;
58 bool onlyPinned()
const override;
59 void setOnlyPinned(
bool onlyPinned)
override;
61 int findApplication(
const QString &appId);
64 void requestRemove(
const QString &appId)
override;
65 Q_INVOKABLE
void refresh();
66 Q_INVOKABLE
void alert(
const QString &appId);
71 void unpin(
const QString &appId);
74 void countChanged(
const QString &appId,
int count);
75 void countVisibleChanged(
const QString &appId,
bool count);
76 void progressChanged(
const QString &appId,
int progress);
78 void applicationAdded(
const QModelIndex &parent,
int row);
79 void applicationRemoved(
const QModelIndex &parent,
int row);
80 void focusedAppIdChanged();
81 void applicationSurfaceCountChanged(
int);
84 QList<LauncherItem*> m_list;
86 GSettings *m_settings;
87 DBusInterface *m_dbusIface;
88 ASAdapter *m_asAdapter;
90 ApplicationManagerInterface *m_appManager;
92 friend class LauncherModelTest;
95 #endif // LAUNCHERMODEL_H