Engine::Engine() :
- iClock( 0 ), iConfiguration( 0 ), iCommunication( 0 )
+ iClock( 0 ), iConfiguration( 0 ), iCommunication( 0 ),
+ iWindowManager( 0 ), iUIManager( 0 )
{
qDebug() << "Engine::Engine()";
QTimer::singleShot( 1000, QApplication::instance(), SLOT( quit() ));
}
+<<<<<<< HEAD:src/BusinessLogic/Engine.cpp
+=======
+void Engine::observedEventDetected()
+{
+ qDebug() << "Engine::observedEventDetected()";
+ if ( !iIdleTimeCounter->isActive() )
+ {
+ iWindowManager->weeklyView()->showCurrentWeek();
+ }
+ iWindowManager->showWeeklyView();
+ // prepare to restart idle counter
+ if (iIdleTimeCounter->isActive() )
+ {
+ iIdleTimeCounter->stop();
+ }
+ // (re)start idle counter
+ iIdleTimeCounter->start();
+}
+
+>>>>>>> 60b7802da53961d1998e276858bbc5e404b98a05:src/BusinessLogic/Engine.cpp
Room* Engine::defaultRoom()
{
qDebug() << "Engine::defaultRoom()";
fetchMeetings(iClock->datetime(), iClock->datetime().addDays( 7), room);
}
-bool Engine::isMeetingInList( const QList<Meeting*> &aList, const Meeting *aMeeting )
+void Engine::fetchMeetingDetails(Meeting *aMeeting)
{
- qDebug()
- << "Engine::isMeetingInList( const QList<Meeting*> &, const Meeting * )";
- for (int i = 0; i < aList.count(); i++)
- {
- if (aMeeting->equals( *(aList.at(i))) )
- {
- return true;
- }
- }
- return false;
+ qDebug() << "Engine::fetchMeetingDetails( Meeting* )";
+/* iWindowManager->showProgressBar(tr("Please Wait"), true);
+ iWindowManager->updateProgressBar(tr("Fetching Meeting Details...") );
+ connect(iWindowManager,
+ SIGNAL( progressBarCancelled() ), this,
+ SLOT( fetchMeetingDetailsCancelled() ));
+ iCommunication->fetchMeetingDetails( *aMeeting); */
+
+ iCommunication->fetchMeetingDetails( *aMeeting );
}
-void Engine::meetingsFetched(const QList<Meeting*> &aMeetings)
+void Engine::meetingsFetched( const QList<Meeting*> &aMeetings )
{
qDebug() << "Engine::meetingsFetched( const QList<Meeting*> & )";
- // check if there is any new meeting in the list came from the server -> added
- for (int i = 0; i < aMeetings.count(); i++)
- {
- // if the (i)th meeting is not in the local meeting list
- if ( !isMeetingInList(iMeetings, aMeetings.at(i) ) )
- {
- // add to the local database =)
- Meeting* m = new Meeting( *(aMeetings.at( i )) );
- iMeetings.append(m);
- // and signal the changes
-// iWeeklyView->insertMeeting( m );
- }
+
+ for ( int i = 0; i < iMeetings.count(); ++i ) {
+ Meeting* m = iMeetings.takeAt( i );
+ delete m;
}
-
- // check if there is any meeting NOT in the list came from the server -> deleted
- for (int i = 0; i < iMeetings.count(); i++)
- {
- // if the (i)th meeting is in the local but NOT in the server's meeting list
- if ( !isMeetingInList(aMeetings, iMeetings.at(i) ) )
- {
- Meeting* m = iMeetings.takeAt(i);
- // signal the changes
-// iWeeklyView->deleteMeeting( m );
- // delete the meeting from the local list
- delete m;
- }
+ iMeetings.clear();
+ for ( int i = 0; i < aMeetings.count(); ++i ) {
+ Meeting* m = new Meeting( *(aMeetings.at( i )) );
+ iMeetings.append( m );
}
// refresh room status info
void Engine::errorHandler( int aCode, const QString &aAddInfo )
{
- iWindowManager->error( ErrorMapper::codeToString( aCode, aAddInfo ) );
+ if ( iWindowManager != 0 )
+ {
+ iWindowManager->error( ErrorMapper::codeToString( aCode, aAddInfo ) );
+ }
}
void Engine::fetchMeetings( const QDateTime &aFrom, const QDateTime &aUntil, const Room *aIn )
iCommunication->fetchMeetings(aFrom, aUntil, *aIn);
}
-void Engine::fetchMeetingDetails(Meeting *aMeeting)
-{
- qDebug() << "[Engine::fetchMeetingDetails] <TODO : METHOD NOT IMPLEMENTED>";
-// Meeting tempMeeting = aMeeting;
-// iCommunication->fetchMeetingDetails( tempMeeting );
-}
-
void Engine::cancelFetchMeetingDetails()
{
iCommunication->cancelFetchMeetingDetails();
iIdleTimeCounter->start();
}
}
+