ProjectDjango/ConfigurationPage/DjangoPage.py

changeset 1
13a0cced0c6e
child 4
81c2943be6b6
equal deleted inserted replaced
0:9ea520275f3f 1:13a0cced0c6e
1 # -*- coding: utf-8 -*-
2
3 # Copyright (c) 2013 Detlev Offenbach <detlev@die-offenbachs.de>
4 #
5
6 """
7 Module implementing the Django configuration page.
8 """
9
10 from Preferences.ConfigurationPages.ConfigurationPageBase import ConfigurationPageBase
11 from .Ui_DjangoPage import Ui_DjangoPage
12
13 from Globals import isWindowsPlatform, isMacPlatform
14
15
16 class DjangoPage(ConfigurationPageBase, Ui_DjangoPage):
17 """
18 Class implementing the Django configuration page.
19 """
20 def __init__(self, plugin):
21 """
22 Constructor
23
24 @param plugin reference to the plugin object
25 """
26 super().__init__()
27 self.setupUi(self)
28 self.setObjectName("DjangoPage")
29
30 self.__plugin = plugin
31
32 consoleList = []
33 if isWindowsPlatform():
34 consoleList.append("cmd.exe /c")
35 elif isMacPlatform():
36 consoleList.append("xterm -e")
37 consoleList.append("/opt/X11/bin/xterm -e")
38 else:
39 consoleList.append("konsole -e")
40 consoleList.append("@konsole --workdir . -e")
41 # KDE4 konsole spawns
42 consoleList.append("gnome-terminal -x")
43 consoleList.append("xterm -e")
44
45 consoleNoCloseList = []
46 if isWindowsPlatform():
47 consoleNoCloseList.append("cmd.exe /k")
48 elif isMacPlatform():
49 consoleNoCloseList.append("xterm -hold -e")
50 consoleList.append("/opt/X11/bin/xterm -hold -e")
51 else:
52 consoleNoCloseList.append("konsole --noclose -e")
53 consoleNoCloseList.append("@konsole --noclose --workdir . -e")
54 # KDE4 konsole spawns
55 consoleNoCloseList.append("xterm -hold -e")
56
57 self.consoleCommandCombo.addItems(consoleList)
58 self.consoleCommandNoCloseCombo.addItems(consoleNoCloseList)
59
60 # set initial values
61 self.consoleCommandCombo.setEditText(
62 self.__plugin.getPreferences("ConsoleCommand"))
63 self.consoleCommandNoCloseCombo.setEditText(
64 self.__plugin.getPreferences("ConsoleCommandNoClose"))
65
66 self.serverAddressEdit.setText(
67 self.__plugin.getPreferences("ServerAddress"))
68
69 self.appsRecentSpinBox.setValue(
70 self.__plugin.getPreferences("RecentNumberApps"))
71
72 self.plainPythonCheckBox.setChecked(
73 self.__plugin.getPreferences("UsePlainPython"))
74
75 def save(self):
76 """
77 Public slot to save the Django configuration.
78 """
79 self.__plugin.setPreferences("ConsoleCommand",
80 self.consoleCommandCombo.currentText())
81 self.__plugin.setPreferences("ConsoleCommandNoClose",
82 self.consoleCommandNoCloseCombo.currentText())
83
84 self.__plugin.setPreferences("ServerAddress",
85 self.serverAddressEdit.text())
86
87 self.__plugin.setPreferences("RecentNumberApps",
88 self.appsRecentSpinBox.value())
89
90 self.__plugin.setPreferences("UsePlainPython",
91 int(self.plainPythonCheckBox.isChecked()))

eric ide

mercurial