Skip to content

Commit 83445af

Browse files
committed
Merge pull request #607 from alexbruy/console-ui
use checkable groupbox instead of separate checkboxes in console
2 parents f82cc12 + bac09e9 commit 83445af

File tree

4 files changed

+109
-183
lines changed

4 files changed

+109
-183
lines changed

python/console/console_editor.py

+2-3
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,6 @@ def settingsEditor(self):
186186
threshold = self.settings.value("pythonConsole/autoCompThresholdEditor", 2).toInt()[0]
187187
radioButtonSource = self.settings.value("pythonConsole/autoCompleteSourceEditor", 'fromAPI').toString()
188188
autoCompEnabled = self.settings.value("pythonConsole/autoCompleteEnabledEditor", True).toBool()
189-
190189
self.setAutoCompletionThreshold(threshold)
191190
if autoCompEnabled:
192191
if radioButtonSource == 'fromDoc':
@@ -958,11 +957,11 @@ def closeAll(self):
958957
self._removeTab(i)
959958
self.newTabEditor(tabName='Untitled-0')
960959
self._removeTab(0)
961-
960+
962961
def saveAs(self):
963962
idx = self.idx
964963
self.parent.saveAsScriptFile(idx)
965-
964+
966965
def enableSaveIfModified(self, tab):
967966
tabWidget = self.widget(tab)
968967
if tabWidget:

python/console/console_sci.py

-1
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,6 @@ def settingsShell(self):
118118
self.setAutoCompletionThreshold(threshold)
119119
radioButtonSource = self.settings.value("pythonConsole/autoCompleteSource", 'fromAPI').toString()
120120
autoCompEnabled = self.settings.value("pythonConsole/autoCompleteEnabled", True).toBool()
121-
self.setAutoCompletionThreshold(threshold)
122121
if autoCompEnabled:
123122
if radioButtonSource == 'fromDoc':
124123
self.setAutoCompletionSource(self.AcsDocument)

python/console/console_settings.py

+3-31
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ def __init__(self, parent):
3535

3636
self.restoreSettings()
3737
self.initialCheck()
38-
self.autoCompletionOptions()
3938

4039
self.addAPIpath.setIcon(QIcon(":/images/themes/default/symbologyAdd.png"))
4140
self.addAPIpath.setToolTip(QCoreApplication.translate("PythonConsole", "Add API path"))
@@ -44,10 +43,6 @@ def __init__(self, parent):
4443

