ProjectDjango/ConfigurationPage/DjangoPage.py

changeset 9
8fe581309106
parent 6
80815349eef4
child 16
54c41e37792d
--- a/ProjectDjango/ConfigurationPage/DjangoPage.py	Mon Mar 25 18:30:42 2013 +0100
+++ b/ProjectDjango/ConfigurationPage/DjangoPage.py	Tue Mar 26 16:37:01 2013 +0100
@@ -7,11 +7,17 @@
 Module implementing the Django configuration page.
 """
 
+from PyQt4.QtCore import pyqtSlot
+
+from E5Gui import E5FileDialog
+
 from Preferences.ConfigurationPages.ConfigurationPageBase import ConfigurationPageBase
 from .Ui_DjangoPage import Ui_DjangoPage
 
 from Globals import isWindowsPlatform, isMacPlatform
 
+import Utilities
+
 
 class DjangoPage(ConfigurationPageBase, Ui_DjangoPage):
     """
@@ -71,8 +77,15 @@
         self.appsRecentSpinBox.setValue(
             self.__plugin.getPreferences("RecentNumberApps"))
         
-        self.plainPythonCheckBox.setChecked(
-            self.__plugin.getPreferences("UsePlainPython"))
+        self.virtualEnvPy2Edit.setText(
+            self.__plugin.getPreferences("VirtualEnvironmentPy2"))
+        self.plainPython2CheckBox.setChecked(
+            self.__plugin.getPreferences("UsePlainPythonPy2"))
+        
+        self.virtualEnvPy3Edit.setText(
+            self.__plugin.getPreferences("VirtualEnvironmentPy3"))
+        self.plainPython3CheckBox.setChecked(
+            self.__plugin.getPreferences("UsePlainPythonPy3"))
     
     def save(self):
         """
@@ -91,5 +104,48 @@
         self.__plugin.setPreferences("RecentNumberApps",
             self.appsRecentSpinBox.value())
         
-        self.__plugin.setPreferences("UsePlainPython",
-            self.plainPythonCheckBox.isChecked())
+        self.__plugin.setPreferences("VirtualEnvironmentPy2",
+            self.virtualEnvPy2Edit.text())
+        self.__plugin.setPreferences("UsePlainPythonPy2",
+            self.plainPython2CheckBox.isChecked())
+        
+        self.__plugin.setPreferences("VirtualEnvironmentPy3",
+            self.virtualEnvPy3Edit.text())
+        self.__plugin.setPreferences("UsePlainPythonPy3",
+            self.plainPython3CheckBox.isChecked())
+    
+    @pyqtSlot()
+    def on_virtualEnvPy3Button_clicked(self):
+        """
+        Private slot to select the virtual environment for Python 3 via a
+        directory selection dialog.
+        """
+        vDir = self.virtualEnvPy3Edit.text()
+        if not vDir:
+            vDir = Utilities.getHomeDir()
+        virtualEnv = E5FileDialog.getExistingDirectory(
+            self,
+            self.trUtf8("Select Virtual Environment for Python 3"),
+            vDir,
+            E5FileDialog.Options(E5FileDialog.Option(0)))
+        
+        if virtualEnv:
+            self.virtualEnvPy3Edit.setText(Utilities.toNativeSeparators(virtualEnv))
+    
+    @pyqtSlot()
+    def on_virtualEnvPy2Button_clicked(self):
+        """
+        Private slot to select the virtual environment for Python 2 via a
+        directory selection dialog.
+        """
+        vDir = self.virtualEnvPy2Edit.text()
+        if not vDir:
+            vDir = Utilities.getHomeDir()
+        virtualEnv = E5FileDialog.getExistingDirectory(
+            self,
+            self.trUtf8("Select Virtual Environment for Python 2"),
+            vDir,
+            E5FileDialog.Options(E5FileDialog.Option(0)))
+        
+        if virtualEnv:
+            self.virtualEnvPy2Edit.setText(Utilities.toNativeSeparators(virtualEnv))

eric ide

mercurial