UIManager and some functionality
[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
10 class Engine;
11 class WindowManager;
12 class WeeklyViewWidget;
13 class SettingsView;
14 class RoomStatusIndicatorWidget;
15 class PasswordDialog;
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 roomStatusIndicatorRequested();
41         void previousViewRestored();
42         void changeModeOrdered( DeviceManager::OperationMode aMode );
43         
44 private slots:
45
46         void meetingsFetched( const QList<Meeting*> &aMeetings );
47         void meetingDetailsFetched( Meeting &aDetailedMeeting );
48         void currentRoomChanged( Room *aRoom );
49         void progressBarCancelled();
50         void updateTime( QDateTime aDateTime );
51
52 private:
53         
54         void createWeeklyView();
55         void createSettingsView();
56         void createRoomStatusIndicator();
57         void createPasswordDialog();
58         void createProgressBar();
59         void createMeetingInfoDialog();
60         
61 private:
62         Engine *iEngine;
63         WindowManager *iWindowManager;
64         
65         WeeklyViewWidget *iWeeklyView;
66         SettingsView *iSettingsView;
67         RoomStatusIndicatorWidget *iRoomStatusIndicator;
68         PasswordDialog *iPasswordDialog;
69         ProgressBar *iProgressBar;
70         MeetingInfoDialog *iMeetingInfo;
71 };
72
73 #endif /*UIMANAGER_H_*/