X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcpBaseQtApplication%2FMainWindow.cxx;h=830508fb18d58a60ef0f14106d746735ff2314e0;hb=1eca6dc8780b7fda231cf03e7ec56c77549bf865;hp=46312b14d025fbe67c58282a4707c84c953b4ea9;hpb=183830055f401d334889eb83527a000129e45cad;p=cpPlugins.git diff --git a/lib/cpBaseQtApplication/MainWindow.cxx b/lib/cpBaseQtApplication/MainWindow.cxx index 46312b1..830508f 100644 --- a/lib/cpBaseQtApplication/MainWindow.cxx +++ b/lib/cpBaseQtApplication/MainWindow.cxx @@ -48,19 +48,21 @@ MainWindow( m_Editor( NULL ), m_MPR( NULL ) { - QFileInfo i( argv[ 0 ] ); - if( i.exists( ) ) - { - this->m_ExecutionPath = i.canonicalPath( ).toStdString( ); - try { this->m_Interface.AddEnvironments( this->m_ExecutionPath ); } - catch( ... ) { } - try { this->m_Interface.OpenEnvironments( this->m_ExecutionPath ); } - catch( ... ) { } - try { this->m_Interface.SaveEnvironments( this->m_ExecutionPath ); } - catch( ... ) { } - } - else - this->m_ExecutionPath = ""; + QFileInfo e_path( argv[ 0 ] ); + QDir r_path( "." ); + this->m_RunPath = r_path.canonicalPath( ).toStdString( ); + std::stringstream paths; + paths + << e_path.canonicalPath( ).toStdString( ) + << cpPlugins_SEPARATOR + << this->m_RunPath; + + try { this->m_Interface.AddEnvironments( this->m_RunPath ); } + catch( ... ) { } + try { this->m_Interface.OpenEnvironments( this->m_RunPath ); } + catch( ... ) { } + try { this->m_Interface.SaveEnvironments( this->m_RunPath ); } + catch( ... ) { } this->UpdateEnvironment( ); this->m_Workspace.SetInterface( &( this->m_Interface ) ); } @@ -155,7 +157,7 @@ _AddEnvironments( const std::string& environments ) { try { this->m_Interface.AddEnvironments( environments ); } catch( ... ) { } - try { this->m_Interface.SaveEnvironments( this->m_ExecutionPath ); } + try { this->m_Interface.SaveEnvironments( this->m_RunPath ); } catch( ... ) { } this->UpdateEnvironment( ); } @@ -540,12 +542,10 @@ _InteractiveAddEnviromentPaths( ) if( dlg.exec( ) ) { auto paths = dlg.getPaths( ); + std::stringstream envs; for( auto p = paths.begin( ); p != paths.end( ); ++p ) - { - try { this->m_Interface.AddEnvironments( *p ); } - catch( ... ) { } - - } // rof + envs << *p << cpPlugins_SEPARATOR; + this->_AddEnvironments( envs.str( ) ); this->UpdateEnvironment( ); } // fi