From 1a88f6eb561ff40a94b1c177efe5545b564b9fe3 Mon Sep 17 00:00:00 2001 From: rnv Date: Mon, 21 Jan 2019 18:06:12 +0300 Subject: [PATCH] 23641: [CEA] FIELDS Window not locked to panel. --- src/LightApp/LightApp_Application.cxx | 15 +++++++++++---- src/LightApp/LightApp_Application.h | 2 +- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/LightApp/LightApp_Application.cxx b/src/LightApp/LightApp_Application.cxx index 6fbc2c7a8..2a7d62cdc 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(); + 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() ) { @@ -5181,7 +5186,9 @@ bool LightApp_Application::checkExistingDoc() } } else if( answer == 1 ) { - closeDoc( false ); + if (closeExistingDoc) { + closeDoc( false ); + } } else if( answer == 2 ) { result = false; } diff --git a/src/LightApp/LightApp_Application.h b/src/LightApp/LightApp_Application.h index f32fd38a4..11fba2006 100644 --- a/src/LightApp/LightApp_Application.h +++ b/src/LightApp/LightApp_Application.h @@ -180,7 +180,7 @@ public: void updateVisibilityState( DataObjectList& theList, SUIT_ViewModel* theViewModel ); - virtual bool checkExistingDoc(); + virtual bool checkExistingDoc( bool checkExistingDoc = true ); #ifndef DISABLE_PYCONSOLE PyConsole_Interp* getPyInterp(); -- 2.39.2