Salome HOME
updated copyright message
[modules/gui.git] / src / SalomeApp / SalomeApp_VisualState.cxx
index 8dd15089a2805909387379f6a5743f3dad53a8d3..813575ac300e9424a33c21c6690cdd977dc28438 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2015  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2023  CEA/DEN, EDF R&D, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@ -26,7 +26,8 @@
 #include "SalomeApp_Study.h"
 #include "SalomeApp_Application.h"
 
-//#include <SUIT_ResourceMgr.h>
+#include <SUIT_Session.h>
+#include <SUIT_ResourceMgr.h>
 #include <SUIT_ViewManager.h>
 #include <SUIT_ViewWindow.h>
 #include <QtxWorkstack.h>
@@ -174,13 +175,17 @@ int SalomeApp_VisualState::storeState()
   myApp->modules( mlist );
   QListIterator<CAM_Module*> itM( mlist );
   CAM_Module* module = 0;
+  SUIT_ResourceMgr* aResMgr = SUIT_Session::session()->resourceMgr();
+  bool loadLight = aResMgr->booleanValue( "Study", "autoload_light_modules", true );
+
   while ( itM.hasNext() ) {
     module = itM.next();
     if ( !module ) continue;
 
 
     if ( LightApp_Module* lModule = dynamic_cast<LightApp_Module*>( module ) ) {
-      ip->append( "AP_MODULES_LIST", lModule->moduleName().toStdString() );
+      if (loadLight)
+        ip->append( "AP_MODULES_LIST", lModule->moduleName().toStdString() );
       if ( SalomeApp_Module* sModule = dynamic_cast<SalomeApp_Module*>( module ) )
         sModule->storeVisualParameters( savePoint );
     }
@@ -270,7 +275,7 @@ void SalomeApp_VisualState::restoreState(int savePoint)
 
   // restore modules' visual parameters
   std::vector<std::string> v = ip->getValues( "AP_MODULES_LIST" );
-  for ( int i = 0; i < v.size(); i++ )
+  for ( int i = 0; i < (int)v.size(); i++ )
   {
     myApp->activateModule( v[i].c_str() );
     if ( SalomeApp_Module* module = dynamic_cast<SalomeApp_Module*>( myApp->activeModule() ) )