e17f13ee5192b9ab9ea5acda3553fa5aa0a5ca6d
[staging/HomeScreen.git] / HomeScreen / src / statusbarwidget.h
1 /*
2  * Copyright (C) 2016 Mentor Graphics Development (Deutschland) GmbH
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 #ifndef STATUSBARWIDGET_H
18 #define STATUSBARWIDGET_H
19
20 #include <QWidget>
21 #include "../interfaces/daynightmode.h"
22 #include "daynightmode_proxy.h"
23
24 #include "statusbar_adapter.h"
25
26 namespace Ui {
27 class StatusBarWidget;
28 }
29
30 class StatusBarWidget : public QWidget
31 {
32     Q_OBJECT
33
34 public:
35     explicit StatusBarWidget(QWidget *parent = 0);
36     ~StatusBarWidget();
37
38 // day/night mode
39 public Q_SLOTS:
40     void dayNightModeSlot(int mode);
41
42 // from statusbar_adapter.h
43 public Q_SLOTS: // METHODS
44     QList<int> getAvailablePlaceholders();
45     QString getStatusIcon(int placeholderIndex);
46     QString getStatusText(int placeholderIndex);
47     void setStatusIcon(int placeholderIndex, const QString &iconURI);
48     void setStatusText(int placeholderIndex, const QString &text);
49
50 private:
51     Ui::StatusBarWidget *mp_ui;
52
53     SystemDayNight::eDayNightMode m_dayNightMode;
54     org::agl::daynightmode *mp_dayNightModeProxy;
55     StatusbarAdaptor *mp_statusbarAdaptor;
56
57     QMap<int, QString> *mp_statusbarIconURIs;
58 };
59
60 #endif // STATUSBARWIDGET_H