X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FLightApp%2FLightApp_Application.cxx;fp=src%2FLightApp%2FLightApp_Application.cxx;h=21cc6176ff1e14314251da8f9fd45e7d3b358ebb;hb=97e015d173f8e7fa8c8e4dfc77ef338d4317e768;hp=6fbc2c7a8894b4c3bb6fd28a2e208e798c3467d0;hpb=cf64bca7f3f39ca203268b980579ca94694a7fc4;p=modules%2Fgui.git diff --git a/src/LightApp/LightApp_Application.cxx b/src/LightApp/LightApp_Application.cxx index 6fbc2c7a8..21cc6176f 100644 --- a/src/LightApp/LightApp_Application.cxx +++ b/src/LightApp/LightApp_Application.cxx @@ -1020,10 +1020,15 @@ void LightApp_Application::onOpenDoc() { SUIT_Study* study = activeStudy(); - if ( !checkExistingDoc() ) + if ( !checkExistingDoc( false ) ) + return; + + QString aName = getFileName( true, QString(), getFileFilter( true ), QString(), 0 ); + if ( aName.isNull() ) //Cancel return; - CAM_Application::onOpenDoc(); + closeDoc(false); + onOpenDoc( aName ); if ( !study ) // new study will be create in THIS application { @@ -5157,7 +5162,7 @@ void LightApp_Application::onViewManagerRemoved( SUIT_ViewManager* ) /*! Check existing document. */ -bool LightApp_Application::checkExistingDoc() +bool LightApp_Application::checkExistingDoc( bool closeExistingDoc ) { bool result = true; if( activeStudy() ) { @@ -5171,17 +5176,23 @@ bool LightApp_Application::checkExistingDoc() if(answer == 0) { if ( activeStudy()->isSaved() ) { onSaveDoc(); - closeDoc( false ); + if (closeExistingDoc) { + closeDoc(false); + } } else if ( onSaveAsDoc() ) { - if( !closeDoc( false ) ) { - result = false; + if (closeExistingDoc) { + if( !closeDoc( false ) ) { + result = false; + } } } else { result = false; } } else if( answer == 1 ) { - closeDoc( false ); + if (closeExistingDoc) { + closeDoc( false ); + } } else if( answer == 2 ) { result = false; }