ProjectDjango/ConfigurationPage/DjangoPage.py

changeset 1
13a0cced0c6e
child 4
81c2943be6b6
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ProjectDjango/ConfigurationPage/DjangoPage.py	Fri Mar 22 19:26:49 2013 +0100
@@ -0,0 +1,91 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2013 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+"""
+Module implementing the Django configuration page.
+"""
+
+from Preferences.ConfigurationPages.ConfigurationPageBase import ConfigurationPageBase
+from .Ui_DjangoPage import Ui_DjangoPage
+
+from Globals import isWindowsPlatform, isMacPlatform
+
+
+class DjangoPage(ConfigurationPageBase, Ui_DjangoPage):
+    """
+    Class implementing the Django configuration page.
+    """
+    def __init__(self, plugin):
+        """
+        Constructor
+        
+        @param plugin reference to the plugin object
+        """
+        super().__init__()
+        self.setupUi(self)
+        self.setObjectName("DjangoPage")
+        
+        self.__plugin = plugin
+        
+        consoleList = []
+        if isWindowsPlatform():
+            consoleList.append("cmd.exe /c")
+        elif isMacPlatform():
+            consoleList.append("xterm -e")
+            consoleList.append("/opt/X11/bin/xterm -e")
+        else:
+            consoleList.append("konsole -e")
+            consoleList.append("@konsole --workdir . -e")
+            # KDE4 konsole spawns
+            consoleList.append("gnome-terminal -x")
+            consoleList.append("xterm -e")
+        
+        consoleNoCloseList = []
+        if isWindowsPlatform():
+            consoleNoCloseList.append("cmd.exe /k")
+        elif isMacPlatform():
+            consoleNoCloseList.append("xterm -hold -e")
+            consoleList.append("/opt/X11/bin/xterm -hold -e")
+        else:
+            consoleNoCloseList.append("konsole --noclose -e")
+            consoleNoCloseList.append("@konsole --noclose --workdir . -e")
+            # KDE4 konsole spawns
+            consoleNoCloseList.append("xterm -hold -e")
+        
+        self.consoleCommandCombo.addItems(consoleList)
+        self.consoleCommandNoCloseCombo.addItems(consoleNoCloseList)
+        
+        # set initial values
+        self.consoleCommandCombo.setEditText(
+            self.__plugin.getPreferences("ConsoleCommand"))
+        self.consoleCommandNoCloseCombo.setEditText(
+            self.__plugin.getPreferences("ConsoleCommandNoClose"))
+        
+        self.serverAddressEdit.setText(
+            self.__plugin.getPreferences("ServerAddress"))
+        
+        self.appsRecentSpinBox.setValue(
+            self.__plugin.getPreferences("RecentNumberApps"))
+        
+        self.plainPythonCheckBox.setChecked(
+            self.__plugin.getPreferences("UsePlainPython"))
+    
+    def save(self):
+        """
+        Public slot to save the Django configuration.
+        """
+        self.__plugin.setPreferences("ConsoleCommand", 
+            self.consoleCommandCombo.currentText())
+        self.__plugin.setPreferences("ConsoleCommandNoClose", 
+            self.consoleCommandNoCloseCombo.currentText())
+        
+        self.__plugin.setPreferences("ServerAddress", 
+            self.serverAddressEdit.text())
+        
+        self.__plugin.setPreferences("RecentNumberApps", 
+            self.appsRecentSpinBox.value())
+        
+        self.__plugin.setPreferences("UsePlainPython", 
+            int(self.plainPythonCheckBox.isChecked()))

eric ide

mercurial