]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
update salome env on extension adding
authorDUC ANH HOANG <dh77501n@dsp1043837>
Tue, 18 Jul 2023 15:09:41 +0000 (17:09 +0200)
committerDUC ANH HOANG <dh77501n@dsp1043837>
Tue, 18 Jul 2023 15:09:41 +0000 (17:09 +0200)
src/LightApp/LightApp_Application.cxx
src/LightApp/resources/LightApp_msg_en.ts
src/LightApp/resources/LightApp_msg_fr.ts

index 314e2dd24f457f4e2cb9ba50c3de5d82fe01fa63..9db7595f59944b654054ac75369d610f22d22480 100644 (file)
@@ -960,6 +960,7 @@ void LightApp_Application::onExtAdding()
   // but I didn't compare the performance for each case.
   PyLockWrapper lck; // acquire GIL
   PyObjWrapper extensionUnpacker = PyImport_ImportModule((char*)"SalomeOnDemandTK.extension_unpacker");
+  PyObjWrapper runSalomeOnDemand = PyImport_ImportModule((char*)"runSalomeOnDemand");
 
   // Loop via selected extensions files
   foreach(QString path, paths)
@@ -988,12 +989,21 @@ void LightApp_Application::onExtAdding()
     }
 
     // Add an extension to GUI
+    QFileInfo extFileInfo(path);
+    QString extName = extFileInfo.baseName();
     if (moduleAction)
     {
-      QFileInfo extFileInfo(path);
-      QString extName = extFileInfo.baseName();
       moduleAction->insertExtension(extName);
     }
+
+    // Update environment of salome
+    PyObjWrapper update_env = PyObject_CallMethod(
+      runSalomeOnDemand, (char*)"set_selext_env", (char*)"ss", extRootDir, extName.toStdString().c_str());
+    if (!update_env)
+    {
+      SUIT_MessageBox::warning(desktop(), tr("WRN_WARNING"), tr("WRN_FAILED_UPDATE_ENV").arg(extName + "_env.py") );
+      continue;
+    }
   }
 
   // Udate actions only once after all of them were already inserted
index 539ebdbf22cdb0187195e7f0275ef6288ac86c06..bd3e2155ae15d911c175307fd29f2393f02228b3 100644 (file)
@@ -1247,6 +1247,10 @@ Continue?</translation>
         <source>WRN_FAILED_UNPACK_EXTENSION</source>
         <translation>Failed to unpack a salome extension from file: %1.</translation>
     </message>
+    <message>
+        <source>WRN_FAILED_UPDATE_ENV</source>
+        <translation>Failed to update salome environment from file: %1.</translation>
+    </message>
     <message>
         <source>WRN_FAILED_REMOVE_EXTENSION</source>
         <translation>Failed to remove a salome extension: %1.</translation>
index da3460b3b93f8e8d7864cf39b01d8adeae138679..712f6359a37187dff83df60ffd53282618d5ad1a 100644 (file)
@@ -1181,6 +1181,10 @@ Le fichier n&apos;existe pas</translation>
         <source>WRN_FAILED_UNPACK_EXTENSION</source>
         <translation>Échec de la décompression d'une extension salome à partir d'un fichier: %1.</translation>
     </message>
+    <message>
+        <source>WRN_FAILED_UPDATE_ENV</source>
+        <translation>Échec de la mise à jour de l'environnement de salome à partir du fichier: %1.</translation>
+    </message>
     <message>
         <source>WRN_FAILED_REMOVE_EXTENSION</source>
         <translation>Échec de la suppression d'une extension Salomé: %1.</translation>