mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
...
This commit is contained in:
parent
ae1f768c1a
commit
abaa0f8cd7
@ -57,6 +57,11 @@ class CompleteModel(QAbstractListModel): # {{{
|
||||
except IndexError:
|
||||
pass
|
||||
return NONE
|
||||
|
||||
def index_for_prefix(self, prefix):
|
||||
for i, item in enumerate(self.current_items):
|
||||
if primary_startswith(item, prefix):
|
||||
return self.index(i)
|
||||
# }}}
|
||||
|
||||
class Completer(QListView): # {{{
|
||||
@ -111,6 +116,12 @@ class Completer(QListView): # {{{
|
||||
index = self.model().index(r % self.model().rowCount())
|
||||
self.setCurrentIndex(index)
|
||||
|
||||
def scroll_to(self, orig):
|
||||
if orig:
|
||||
index = self.model().index_for_prefix(orig)
|
||||
if index is not None and index.isValid():
|
||||
self.setCurrentIndex(index)
|
||||
|
||||
def popup(self):
|
||||
p = self
|
||||
m = p.model()
|
||||
@ -252,12 +263,15 @@ class LineEdit(QLineEdit, LineEditECM):
|
||||
# }}}
|
||||
|
||||
def complete(self, show_all=False):
|
||||
orig = None
|
||||
if show_all:
|
||||
orig = self.mcompleter.model().current_prefix
|
||||
self.mcompleter.set_completion_prefix('')
|
||||
if not self.mcompleter.model().current_items:
|
||||
self.mcompleter.hide()
|
||||
return
|
||||
self.mcompleter.popup()
|
||||
self.mcompleter.scroll_to(orig)
|
||||
|
||||
def relayout(self):
|
||||
self.mcompleter.popup()
|
||||
|
Loading…
x
Reference in New Issue
Block a user