eric6/VirtualEnv/VirtualenvConfigurationDialog.py

branch
maintenance
changeset 8043
0acf98cd089a
parent 7924
8a96736d465e
parent 7923
91e843545d9a
child 8176
31965986ecd1
diff -r 866adc8c315b -r 0acf98cd089a eric6/VirtualEnv/VirtualenvConfigurationDialog.py
--- a/eric6/VirtualEnv/VirtualenvConfigurationDialog.py	Sun Jan 17 13:53:08 2021 +0100
+++ b/eric6/VirtualEnv/VirtualenvConfigurationDialog.py	Mon Feb 01 10:38:16 2021 +0100
@@ -30,20 +30,27 @@
     Class implementing a dialog to enter the parameters for the
     virtual environment.
     """
-    def __init__(self, parent=None):
+    def __init__(self, baseDir="", parent=None):
         """
         Constructor
         
+        @param baseDir base directory for the virtual environments
+        @type str
         @param parent reference to the parent widget
         @type QWidget
         """
         super(VirtualenvConfigurationDialog, self).__init__(parent)
         self.setupUi(self)
         
+        if not baseDir:
+            baseDir = Utilities.getHomeDir()
+        self.__envBaseDir = baseDir
+        
         self.targetDirectoryPicker.setMode(E5PathPickerModes.DirectoryMode)
         self.targetDirectoryPicker.setWindowTitle(
             self.tr("Virtualenv Target Directory"))
-        self.targetDirectoryPicker.setDefaultDirectory(Utilities.getHomeDir())
+        self.targetDirectoryPicker.setText(baseDir)
+        self.targetDirectoryPicker.setDefaultDirectory(baseDir)
         
         self.extraSearchPathPicker.setMode(E5PathPickerModes.DirectoryMode)
         self.extraSearchPathPicker.setWindowTitle(
@@ -114,11 +121,13 @@
         Private method to update the enabled status of the OK button.
         """
         if self.virtualenvButton.isChecked() or self.pyvenvButton.isChecked():
-            self.buttonBox.button(QDialogButtonBox.Ok).setEnabled(
+            enable = (
                 (self.__virtualenvFound or self.__pyvenvFound) and
                 bool(self.targetDirectoryPicker.text()) and
                 bool(self.nameEdit.text())
             )
+            enable &= self.targetDirectoryPicker.text() != self.__envBaseDir
+            self.buttonBox.button(QDialogButtonBox.Ok).setEnabled(enable)
         elif self.condaButton.isChecked():
             enable = (
                 bool(self.condaNameEdit.text()) or

eric ide

mercurial