Return the correct list of status placeholders
[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     for (int i = 0; i < SupportedCount; ++i){
36         ret.append(i);
37     }
38     return ret;
39 }
40
41 QString StatusBarServer::getStatusIcon(int placeholderIndex) const
42 {
43     QString ret;
44     if (-1 < placeholderIndex && placeholderIndex < SupportedCount)
45         ret = d->icons[placeholderIndex];
46     return ret;
47 }
48
49 void StatusBarServer::setStatusIcon(int placeholderIndex, const QString &icon)
50 {
51     if (-1 < placeholderIndex && placeholderIndex < SupportedCount) {
52         if (d->icons[placeholderIndex] == icon) return;
53         d->icons[placeholderIndex] = icon;
54         emit statusIconChanged(placeholderIndex, icon);
55     }
56 }
57
58 QString StatusBarServer::getStatusText(int placeholderIndex) const
59 {
60     QString ret;
61     if (-1 < placeholderIndex && placeholderIndex < SupportedCount) {
62         ret = d->texts[placeholderIndex];
63     }
64     return ret;
65 }
66
67 void StatusBarServer::setStatusText(int placeholderIndex, const QString &text)
68 {
69     if (-1 < placeholderIndex && placeholderIndex < SupportedCount) {
70         if (d->texts[placeholderIndex] == text) return;
71         d->texts[placeholderIndex] = text;
72         emit statusTextChanged(placeholderIndex, text);
73     }
74 }