10 import os |
10 import os |
11 |
11 |
12 from PyQt6.QtCore import Qt, pyqtSlot |
12 from PyQt6.QtCore import Qt, pyqtSlot |
13 from PyQt6.QtWidgets import QDialog, QDialogButtonBox |
13 from PyQt6.QtWidgets import QDialog, QDialogButtonBox |
14 |
14 |
15 from eric7 import Globals, Utilities |
|
16 from eric7.EricWidgets.EricPathPicker import EricPathPickerModes |
15 from eric7.EricWidgets.EricPathPicker import EricPathPickerModes |
|
16 from eric7.SystemUtilities import OSUtilities, PythonUtilities |
17 |
17 |
18 from .Ui_VirtualenvAddEditDialog import Ui_VirtualenvAddEditDialog |
18 from .Ui_VirtualenvAddEditDialog import Ui_VirtualenvAddEditDialog |
19 |
19 |
20 |
20 |
21 class VirtualenvAddEditDialog(QDialog, Ui_VirtualenvAddEditDialog): |
21 class VirtualenvAddEditDialog(QDialog, Ui_VirtualenvAddEditDialog): |
76 else: |
76 else: |
77 self.setWindowTitle(self.tr("Add Virtual Environment")) |
77 self.setWindowTitle(self.tr("Add Virtual Environment")) |
78 |
78 |
79 self.__envBaseDir = baseDir |
79 self.__envBaseDir = baseDir |
80 if not self.__envBaseDir: |
80 if not self.__envBaseDir: |
81 self.__envBaseDir = Utilities.getHomeDir() |
81 self.__envBaseDir = OSUtilities.getHomeDir() |
82 |
82 |
83 self.targetDirectoryPicker.setMode(EricPathPickerModes.DIRECTORY_MODE) |
83 self.targetDirectoryPicker.setMode(EricPathPickerModes.DIRECTORY_MODE) |
84 self.targetDirectoryPicker.setWindowTitle( |
84 self.targetDirectoryPicker.setWindowTitle( |
85 self.tr("Virtualenv Target Directory") |
85 self.tr("Virtualenv Target Directory") |
86 ) |
86 ) |
87 self.targetDirectoryPicker.setDefaultDirectory(self.__envBaseDir) |
87 self.targetDirectoryPicker.setDefaultDirectory(self.__envBaseDir) |
88 |
88 |
89 self.pythonExecPicker.setMode(EricPathPickerModes.OPEN_FILE_MODE) |
89 self.pythonExecPicker.setMode(EricPathPickerModes.OPEN_FILE_MODE) |
90 self.pythonExecPicker.setWindowTitle(self.tr("Python Interpreter")) |
90 self.pythonExecPicker.setWindowTitle(self.tr("Python Interpreter")) |
91 self.pythonExecPicker.setDefaultDirectory(Globals.getPythonExecutable()) |
91 self.pythonExecPicker.setDefaultDirectory(PythonUtilities.getPythonExecutable()) |
92 |
92 |
93 self.execPathEdit.setToolTip( |
93 self.execPathEdit.setToolTip( |
94 self.tr( |
94 self.tr( |
95 "Enter the executable search path to be prepended to the PATH" |
95 "Enter the executable search path to be prepended to the PATH" |
96 " environment variable. Use '{0}' as the separator." |
96 " environment variable. Use '{0}' as the separator." |
165 @return detected Python interpreter or empty string |
165 @return detected Python interpreter or empty string |
166 @rtype str |
166 @rtype str |
167 """ |
167 """ |
168 if venvDirectory: |
168 if venvDirectory: |
169 # try to determine a Python interpreter name |
169 # try to determine a Python interpreter name |
170 if Utilities.isWindowsPlatform(): |
170 if OSUtilities.isWindowsPlatform(): |
171 candidates = ( |
171 candidates = ( |
172 os.path.join(venvDirectory, "Scripts", "python.exe"), |
172 os.path.join(venvDirectory, "Scripts", "python.exe"), |
173 os.path.join(venvDirectory, "python.exe"), |
173 os.path.join(venvDirectory, "python.exe"), |
174 ) |
174 ) |
175 else: |
175 else: |
246 @param checked state of the check box |
248 @param checked state of the check box |
247 @type bool |
249 @type bool |
248 """ |
250 """ |
249 if checked and not bool(self.execPathEdit.text()): |
251 if checked and not bool(self.execPathEdit.text()): |
250 # prepopulate the execPathEdit widget |
252 # prepopulate the execPathEdit widget |
251 if Utilities.isWindowsPlatform(): |
253 if OSUtilities.isWindowsPlatform(): |
252 self.execPathEdit.setText( |
254 self.execPathEdit.setText( |
253 os.pathsep.join( |
255 os.pathsep.join( |
254 [ |
256 [ |
255 self.targetDirectoryPicker.text(), |
257 self.targetDirectoryPicker.text(), |
256 os.path.join(self.targetDirectoryPicker.text(), "Scripts"), |
258 os.path.join(self.targetDirectoryPicker.text(), "Scripts"), |