af725fdd7b77defb7df275295427b75a44c0cf6f
[staging/HomeScreen.git] / HomeScreen / src / mainwindow.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 MAINWINDOW_H
18 #define MAINWINDOW_H
19
20 #include <QMainWindow>
21 #include "../interfaces/daynightmode.h"
22 #include "daynightmode_proxy.h"
23
24 #include "popupwidget.h"
25
26 #include "statusbarwidget.h"
27 #include "controlbarwidget.h"
28
29 namespace Ui {
30 class MainWindow;
31 }
32
33 class MainWindow : public QMainWindow
34 {
35     Q_OBJECT
36
37 public:
38     explicit MainWindow(QWidget *parent = 0);
39     ~MainWindow();
40
41 // day/night mode
42 public Q_SLOTS:
43     void dayNightModeSlot(int mode);
44
45 protected:
46     // called when the translator loaded a new language set
47     void changeEvent(QEvent* event);
48
49 private:
50     Ui::MainWindow *mp_ui;
51
52     StatusBarWidget *mp_statusBarWidget;
53     org::agl::daynightmode *mp_dBusDayNightMode_StatusBarWidget;
54     ControlBarWidget *mp_controlBarWidget;
55     org::agl::daynightmode *mp_dBusDayNightMode_ControlBarWidget;
56
57     SystemDayNight::eDayNightMode m_dayNightMode;
58     org::agl::daynightmode *mp_dayNightModeProxy;
59
60     PopupWidget *mp_popupWidget;
61 };
62
63 #endif // MAINWINDOW_H