WIP: add Qt Quick HomeScreen UI
[staging/HomeScreen.git] / HomeScreenNG / statusbarserver.h
1 #ifndef STATUSBARSERVER_H
2 #define STATUSBARSERVER_H
3
4 #include <QtCore/QObject>
5
6 class StatusBarServer : public QObject
7 {
8     Q_OBJECT
9 public:
10     enum {
11         SupportedCount = 3,
12     };
13     explicit StatusBarServer(QObject *parent = nullptr);
14     ~StatusBarServer();
15
16     Q_INVOKABLE QList<int> getAvailablePlaceholders() const;
17     Q_INVOKABLE QString getStatusIcon(int placeholderIndex) const;
18     Q_INVOKABLE QString getStatusText(int placeholderIndex) const;
19
20 public slots:
21     void setStatusIcon(int placeholderIndex, const QString &icon);
22     void setStatusText(int placeholderIndex, const QString &text);
23
24 signals:
25     void statusIconChanged(int placeholderIndex, const QString &icon);
26     void statusTextChanged(int placeholderIndex, const QString &text);
27
28 private:
29     class Private;
30     Private *d;
31 };
32
33 #endif // STATUSBARSERVER_H