Support for color schemes
[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 "daynightmode_proxy.h"
22
23 #include "statusbarwidget.h"
24 #include "controlbarwidget.h"
25 #include "settingswidget.h"
26 #include "popupwidget.h"
27
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 public slots:
46     void updateColorScheme();
47
48 protected:
49     // called when the translator loaded a new language set
50     void changeEvent(QEvent* event);
51
52 private:
53     Ui::MainWindow *mp_ui;
54
55     StatusBarWidget *mp_statusBarWidget;
56     org::agl::daynightmode *mp_dBusDayNightMode_StatusBarWidget;
57     ControlBarWidget *mp_controlBarWidget;
58     org::agl::daynightmode *mp_dBusDayNightMode_ControlBarWidget;
59     SettingsWidget *mp_settingsWidget;
60     PopupWidget *mp_popupWidget;
61
62     org::agl::daynightmode *mp_dayNightModeProxy;
63 };
64
65 #endif // MAINWINDOW_H