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") |
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 ) |