debug-console: Use a sorted set for completions.
This commit is contained in:
parent
8017dae75d
commit
9dc72b4c37
@ -66,6 +66,8 @@ class ConsoleLineEdit(misc.CommandLineEdit):
|
|||||||
qcompleter.setModel(self._model)
|
qcompleter.setModel(self._model)
|
||||||
qcompleter.setCompletionMode(
|
qcompleter.setCompletionMode(
|
||||||
QCompleter.UnfilteredPopupCompletion)
|
QCompleter.UnfilteredPopupCompletion)
|
||||||
|
qcompleter.setModelSorting(
|
||||||
|
QCompleter.CaseSensitivelySortedModel)
|
||||||
self.setCompleter(qcompleter)
|
self.setCompleter(qcompleter)
|
||||||
|
|
||||||
self._history = cmdhistory.History()
|
self._history = cmdhistory.History()
|
||||||
@ -73,15 +75,16 @@ class ConsoleLineEdit(misc.CommandLineEdit):
|
|||||||
|
|
||||||
@pyqtSlot(str)
|
@pyqtSlot(str)
|
||||||
def on_text_changed(self, text):
|
def on_text_changed(self, text):
|
||||||
strings = []
|
strings = set()
|
||||||
i = 0
|
i = 0
|
||||||
while True:
|
while True:
|
||||||
s = self._rlcompleter.complete(self.text(), i)
|
s = self._rlcompleter.complete(self.text(), i)
|
||||||
if s is None:
|
if s is None:
|
||||||
break
|
break
|
||||||
else:
|
else:
|
||||||
strings.append(s)
|
strings.add(s)
|
||||||
i += 1
|
i += 1
|
||||||
|
strings = sorted(list(strings))
|
||||||
self._model.setStringList(strings)
|
self._model.setStringList(strings)
|
||||||
|
|
||||||
@pyqtSlot(str)
|
@pyqtSlot(str)
|
||||||
|
Loading…
Reference in New Issue
Block a user