--- a/Preferences/ConfigurationPages/DebuggerPythonPage.py Thu Jun 14 19:19:15 2018 +0200 +++ b/Preferences/ConfigurationPages/DebuggerPythonPage.py Thu Jun 14 19:20:52 2018 +0200 @@ -9,6 +9,7 @@ from __future__ import unicode_literals +from E5Gui.E5Application import e5App from E5Gui.E5PathPicker import E5PathPickerModes from .ConfigurationPageBase import ConfigurationPageBase @@ -29,10 +30,13 @@ self.setupUi(self) self.setObjectName("DebuggerPythonPage") - self.interpreterPicker.setMode(E5PathPickerModes.OpenFileMode) - self.interpreterPicker.setToolTip(self.tr( - "Press to select the Python interpreter via a file selection" - " dialog")) + try: + virtualenvManager = e5App().getObject("VirtualEnvManager") + except KeyError: + from VirtualEnv.VirtualenvManager import VirtualenvManager + virtualenvManager = VirtualenvManager() + self.venvComboBox.addItems( + [""] + sorted(virtualenvManager.getVirtualenvNames())) self.debugClientPicker.setMode(E5PathPickerModes.OpenFileMode) self.debugClientPicker.setToolTip(self.tr( @@ -40,8 +44,12 @@ self.debugClientPicker.setFilters(self.tr("Python Files (*.py *.py2)")) # set initial values - self.interpreterPicker.setText( - Preferences.getDebugger("PythonInterpreter"), toNative=False) + venvName = Preferences.getDebugger("Python2VirtualEnv") + if venvName: + index = self.venvComboBox.findText(venvName) + if index < 0: + index = 0 + self.venvComboBox.setCurrentIndex(index) dct = Preferences.getDebugger("DebugClientType") if dct == "standard": self.standardButton.setChecked(True) @@ -60,9 +68,11 @@ """ Public slot to save the Debugger Python configuration. """ - Preferences.setDebugger( - "PythonInterpreter", - self.interpreterPicker.text(toNative=False)) + venvName = self.venvComboBox.currentText() + if venvName: + Preferences.setDebugger( + "Python2VirtualEnv", + venvName) if self.standardButton.isChecked(): dct = "standard" else: