WIP: add Qt Quick HomeScreen UI
[staging/HomeScreen.git] / HomeScreenNG / statusbarserver.cpp
1 #include "statusbarserver.h"
2 #include "statusbar_adaptor.h"
3
4 class StatusBarServer::Private
5 {
6 public:
7     Private(StatusBarServer *parent);
8     QString texts[SupportedCount];
9     QString icons[SupportedCount];
10     StatusbarAdaptor adaptor;
11 };
12
13 StatusBarServer::Private::Private(StatusBarServer *parent)
14     : adaptor(parent)
15 {
16     icons[0] = QStringLiteral("./images/Status/HMI_Status_Wifi_Full-01.png");
17     icons[1] = QStringLiteral("./images/Status/HMI_Status_Bluetooth_Inactive-01.png");
18     icons[2] = QStringLiteral("./images/Status/HMI_Status_Signal_Full-01.png");
19 }
20
21 StatusBarServer::StatusBarServer(QObject *parent)
22     : QObject(parent)
23     , d(new Private(this))
24 {
25 }
26
27 StatusBarServer::~StatusBarServer()
28 {
29     delete d;
30 }
31
32 QList<int> StatusBarServer::getAvailablePlaceholders() const
33 {
34     QList<int> ret;
35     return ret;
36 }
37
38 QString StatusBarServer::getStatusIcon(int placeholderIndex) const
39 {
40     QString ret;
41     if (-1 < placeholderIndex && placeholderIndex < SupportedCount)
42         ret = d->icons[placeholderIndex];
43     return ret;
44 }
45
46 void StatusBarServer::setStatusIcon(int placeholderIndex, const QString &icon)
47 {
48     if (-1 < placeholderIndex && placeholderIndex < SupportedCount) {
49         if (d->icons[placeholderIndex] == icon) return;
50         d->icons[placeholderIndex] = icon;
51         emit statusIconChanged(placeholderIndex, icon);
52     }
53 }
54
55 QString StatusBarServer::getStatusText(int placeholderIndex) const
56 {
57     QString ret;
58     if (-1 < placeholderIndex && placeholderIndex < SupportedCount) {
59         ret = d->texts[placeholderIndex];
60     }
61     return ret;
62 }
63
64 void StatusBarServer::setStatusText(int placeholderIndex, const QString &text)
65 {
66     if (-1 < placeholderIndex && placeholderIndex < SupportedCount) {
67         if (d->texts[placeholderIndex] == text) return;
68         d->texts[placeholderIndex] = text;
69         emit statusTextChanged(placeholderIndex, text);
70     }
71 }