Project/DebuggerPropertiesDialog.py

changeset 6352
4bdc6503df81
parent 6048
82ad8ec9548c
child 6378
26cd487e6b56
--- 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):

eric ide

mercurial