Settings view fixed.
[qtmeetings] / src / BusinessLogic / UIManager.h
1 #ifndef UIMANAGER_H_
2 #define UIMANAGER_H_
3
4 #include <QObject>
5 #include <QList>
6
7 #include "Meeting.h"
8 #include "DeviceManager.h"
9 #include "PasswordDialog.h"
10
11 class Engine;
12 class WindowManager;
13 class WeeklyViewWidget;
14 class SettingsView;
15 class RoomStatusIndicatorWidget;
16 class ProgressBar;
17 class MeetingInfoDialog;
18 class CommunicationManager;
19 class QDateTime;
20
21 class UIManager : public QObject
22 {
23         Q_OBJECT
24         
25 public:
26         UIManager( Engine *aEngine, WindowManager *aWindowManager );
27         virtual ~UIManager();
28         
29         void connectDeviceManager( DeviceManager *aDeviceManager );
30         void connectCommunicationManager( CommunicationManager *aCommunicationManager );
31         void showMainView();
32         void showProgressBar( QString aText );
33
34 signals:
35         
36 public slots:
37
38         void settingsViewRequest();
39         void settingsOkClicked();
40         void settingsCancelClicked();
41         void roomStatusIndicatorRequested();
42         void previousViewRestored();
43         void changeModeOrdered( DeviceManager::OperationMode aMode );
44         
45 private slots:
46
47         void meetingsFetched( const QList<Meeting*> &aMeetings );
48         void meetingDetailsFetched( Meeting &aDetailedMeeting );
49         void currentRoomChanged( Room *aRoom );
50         void progressBarCancelled();
51         void updateTime( QDateTime aDateTime );
52         void passwordEntered( PasswordDialog::PasswordStatus aStatus );
53         void showMeetingProgressBar( Meeting *aMeeting );
54         void updateProgressBarText( const QString &aText );
55         void hideProgressBar();
56
57 private:
58         
59         void createWeeklyView();
60         void createSettingsView();
61         void createRoomStatusIndicator();
62         void createPasswordDialog();
63         void createProgressBar();
64         void createMeetingInfoDialog();
65         
66 private:
67         Engine *iEngine;
68         WindowManager *iWindowManager;
69         
70         WeeklyViewWidget *iWeeklyView;
71         SettingsView *iSettingsView;
72         RoomStatusIndicatorWidget *iRoomStatusIndicator;
73         PasswordDialog *iPasswordDialog;
74         ProgressBar *iProgressBar;
75         MeetingInfoDialog *iMeetingInfo;
76 };
77
78 #endif /*UIMANAGER_H_*/