if ( iEngine == 0 ) return;
if ( iWindowManager == 0 ) return;
+ connect(iWindowManager, SIGNAL(showSettingsClicked()), this, SLOT(settingsViewRequest()));
+
createWeeklyView();
- createSettingsView();
createRoomStatusIndicator();
createPasswordDialog();
createProgressBar();
connect( iWeeklyView, SIGNAL( currentRoomChanged( Room * ) ), this, SLOT( currentRoomChanged( Room * ) ) );
connect( iWeeklyView, SIGNAL( meetingActivated( Meeting * ) ), this, SLOT( showMeetingProgressBar( Meeting * ) ) );
// Connect signals to engine
+ connect( iWeeklyView, SIGNAL( refreshButtonClicked() ), iEngine, SLOT( updateRoomInfo() ) );
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 * ) ) );
// Connect signals
connect( iSettingsView, SIGNAL( okClicked() ), this, SLOT( settingsOkClicked() ) );
+ connect( iSettingsView, SIGNAL( cancelClicked() ), this, SLOT( settingsCancelClicked() ) );
}
void UIManager::createRoomStatusIndicator()
// UIMANAGER SLOTS
void UIManager::settingsViewRequest()
{
+ createSettingsView();
+
// Show the settings view and stop the idle timer
- if ( iSettingsView != 0 )
- {
- iWindowManager->showView( static_cast<ViewBase *>( iSettingsView ) );
- iEngine->stopIdleTimeCounter();
- }
+ iWindowManager->showView( static_cast<ViewBase *>( iSettingsView ) );
+ iEngine->stopIdleTimeCounter();
}
void UIManager::settingsOkClicked()
{
// Show the weekly view and restart the idle timer
+ QT_DELETE(iWeeklyView);
+ createWeeklyView();
+
if ( iWeeklyView != 0 )
{
iWindowManager->showView( static_cast<ViewBase *>( iWeeklyView ) );
+ QT_DELETE(iSettingsView);
iEngine->startIdleTimeCounter();
+ currentRoomChanged(iWeeklyView->currentRoom());
}
}
}
}
-void UIManager::showMeetingProgressBar( Meeting *aMeeting )
+void UIManager::showMeetingProgressBar( Meeting */*aMeeting*/ )
{
if ( iProgressBar != 0 )
{
{
qDebug() << "UIManager::connectionLost()";
iWeeklyView->connectionLost();
- iSettingsView->connectionLost();
iRoomStatusIndicator->connectionLost();
}
{
qDebug() << "UIManager::connectionEstablished()";
iWeeklyView->connectionEstablished();
- iSettingsView->connectionEstablished();
iRoomStatusIndicator->connectionEstablished();
}
qDebug() << "[UIManager::currentRoomChanged] <Invoked>";
if ( iWeeklyView != 0 )
{
- QDateTime from = QDateTime( iWeeklyView->beginnigOfShownWeek() );
- QDateTime to = QDateTime( from.addDays( 8 ) );
- iEngine->fetchMeetings( from, to, aRoom );
+ QDateTime shown = QDateTime( iWeeklyView->beginnigOfShownWeek() );
+ iEngine->fetchMeetings( shown.date().weekNumber(), shown.date().year(), aRoom );
}
}
{
if ( iWeeklyView != 0 )
{
- iWeeklyView->setCurrentDateTime( aDateTime );
+ iWeeklyView->setConnectionStatus( aDateTime, iEngine->connected(), iEngine->lastUpdated(), iEngine->errorMessage() );
}
if ( iRoomStatusIndicator != 0 )
{
- iRoomStatusIndicator->setCurrentTime( aDateTime.time() );
+ iRoomStatusIndicator->setConnectionStatus( aDateTime, iEngine->connected(), iEngine->lastUpdated(), iEngine->errorMessage() );
}
}
iProgressBar->close();
}
}
+
+void UIManager::settingsCancelClicked()
+{
+ // Show the weekly view and restart the idle timer
+ if ( iWeeklyView != 0 )
+ {
+ iWindowManager->showView( static_cast<ViewBase *>( iWeeklyView ) );
+ QT_DELETE(iSettingsView);
+ iEngine->startIdleTimeCounter();
+ }
+}