Settings view fixed.
[qtmeetings] / src / BusinessLogic / UIManager.cpp
index 7e24d61..e4cdc67 100644 (file)
@@ -89,6 +89,7 @@ void UIManager::createWeeklyView()
        // Connect signals to engine
        connect( iWeeklyView, SIGNAL( meetingActivated( Meeting * ) ), iEngine, SLOT( fetchMeetingDetails( Meeting * ) ) );
        connect( iWeeklyView, SIGNAL( shownWeekChanged( QDate ) ), iEngine, SLOT( shownWeekChanged( QDate ) ) );
+       connect( iWeeklyView, SIGNAL( currentRoomChanged( Room * ) ), iEngine, SLOT( currentRoomChanged( Room * ) ) );
 }
 
 void UIManager::createSettingsView()
@@ -97,6 +98,7 @@ void UIManager::createSettingsView()
        
        // Connect signals
        connect( iSettingsView, SIGNAL( okClicked() ), this, SLOT( settingsOkClicked() ) );
+       connect( iSettingsView, SIGNAL( cancelClicked() ), this, SLOT( settingsCancelClicked() ) );
 }
 
 void UIManager::createRoomStatusIndicator()
@@ -165,11 +167,10 @@ void UIManager::settingsOkClicked()
 
 void UIManager::meetingsFetched( const QList<Meeting*> &aMeetings )
 {
-       qDebug() << "[UIManager::meetingsFetched] <SHOULD NOT SIMPLY INSERT MEETINGS TO WEEKLYVIEW !!!>";
-       for ( int i = 0; i < aMeetings.count(); i++ )
+       qDebug() << "[UIManager::meetingsFetched] <Change the weekly views method to slot so we don't need this>";
+       if ( iWeeklyView != 0 )
        {
-               Meeting *m = new Meeting( *( aMeetings.at(i) ) );
-               iWeeklyView->insertMeeting( m );
+               iWeeklyView->refreshMeetings( aMeetings );
        }
 }
 
@@ -178,7 +179,8 @@ void UIManager::showMeetingProgressBar( Meeting *aMeeting )
        if ( iProgressBar != 0 )
        {
                iProgressBar->update( tr("Fetching meeting info...") );
-               iWindowManager->showDialog( static_cast<QDialog *>( iProgressBar ), false );
+               iWindowManager->showDialog( static_cast<QDialog *>( iProgressBar ), false, false );
+               iEngine->stopIdleTimeCounter();
        }
 }
 
@@ -191,9 +193,11 @@ void UIManager::meetingDetailsFetched(Meeting &aDetailedMeeting)
                {
                        iProgressBar->close(); // Close it in case it's visible
                }
-               // iMeetingInfo->setMeeting( &aDetailedMeeting );
                MeetingInfoDialog *tmp = new MeetingInfoDialog( &aDetailedMeeting );
-               iWindowManager->showDialog( static_cast<QDialog *>( tmp/*iMeetingInfo*/ ) );
+               iWindowManager->showDialog( static_cast<QDialog *>( tmp ) );
+// TODO : We should use the member variable and implement correctly the setMeeting() method !!!
+//             iMeetingInfo->setMeeting( &aDetailedMeeting );
+//             iWindowManager->showDialog( static_cast<QDialog *>( iMeetingInfo ) );
        }
 }
 
@@ -216,6 +220,7 @@ void UIManager::progressBarCancelled()
        if ( iProgressBar != 0 )
        {
                iProgressBar->close();
+               iEngine->startIdleTimeCounter();
        }
 }
 
@@ -294,3 +299,13 @@ void UIManager::hideProgressBar()
                iProgressBar->close();
        }
 }
+
+void UIManager::settingsCancelClicked()
+{
+       // Show the weekly view and restart the idle timer
+       if ( iWeeklyView != 0 )
+       {
+               iWindowManager->showView( static_cast<ViewBase *>( iWeeklyView ) );
+               iEngine->startIdleTimeCounter();
+       }
+}