]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
Some correction for salome_on_demand:
authorDUC ANH HOANG <duc-anh-externe.hoang@edf.fr>
Tue, 28 Mar 2023 13:02:40 +0000 (15:02 +0200)
committerDUC ANH HOANG <duc-anh-externe.hoang@edf.fr>
Fri, 14 Apr 2023 07:56:10 +0000 (09:56 +0200)
Install all modules in only one directory ("__SALOME_EXT__")
Hide extension button with env var "SALOME_ON_DEMAND"

src/LightApp/LightApp_Application.cxx
src/LightApp/LightApp_ModuleAction.cxx

index 8702a1f97c9f64ff539ab95bc09388a0fcd33961..454bf37c9b87cdcc6c6ca66dc9c02cf23f30018b 100644 (file)
@@ -23,7 +23,6 @@
 // File:      LightApp_Application.cxx
 // Created:   6/20/2005 18:39:45 PM
 // Author:    Natalia Donis
-
 #ifdef WIN32
 // E.A. : On windows with python 2.6, there is a conflict
 // E.A. : between pymath.h and Standard_math.h which define
@@ -953,8 +952,8 @@ void LightApp_Application::onExtAdding()
   SCRUTE(extRootDir);
 
   // We'll load all the extensions modules from this path
-  auto extModulesDir = QDir::cleanPath(QString(extRootDir) + QDir::separator() + "__SALOME_EXT__");
-  SCRUTE(extModulesDir.toStdString());
+  auto SalomeExtDir = QDir::cleanPath(QString(extRootDir) + QDir::separator() + "__SALOME_EXT__");
+  SCRUTE(SalomeExtDir.toStdString());
 
   // Import Python module that manages SALOME extensions.
   // It seems to be faster to lock and unlock once than on each iteration,
@@ -983,10 +982,7 @@ void LightApp_Application::onExtAdding()
       QString moduleName(PyUnicode_AsUTF8(moduleNameItem));
       SCRUTE(moduleName.toStdString());
 
-      QString moduleDir = QDir::cleanPath(extModulesDir + QDir::separator() + moduleName);
-      SCRUTE(moduleDir.toStdString());
-
-      addUserModule(moduleName, moduleDir, true);
+      addUserModule(moduleName, SalomeExtDir, true);
     }
 
     // Add an extension to GUI
index f42bcf1cd117c5315a900af1a62da7499944c346..60bc3f02cd13624492f00bd1b81587a8de86e63d 100644 (file)
@@ -609,10 +609,20 @@ void LightApp_ModuleAction::update()
   for ( QList<QtxComboBox*>::const_iterator it = lst.begin(); it != lst.end(); ++it )
     update( *it );
 
+
   myCombo->setVisible( myMode & List );
-  myAdd->setVisible( myMode & AddRemove );
-  myRemove->setVisible( myMode & AddRemove );
-  myInfo->setVisible( myMode & All );
+  if ( QString::compare(getenv("SALOME_ON_DEMAND"),"HIDE", Qt::CaseInsensitive) != 0)
+  {
+    myAdd->setVisible( myMode & AddRemove );
+    myRemove->setVisible( myMode & AddRemove );
+    myInfo->setVisible( myMode & All );
+  }
+  else
+  {
+    myAdd->setVisible(false);
+    myRemove->setVisible( false );
+    myInfo->setVisible( false );
+  }
   mySet->setVisible( myMode & Buttons );
 }