eric6/VirtualEnv/VirtualenvManager.py

changeset 7910
2eeec6bc49e6
parent 7781
607a6098cb44
child 7923
91e843545d9a
diff -r ad9f1dc09b4a -r 2eeec6bc49e6 eric6/VirtualEnv/VirtualenvManager.py
--- a/eric6/VirtualEnv/VirtualenvManager.py	Wed Dec 23 11:47:43 2020 +0100
+++ b/eric6/VirtualEnv/VirtualenvManager.py	Wed Dec 23 16:28:35 2020 +0100
@@ -58,6 +58,9 @@
         """
         Private slot to load the virtual environments.
         """
+        self.__virtualEnvironmentsBaseDir = Preferences.Prefs.settings.value(
+            "PyVenv/VirtualEnvironmentsBaseDir", "")
+        
         venvString = Preferences.Prefs.settings.value(
             "PyVenv/VirtualEnvironments", "{}")     # __IGNORE_WARNING_M613__
         environments = json.loads(venvString)
@@ -127,6 +130,10 @@
         Private slot to save the virtual environments.
         """
         Preferences.Prefs.settings.setValue(
+            "PyVenv/VirtualEnvironmentsBaseDir",
+            self.__virtualEnvironmentsBaseDir)
+        
+        Preferences.Prefs.settings.setValue(
             "PyVenv/VirtualEnvironments",
             json.dumps(self.__virtualEnvironments)
         )
@@ -164,15 +171,21 @@
         return ("", {})
     
     @pyqtSlot()
-    def createVirtualEnv(self):
+    def createVirtualEnv(self, baseDir=""):
         """
         Public slot to create a new virtual environment.
+        
+        @param baseDir base directory for the virtual environments
+        @type str
         """
         from .VirtualenvConfigurationDialog import (
             VirtualenvConfigurationDialog
         )
         
-        dlg = VirtualenvConfigurationDialog()
+        if not baseDir:
+            baseDir = self.__virtualEnvironmentsBaseDir
+        
+        dlg = VirtualenvConfigurationDialog(baseDir=baseDir)
         if dlg.exec() == QDialog.Accepted:
             resultDict = dlg.getData()
             
@@ -602,3 +615,22 @@
             return self.__virtualEnvironments[venvName]["exec_path"]
         else:
             return ""
+    
+    def setVirtualEnvironmentsBaseDir(self, baseDir):
+        """
+        Public method to set the base directory for the virtual environments.
+        
+        @param baseDir base directory for the virtual environments
+        @type str
+        """
+        self.__virtualEnvironmentsBaseDir = baseDir
+        self.__saveSettings()
+    
+    def getVirtualEnvironmentsBaseDir(self):
+        """
+        Public method to set the base directory for the virtual environments.
+        
+        @return base directory for the virtual environments
+        @rtype str
+        """
+        return self.__virtualEnvironmentsBaseDir

eric ide

mercurial