diff -r 27ce01e44a5f -r 4bdc6503df81 Project/DebuggerPropertiesDialog.py --- a/Project/DebuggerPropertiesDialog.py Sun Jun 17 13:09:00 2018 +0200 +++ b/Project/DebuggerPropertiesDialog.py Sun Jun 17 16:56:10 2018 +0200 @@ -17,6 +17,7 @@ from E5Gui.E5Completers import E5DirCompleter from E5Gui.E5PathPicker import E5PathPickerModes +from E5Gui.E5Application import e5App from .Ui_DebuggerPropertiesDialog import Ui_DebuggerPropertiesDialog @@ -55,30 +56,31 @@ self.debugClientClearHistoryButton.setIcon( UI.PixmapCache.getIcon("editDelete.png")) - interpreterHistory = Preferences.getProject( - "DebuggerInterpreterHistory") - self.interpreterPicker.setMode(E5PathPickerModes.OpenFileMode) - self.interpreterPicker.setInsertPolicy(QComboBox.InsertAtTop) - self.interpreterPicker.setSizeAdjustPolicy( - QComboBox.AdjustToMinimumContentsLength) - self.interpreterPicker.setPathsList(interpreterHistory) - self.interpreterClearHistoryButton.setIcon( - UI.PixmapCache.getIcon("editDelete.png")) + self.venvComboBox.addItem("") + self.venvComboBox.addItems( + sorted(e5App().getObject("VirtualEnvManager") + .getVirtualenvNames())) self.translationLocalCompleter = E5DirCompleter( self.translationLocalEdit) self.project = project - if self.project.debugProperties["INTERPRETER"]: - self.interpreterPicker.setText( - self.project.debugProperties["INTERPRETER"]) + if self.project.debugProperties["VIRTUALENV"]: + venvIndex = max(0, self.venvComboBox.findText( + self.project.debugProperties["VIRTUALENV"])) else: - if self.project.pdata["PROGLANGUAGE"] in \ - ["Python", "Python2", "Python3"]: - self.interpreterPicker.setText(sys.executable) - elif self.project.pdata["PROGLANGUAGE"] == "Ruby": - self.interpreterPicker.setText("/usr/bin/ruby") + if self.project.pdata["PROGLANGUAGE"] in ["Python", "Python2"]: + venvName = Preferences.getDebugger("Python2VirtualEnv") + elif self.project.pdata["PROGLANGUAGE"] == "Python3": + venvName = Preferences.getDebugger("Python3VirtualEnv") + else: + venvName = "" + if venvName: + venvIndex = max(0, self.venvComboBox.findText(venvName)) + else: + venvIndex = 0 + self.venvComboBox.setCurrentIndex(venvIndex) if self.project.debugProperties["DEBUGCLIENT"]: self.debugClientPicker.setText( self.project.debugProperties["DEBUGCLIENT"]) @@ -134,8 +136,8 @@ """ Public method to store the entered/modified data. """ - self.project.debugProperties["INTERPRETER"] = \ - self.interpreterPicker.text() + self.project.debugProperties["VIRTUALENV"] = \ + self.venvComboBox.currentText() if not self.project.debugProperties["INTERPRETER"]: if self.project.pdata["PROGLANGUAGE"] in \ ["Python", "Python2", "Python3"]: @@ -193,13 +195,6 @@ debugClientsHistory.insert(0, debugClient) Preferences.setProject("DebugClientsHistory", debugClientsHistory) - - interpreter = self.interpreterPicker.text() - interpreterHistory = self.interpreterPicker.getPathItems() - if interpreter not in interpreterHistory: - interpreterHistory.insert(0, interpreter) - Preferences.setProject("DebuggerInterpreterHistory", - interpreterHistory) @pyqtSlot() def on_debugClientClearHistoryButton_clicked(self):