8b9bbebcbdf59be65b8f6a5728250549153cf192
[qtmeetings] / src / UserInterface / Views / SettingsView.h
1 #ifndef SETTINGSVIEW_H_
2 #define SETTINGSVIEW_H_
3
4 #include "ObservedWidget.h"
5
6 class QTabWidget;
7 class QPushButton;
8 class QLineEdit;
9 class QTimeEdit;
10 class QRadioButton;
11 class QCheckBox;
12
13 //! User interface class. Shows the settings view and handles configuration changes.
14 class SettingsView : public ObservedWidget
15 {
16         Q_OBJECT
17
18 public:
19         //! Constructor.
20         /*!
21          * Constructor to initialize and prepare the settings view. This calls internally
22          * the helper methods to initialize individual setting tabs.
23          * \param Parent component.
24          */
25         SettingsView( QWidget *aParent = 0 );
26         //! Destructor.
27         virtual ~SettingsView();
28
29 private slots:
30         //! Slot to handle the Ok button pressing.
31         void okClicked();
32         //! Slot to handle the cancel button pressing.
33         void cancelClicked();
34
35 private:
36         //! Initialize "Settings" tab.
37         QWidget *initSettingsTab();
38         //! Initialize "Week View" tab.
39         QWidget *initWeekViewTab();
40         //! Intialize "Resources" tab.
41         QWidget *initResourcesTab();
42         //! Initialize "KIOSK Mode" tab.
43         QWidget *initKioskModeTab();
44
45         //! The tabbed settings view component.
46         QTabWidget *iTabWidget;
47         //! OK button to dismiss the settings view with saving the settings.
48         QPushButton *iOkButton;
49         //! Cancel button to dismiss the settings view without saving settings.
50         QPushButton *iCancelButton;
51         //! Settings tab.
52         QWidget *iSettingsTab;
53         //! Week View tab.
54         QWidget *iWeekViewTab;
55         //! Resources tab.
56         QWidget *iResourcesTab;
57         //! KIOSK Mode tab.
58         QWidget *iKioskModeTab;
59
60         //! User name to the remote server.
61         QLineEdit *iUserName;
62         //! Password to the remote server.
63         QLineEdit *iPassword;
64         //! Remote server address.
65         QLineEdit *iServerAddress;
66         //! Refresh interval in seconds.
67         QLineEdit *iRefreshInterval;
68         //! When the day starts in the calendar view.
69         QTimeEdit *iDayStartTime;
70         //! When the day ends in the calendar view.
71         QTimeEdit *iDayEndTime;
72         //! Selection for showing five days in the calendar.
73         QRadioButton *iFiveDays;
74         //! Selection for showing seven days in the calendar.
75         QRadioButton *iSevenDays;
76         //! Power saving enabling.
77         QCheckBox *iPowerSaveEnabled;
78         //! Start time for activating power save.
79         QTimeEdit *iPowerSaveStartTime;
80         //! End time for deactivating power save.
81         QTimeEdit *iPowerSaveEndTime;
82 };
83
84 #endif /*SETTINGSVIEW_H_*/