X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=src%2FBusinessLogic%2FEngine.cpp;h=19f82508afaba4b1c71fa9a24ea3f4c97b5990b5;hb=046f0345e7b3d35d86083bb38c5df541d857b265;hp=bbee69322835ea64a90a62d2bae0b9230533a5cb;hpb=bf549cea808bbefa4990686fb1a19c385d32b71b;p=qtmeetings diff --git a/src/BusinessLogic/Engine.cpp b/src/BusinessLogic/Engine.cpp index bbee693..19f8250 100644 --- a/src/BusinessLogic/Engine.cpp +++ b/src/BusinessLogic/Engine.cpp @@ -22,6 +22,7 @@ Engine::Engine() : iClock( 0 ), iConfiguration( Configuration::instance() ), iCommunication( 0 ) { qDebug() << "Engine::Engine()"; + iCommunicationFailed = false; // if reading of configuration fails, signal that initialization failed if ( iConfiguration == 0 ) { @@ -233,6 +234,12 @@ bool Engine::isMeetingInList( const QList &aList, const Meeting *aMeet void Engine::meetingsFetched( const QList &aMeetings ) { qDebug() << "Engine::meetingsFetched( const QList & )"; + if( iCommunicationFailed ) + { + iCommunicationFailed = false; + //iWindowManager->connectionEstablished(); + } + // check if there is any new meeting in the list came from the server -> added for ( int i = 0; i < aMeetings.count(); i++ ) { @@ -269,6 +276,11 @@ void Engine::meetingDetailsFetched( Meeting &aDetailedMeeting ) { qDebug() << "Engine::meetingDetailsFetched( Meeting & )"; iWindowManager->closeProgressBar(); + if( iCommunicationFailed ) + { + iCommunicationFailed = false; + iWindowManager->connectionEstablished(); + } iWindowManager->showMeetingInfo( &aDetailedMeeting ); } @@ -277,7 +289,15 @@ void Engine::errorHandler( int aCode, const QString &aAddInfo ) qDebug() << "Engine::ErrorHandler, aCode: " << aCode; // inform UI about the problem if( aCode >= 100 && aCode <= 150 ) + { qDebug() << "CommunicationManager signaled an error:" << aCode; + if( !iCommunicationFailed ) + { + // Only inform window manager when first error appears + iCommunicationFailed = true; + //iWindowManager->connectionLost(); + } + } iWindowManager->closeProgressBar(); iWindowManager->error( ErrorMapper::codeToString( aCode, aAddInfo ) ); }