+ iCommunication->cancelFetchMeetingDetails();
+}
+
+void Engine::shownWeekChanged( QDate aFrom )
+{
+ qDebug() << "[Engine::shownWeekChanged] <Invoked>";
+ QDateTime from( aFrom );
+ QDateTime to( aFrom.addDays( 7 ), QTime( 23, 59 ) );
+ qDebug() << "[Engine::shownWeekChanged] <From " << aFrom.toString( "d.m. h:mm" ) << " to " << to.toString( "d.m. h:mm" ) << ">";
+ iCommunication->fetchMeetings( from, to, *iCurrentRoom/*defaultRoom()*/ );
+}
+
+void Engine::changeDeviceMode()
+{
+ connect( iDevice, SIGNAL( changeModeFailed() ), this, SLOT( changeModeFailed() ) );
+ iAutoRefresh->stop(); // Stop the meeting update
+ iDevice->changeMode();
+}
+
+void Engine::changeModeFailed()
+{
+ qDebug() << "Engine::progressBarCancelled()";
+ iAutoRefresh->start(); //we start the metting updating
+}
+
+void Engine::initUserInterface()
+{
+ qDebug() << "[Engine::initUserInterface] <Invoked>";
+
+ // Initialize the window manager and connect what ever signals can be connected
+ iWindowManager = new WindowManager;
+ // Create the UIManager which internally handles most of the UI actions
+ iUIManager = new UIManager( this, iWindowManager );
+
+ connect( iWindowManager, SIGNAL( eventDetected() ), this, SLOT( handleViewEvent() ) );
+ connect( iWindowManager, SIGNAL( previousViewRestored() ), iUIManager, SLOT( previousViewRestored() ) );
+ connect( iWindowManager, SIGNAL( dialogActivated() ), this, SLOT( dialogActivated() ) );
+ connect( iWindowManager, SIGNAL( dialogDeactivated() ), this, SLOT( dialogDeactivated() ) );
+
+ // Show the UI
+ iWindowManager->setWindowState( Qt::WindowMaximized );
+ iWindowManager->show();
+ iUIManager->showMainView();
+
+ // This triggers the meeting fetching
+ iUIManager->currentRoomChanged( this->iCurrentRoom );
+
+ qDebug() << "[Engine::initUserInterface] <Finished>";
+}
+
+void Engine::handleViewEvent()
+{
+ if ( iIdleTimeCounter != 0 && iIdleTimeCounter->isActive())
+ {
+ // Restart the idle time counter when view event is received
+ iIdleTimeCounter->stop();
+ iIdleTimeCounter->start();