ProjectDjango/ConfigurationPage/DjangoPage.py

branch
eric7
changeset 180
64339135bd61
parent 175
30cb5e553e7e
child 181
2f5c3487139c
equal deleted inserted replaced
179:8413c2429808 180:64339135bd61
8 """ 8 """
9 9
10 from EricWidgets.EricApplication import ericApp 10 from EricWidgets.EricApplication import ericApp
11 from EricWidgets.EricPathPicker import EricPathPickerModes 11 from EricWidgets.EricPathPicker import EricPathPickerModes
12 12
13 from Preferences.ConfigurationPages.ConfigurationPageBase import ( 13 from Preferences.ConfigurationPages.ConfigurationPageBase import ConfigurationPageBase
14 ConfigurationPageBase
15 )
16 from .Ui_DjangoPage import Ui_DjangoPage 14 from .Ui_DjangoPage import Ui_DjangoPage
17 15
18 from Globals import isWindowsPlatform, isMacPlatform 16 from Globals import isWindowsPlatform, isMacPlatform
19 17
20 18
21 class DjangoPage(ConfigurationPageBase, Ui_DjangoPage): 19 class DjangoPage(ConfigurationPageBase, Ui_DjangoPage):
22 """ 20 """
23 Class implementing the Django configuration page. 21 Class implementing the Django configuration page.
24 """ 22 """
23
25 def __init__(self, plugin): 24 def __init__(self, plugin):
26 """ 25 """
27 Constructor 26 Constructor
28 27
29 @param plugin reference to the plugin object 28 @param plugin reference to the plugin object
30 """ 29 """
31 super().__init__() 30 super().__init__()
32 self.setupUi(self) 31 self.setupUi(self)
33 self.setObjectName("DjangoPage") 32 self.setObjectName("DjangoPage")
34 33
35 self.translationsPicker.setMode(EricPathPickerModes.OPEN_FILE_MODE) 34 self.translationsPicker.setMode(EricPathPickerModes.OPEN_FILE_MODE)
36 self.translationsPicker.setFilters(self.tr("All Files (*)")) 35 self.translationsPicker.setFilters(self.tr("All Files (*)"))
37 36
38 self.__plugin = plugin 37 self.__plugin = plugin
39 38
40 consoleList = [] 39 consoleList = []
41 if isWindowsPlatform(): 40 if isWindowsPlatform():
42 consoleList.append("cmd.exe /c") 41 consoleList.append("cmd.exe /c")
43 elif isMacPlatform(): 42 elif isMacPlatform():
44 consoleList.append("xterm -e") 43 consoleList.append("xterm -e")
48 # KDE 5 konsole spawns 47 # KDE 5 konsole spawns
49 consoleList.append("gnome-terminal -e") 48 consoleList.append("gnome-terminal -e")
50 consoleList.append("mate-terminal -e") 49 consoleList.append("mate-terminal -e")
51 consoleList.append("xfce4-terminal -e") 50 consoleList.append("xfce4-terminal -e")
52 consoleList.append("xterm -e") 51 consoleList.append("xterm -e")
53 52
54 consoleNoCloseList = [] 53 consoleNoCloseList = []
55 if isWindowsPlatform(): 54 if isWindowsPlatform():
56 consoleNoCloseList.append("cmd.exe /k") 55 consoleNoCloseList.append("cmd.exe /k")
57 elif isMacPlatform(): 56 elif isMacPlatform():
58 consoleNoCloseList.append("xterm -hold -e") 57 consoleNoCloseList.append("xterm -hold -e")
62 # KDE 5 konsole spawns 61 # KDE 5 konsole spawns
63 consoleNoCloseList.append("gnome-terminal --profile=<noclose> -e") 62 consoleNoCloseList.append("gnome-terminal --profile=<noclose> -e")
64 consoleNoCloseList.append("mate-terminal --profile=<noclose> -e") 63 consoleNoCloseList.append("mate-terminal --profile=<noclose> -e")
65 consoleNoCloseList.append("xfce4-terminal --hold -e") 64 consoleNoCloseList.append("xfce4-terminal --hold -e")
66 consoleNoCloseList.append("xterm -hold -e") 65 consoleNoCloseList.append("xterm -hold -e")
67 66
68 self.consoleCommandCombo.addItems(consoleList) 67 self.consoleCommandCombo.addItems(consoleList)
69 self.consoleCommandNoCloseCombo.addItems(consoleNoCloseList) 68 self.consoleCommandNoCloseCombo.addItems(consoleNoCloseList)
70 69
71 self.py3ShellCombo.addItem(self.tr("Plain Python"), "python") 70 self.py3ShellCombo.addItem(self.tr("Plain Python"), "python")
72 self.py3ShellCombo.addItem(self.tr("IPython"), "ipython") 71 self.py3ShellCombo.addItem(self.tr("IPython"), "ipython")
73 self.py3ShellCombo.addItem(self.tr("bpython"), "bpython") 72 self.py3ShellCombo.addItem(self.tr("bpython"), "bpython")
74 73
75 venvManager = ericApp().getObject("VirtualEnvManager") 74 venvManager = ericApp().getObject("VirtualEnvManager")
76 75
77 self.py3VenvNameComboBox.addItems( 76 self.py3VenvNameComboBox.addItems(
78 [""] + sorted(venvManager.getVirtualenvNames())) 77 [""] + sorted(venvManager.getVirtualenvNames())
79 78 )
79
80 # set initial values 80 # set initial values
81 self.consoleCommandCombo.setEditText( 81 self.consoleCommandCombo.setEditText(
82 self.__plugin.getPreferences("ConsoleCommand")) 82 self.__plugin.getPreferences("ConsoleCommand")
83 )
83 self.consoleCommandNoCloseCombo.setEditText( 84 self.consoleCommandNoCloseCombo.setEditText(
84 self.__plugin.getPreferences("ConsoleCommandNoClose")) 85 self.__plugin.getPreferences("ConsoleCommandNoClose")
85 86 )
86 self.serverAddressEdit.setText( 87
87 self.__plugin.getPreferences("ServerAddress")) 88 self.serverAddressEdit.setText(self.__plugin.getPreferences("ServerAddress"))
88 self.ipv6CheckBox.setChecked( 89 self.ipv6CheckBox.setChecked(self.__plugin.getPreferences("UseIPv6"))
89 self.__plugin.getPreferences("UseIPv6")) 90 self.threadingCheckBox.setChecked(self.__plugin.getPreferences("UseThreading"))
90 self.threadingCheckBox.setChecked( 91
91 self.__plugin.getPreferences("UseThreading"))
92
93 self.externalBrowserCheckBox.setChecked( 92 self.externalBrowserCheckBox.setChecked(
94 self.__plugin.getPreferences("UseExternalBrowser")) 93 self.__plugin.getPreferences("UseExternalBrowser")
95 94 )
95
96 self.appsRecentSpinBox.setValue( 96 self.appsRecentSpinBox.setValue(
97 self.__plugin.getPreferences("RecentNumberApps")) 97 self.__plugin.getPreferences("RecentNumberApps")
98 98 )
99 venvName = self.__plugin.getPreferences( 99
100 "VirtualEnvironmentNamePy3") 100 venvName = self.__plugin.getPreferences("VirtualEnvironmentNamePy3")
101 if venvName: 101 if venvName:
102 index = self.py3VenvNameComboBox.findText(venvName) 102 index = self.py3VenvNameComboBox.findText(venvName)
103 if index < 0: 103 if index < 0:
104 index = 0 104 index = 0
105 self.py3VenvNameComboBox.setCurrentIndex(index) 105 self.py3VenvNameComboBox.setCurrentIndex(index)
106 106
107 self.py3ShellCombo.setCurrentIndex(self.py3ShellCombo.findData( 107 self.py3ShellCombo.setCurrentIndex(
108 self.__plugin.getPreferences("Python3ConsoleType"))) 108 self.py3ShellCombo.findData(
109 109 self.__plugin.getPreferences("Python3ConsoleType")
110 )
111 )
112
110 self.translationsPicker.setText( 113 self.translationsPicker.setText(
111 self.__plugin.getPreferences("TranslationsEditor")) 114 self.__plugin.getPreferences("TranslationsEditor")
115 )
112 self.fuzzyTranslationsCheckBox.setChecked( 116 self.fuzzyTranslationsCheckBox.setChecked(
113 self.__plugin.getPreferences("FuzzyTranslations")) 117 self.__plugin.getPreferences("FuzzyTranslations")
114 118 )
119
115 def save(self): 120 def save(self):
116 """ 121 """
117 Public slot to save the Django configuration. 122 Public slot to save the Django configuration.
118 """ 123 """
119 self.__plugin.setPreferences( 124 self.__plugin.setPreferences(
120 "ConsoleCommand", 125 "ConsoleCommand", self.consoleCommandCombo.currentText()
121 self.consoleCommandCombo.currentText()) 126 )
122 self.__plugin.setPreferences( 127 self.__plugin.setPreferences(
123 "ConsoleCommandNoClose", 128 "ConsoleCommandNoClose", self.consoleCommandNoCloseCombo.currentText()
124 self.consoleCommandNoCloseCombo.currentText()) 129 )
125 130
131 self.__plugin.setPreferences("ServerAddress", self.serverAddressEdit.text())
132 self.__plugin.setPreferences("UseIPv6", self.ipv6CheckBox.isChecked())
133 self.__plugin.setPreferences("UseThreading", self.threadingCheckBox.isChecked())
134
126 self.__plugin.setPreferences( 135 self.__plugin.setPreferences(
127 "ServerAddress", self.serverAddressEdit.text()) 136 "UseExternalBrowser", self.externalBrowserCheckBox.isChecked()
137 )
138
139 self.__plugin.setPreferences("RecentNumberApps", self.appsRecentSpinBox.value())
140
128 self.__plugin.setPreferences( 141 self.__plugin.setPreferences(
129 "UseIPv6", self.ipv6CheckBox.isChecked()) 142 "VirtualEnvironmentNamePy3", self.py3VenvNameComboBox.currentText()
130 self.__plugin.setPreferences( 143 )
131 "UseThreading", self.threadingCheckBox.isChecked())
132
133 self.__plugin.setPreferences(
134 "UseExternalBrowser", self.externalBrowserCheckBox.isChecked())
135
136 self.__plugin.setPreferences(
137 "RecentNumberApps", self.appsRecentSpinBox.value())
138
139 self.__plugin.setPreferences(
140 "VirtualEnvironmentNamePy3",
141 self.py3VenvNameComboBox.currentText())
142 self.__plugin.setPreferences( 144 self.__plugin.setPreferences(
143 "Python3ConsoleType", 145 "Python3ConsoleType",
144 self.py3ShellCombo.itemData(self.py3ShellCombo.currentIndex())) 146 self.py3ShellCombo.itemData(self.py3ShellCombo.currentIndex()),
145 147 )
148
146 self.__plugin.setPreferences( 149 self.__plugin.setPreferences(
147 "TranslationsEditor", self.translationsPicker.text()) 150 "TranslationsEditor", self.translationsPicker.text()
151 )
148 self.__plugin.setPreferences( 152 self.__plugin.setPreferences(
149 "FuzzyTranslations", self.fuzzyTranslationsCheckBox.isChecked()) 153 "FuzzyTranslations", self.fuzzyTranslationsCheckBox.isChecked()
154 )

eric ide

mercurial