4544
self.connect( self.preloadAPI,
4645
SIGNAL("stateChanged(int)"), self.initialCheck)
47-
self.connect( self.autoCompleteEnabled,
48-
SIGNAL("stateChanged(int)"), self.autoCompletionOptions)
49-
self.connect( self.autoCompleteEnabledEditor,
50-
SIGNAL("stateChanged(int)"), self.autoCompletionOptions)
5146
self.connect(self.addAPIpath,
5247
SIGNAL("clicked()"), self.loadAPIFile)
5348
self.connect(self.removeAPIpath,
@@ -64,28 +59,6 @@ def enableDisable(self, value):
6459
self.addAPIpath.setEnabled(value)
6560
self.removeAPIpath.setEnabled(value)
6661

67-
def autoCompletionOptions(self):
68-
if self.autoCompleteEnabled.isChecked():
69-
self.enableDisableAutoCompleteOptions(True)
70-
else:
71-
self.enableDisableAutoCompleteOptions(False)
72-
if self.autoCompleteEnabledEditor.isChecked():
73-
self.enableDisableAutoCompleteOptions(True, editor='editor')
74-
else:
75-
self.enableDisableAutoCompleteOptions(False, editor='editor')
76-
77-
def enableDisableAutoCompleteOptions(self, value, editor=None):
78-
if editor:
79-
self.autoCompFromAPIEditor.setEnabled(value)
80-
self.autoCompFromDocAPIEditor.setEnabled(value)
81-
self.autoCompFromDocEditor.setEnabled(value)
82-
self.autoCompThresholdEditor.setEnabled(value)
83-
else:
84-
self.autoCompFromAPI.setEnabled(value)
85-
self.autoCompFromDocAPI.setEnabled(value)
86-
self.autoCompFromDoc.setEnabled(value)
87-
self.autoCompThreshold.setEnabled(value)
88-
8962
def loadAPIFile(self):
9063
settings = QSettings()
9164
lastDirPath = settings.value("pythonConsole/lastDirAPIPath").toString()
@@ -146,6 +119,9 @@ def saveSettings(self):
146119
settings.setValue("pythonConsole/autoCompThreshold", QVariant(self.autoCompThreshold.value()))
147120
settings.setValue("pythonConsole/autoCompThresholdEditor", QVariant(self.autoCompThresholdEditor.value()))
148121

122+
settings.setValue("pythonConsole/autoCompleteEnabledEditor", QVariant(self.groupBoxAutoCompletionEditor.isChecked()))
123+
settings.setValue("pythonConsole/autoCompleteEnabled", QVariant(self.groupBoxAutoCompletion.isChecked()))
124+
149125
if self.autoCompFromAPIEditor.isChecked():
150126
settings.setValue("pythonConsole/autoCompleteSourceEditor", QVariant('fromAPI'))
151127
elif self.autoCompFromDocEditor.isChecked():
@@ -160,8 +136,6 @@ def saveSettings(self):
160136
elif self.autoCompFromDocAPI.isChecked():
161137
settings.setValue("pythonConsole/autoCompleteSource", QVariant('fromDocAPI'))
162138

163-
settings.setValue("pythonConsole/autoCompleteEnabledEditor", QVariant(self.autoCompleteEnabledEditor.isChecked()))
164-
settings.setValue("pythonConsole/autoCompleteEnabled", QVariant(self.autoCompleteEnabled.isChecked()))
165139
settings.setValue("pythonConsole/enableObjectInsp", QVariant(self.enableObjectInspector.isChecked()))
166140
settings.setValue("pythonConsole/autoCloseBracket", QVariant(self.autoCloseBracket.isChecked()))
167141
settings.setValue("pythonConsole/autoCloseBracketEditor", QVariant(self.autoCloseBracketEditor.isChecked()))
@@ -188,8 +162,6 @@ def restoreSettings(self):
188162
self.autoCompThreshold.setValue(settings.value("pythonConsole/autoCompThreshold", 2).toInt()[0])
189163
self.autoCompThresholdEditor.setValue(settings.value("pythonConsole/autoCompThresholdEditor", 2).toInt()[0])
190164

191-
self.autoCompleteEnabledEditor.setChecked(settings.value("pythonConsole/autoCompleteEnabledEditor", True).toBool())
192-
self.autoCompleteEnabled.setChecked(settings.value("pythonConsole/autoCompleteEnabled", True).toBool())
193165
self.enableObjectInspector.setChecked(settings.value("pythonConsole/enableObjectInsp", False).toBool())
194166
self.autoCloseBracketEditor.setChecked(settings.value("pythonConsole/autoCloseBracketEditor", True).toBool())
195167
self.autoCloseBracket.setChecked(settings.value("pythonConsole/autoCloseBracket", True).toBool())

python/console/console_settings.ui

+104-148
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,8 @@
5858
<rect>
5959
<x>0</x>
6060
<y>0</y>
61-
<width>543</width>
62-
<height>674</height>
61+
<width>554</width>
62+
<height>642</height>
6363
</rect>
6464
</property>
6565
<layout class="QGridLayout" name="gridLayout_2">
@@ -137,59 +137,37 @@
137137
<property name="title">
138138
<string>Autocompletion</string>
139139
</property>
140+
<property name="checkable">
141+
<bool>true</bool>
142+
</property>
140143
<property name="collapsed" stdset="0">
141144
<bool>true</bool>
142145
</property>
143-
<layout class="QGridLayout" name="gridLayout_7">
146+
<property name="saveCheckedState" stdset="0">
147+
<bool>true</bool>
148+
</property>
149+
<property name="saveCollapsedState" stdset="0">
150+
<bool>true</bool>
151+
</property>
152+
<layout class="QGridLayout" name="gridLayout_4">
144153
<item row="0" column="0">
145-
<layout class="QHBoxLayout" name="horizontalLayout_2">
146-
<item>
147-
<widget class="QCheckBox" name="autoCompleteEnabledEditor">
148-
<property name="text">
149-
<string>Autocompletion enabled</string>
150-
</property>
151-
<property name="checked">
152-
<bool>true</bool>
153-
</property>
154-
</widget>
155-
</item>
156-
<item>
157-
<spacer name="horizontalSpacer">
158-
<property name="orientation">
159-
<enum>Qt::Horizontal</enum>
160-
</property>
161-
<property name="sizeHint" stdset="0">
162-
<size>
163-
<width>40</width>
164-
<height>20</height>
165-
</size>
166-
</property>
167-
</spacer>
168-
</item>
169-
<item>
170-
<layout class="QGridLayout" name="gridLayout_4">
171-
<item row="0" column="0">
172-
<widget class="QLabel" name="label_2">
173-
<property name="text">
174-
<string>Threshold</string>
175-
</property>
176-
</widget>
177-
</item>
178-
<item row="0" column="1">
179-
<widget class="QSpinBox" name="autoCompThresholdEditor">
180-
<property name="maximum">
181-
<number>10</number>
182-
</property>
183-
<property name="value">
184-
<number>2</number>
185-
</property>
186-
</widget>
187-
</item>
188-
</layout>
189-
</item>
190-
</layout>
154+
<widget class="QLabel" name="label_2">
155+
<property name="text">
156+
<string>Autocompletion threshold</string>
157+
</property>
158+
</widget>
159+
</item>
160+
<item row="0" column="1">
161+
<widget class="QSpinBox" name="autoCompThresholdEditor">
162+
<property name="maximum">
163+
<number>10</number>
164+
</property>
165+
<property name="value">
166+
<number>2</number>
167+
</property>
168+
</widget>
191169
</item>
192-
<item row="1" column="0">
170+
<item row="1" column="0" colspan="2">
193171
<layout class="QGridLayout" name="layoutRadioButtonEditor">
194172
<item row="0" column="0">
195173
<widget class="QRadioButton" name="autoCompFromDocEditor">
@@ -255,103 +233,6 @@
255233
<string>Console</string>
256234
</property>
257235
<layout class="QGridLayout" name="gridLayout_9">
258-
<item row="3" column="0">
259-
<widget class="QgsCollapsibleGroupBox" name="groupBoxAutoCompletion">
260-
<property name="title">
261-
<string>Autocompletion</string>
262-
</property>
263-
<property name="collapsed" stdset="0">
264-
<bool>false</bool>
265-
</property>
266-
<layout class="QGridLayout" name="gridLayout_8">
267-
<item row="0" column="0">
268-
<layout class="QHBoxLayout" name="horizontalLayout_4">
269-
<item>
270-
<widget class="QCheckBox" name="autoCompleteEnabled">
271-
<property name="text">
272-
<string>Autocompletion enabled</string>
273-
</property>
274-
<property name="checked">
275-
<bool>true</bool>
276-
</property>
277-
</widget>
278-
</item>
279-
<item>
280-
<spacer name="horizontalSpacer_2">
281-
<property name="orientation">
282-
<enum>Qt::Horizontal</enum>
283-
</property>
284-
<property name="sizeHint" stdset="0">
285-
<size>
286-
<width>40</width>
287-
<height>20</height>
288-
</size>
289-
</property>
290-
</spacer>
291-
</item>
292-
<item>
293-
<layout class="QGridLayout" name="gridLayout_5">
294-
<item row="0" column="0">
295-
<widget class="QLabel" name="label_6">
296-
<property name="text">
297-
<string>Threshold</string>
298-
</property>
299-
</widget>
300-
</item>
301-
<item row="0" column="1">
302-
<widget class="QSpinBox" name="autoCompThreshold">
303-
<property name="maximum">
304-
<number>10</number>
305-
</property>
306-
<property name="value">
307-
<number>2</number>
308-
</property>
309-
</widget>
310-
</item>
311-
</layout>
312-
</item>
313-
</layout>
314-
</item>
315-
<item row="1" column="0">
316-
<layout class="QGridLayout" name="layoutRadioButton">
317-
<item row="0" column="0">
318-
<widget class="QRadioButton" name="autoCompFromDoc">
319-
<property name="toolTip">
320-
<string>Get autocompletion from current document</string>
321-
</property>
322-
<property name="text">
323-
<string>from Document</string>
324-
</property>
325-
</widget>
326-
</item>
327-
<item row="0" column="1">
328-
<widget class="QRadioButton" name="autoCompFromAPI">
329-
<property name="toolTip">
330-
<string>Get autocompletion from installed APIs</string>
331-
</property>
332-
<property name="text">
333-
<string>from APIs files</string>
334-
</property>
335-
<property name="checked">
336-
<bool>true</bool>
337-
</property>
338-
</widget>
339-
</item>
340-
<item row="0" column="2">
341-
<widget class="QRadioButton" name="autoCompFromDocAPI">
342-
<property name="toolTip">
343-
<string>Get autocompletion from current document and installed APIs</string>
344-
</property>
345-
<property name="text">
346-
<string>from Doc and APIs</string>
347-
</property>
348-
</widget>
349-
</item>
350-
</layout>
351-
</item>
352-
</layout>
353-
</widget>
354-
</item>
355236
<item row="1" column="0">
356237
<layout class="QHBoxLayout" name="horizontalLayout">
357238
<item>
@@ -408,13 +289,88 @@
408289
</item>
409290
</layout>
410291
</item>
411-
<item row="4" column="0">
292+
<item row="6" column="0">
412293
<widget class="QCheckBox" name="autoCloseBracket">
413294
<property name="text">
414295
<string>Automatic parentheses insertion</string>
415296
</property>
416297
</widget>
417298
</item>
299+
<item row="5" column="0">
300+
<widget class="QgsCollapsibleGroupBox" name="groupBoxAutoCompletion">
301+
<property name="title">
302+
<string>Autocompletion</string>
303+
</property>
304+
<property name="checkable">
305+
<bool>true</bool>
306+
</property>
307+
<property name="collapsed" stdset="0">
308+
<bool>false</bool>
309+
</property>
310+
<property name="saveCheckedState" stdset="0">
311+
<bool>true</bool>
312+
</property>
313+
<property name="saveCollapsedState" stdset="0">
314+
<bool>true</bool>
315+
</property>
316+
<layout class="QGridLayout" name="gridLayout_5">
317+
<item row="0" column="0">
318+
<widget class="QLabel" name="label_6">
319+
<property name="text">
320+
<string>Autocompletion threshold</string>
321+
</property>
322+
</widget>
323+
</item>
324+
<item row="0" column="1">
325+
<widget class="QSpinBox" name="autoCompThreshold">
326+
<property name="maximum">
327+
<number>10</number>
328+
</property>
329+
<property name="value">
330+
<number>2</number>
331+
</property>
332+
</widget>
333+
</item>
334+
<item row="1" column="0" colspan="2">
335+
<layout class="QGridLayout" name="layoutRadioButton">
336+
<item row="0" column="2">
337+
<widget class="QRadioButton" name="autoCompFromDocAPI">
338+
<property name="toolTip">
339+
<string>Get autocompletion from current document and installed APIs</string>
340+
</property>
341+
<property name="text">
342+
<string>from Doc and APIs</string>
343+
</property>
344+
</widget>
345+
</item>
346+
<item row="0" column="1">
347+
<widget class="QRadioButton" name="autoCompFromAPI">
348+
<property name="toolTip">
349+
<string>Get autocompletion from installed APIs</string>
350+
</property>
351+
<property name="text">
352+
<string>from APIs files</string>
353+
</property>
354+
<property name="checked">
355+
<bool>false</bool>
356+
</property>
357+
</widget>
358+
</item>
359+
<item row="0" column="0">
360+
<widget class="QRadioButton" name="autoCompFromDoc">
361+
<property name="toolTip">
362+
<string>Get autocompletion from current document</string>
363+
</property>
364+
<property name="text">
365+
<string>from Document</string>
366+
</property>
367+
</widget>
368+
</item>
369+
</layout>
370+
</item>
371+
</layout>
372+
</widget>
373+
</item>
418374
</layout>
419375
</widget>
420376
</item>

0 commit comments

Comments
 (0)