def __init__(self, items, parent=None): self.matcher = Matcher(items) self.matches = () self.selected_result = None Dialog.__init__(self, _('Choose file to edit'), 'quick-open', parent=parent)
def set_items(self, items, items_are_filenames=False): kw = {} if not items_are_filenames: kw['level1'] = ' ' self.matcher = Matcher(tuple(items), **kw) self.descriptions = dict(items) if isinstance(items, dict) else {} self.clear_caches() self.set_query()
def handle_control_request(request, data_conn): global _current_matcher ans = control_funcs[request.type](request.data, data_conn) if ans is not None: items, matcher_kwargs = ans fingerprint = hash(items) if fingerprint != _current_matcher[ 0] or matcher_kwargs != _current_matcher[1]: _current_matcher = (fingerprint, matcher_kwargs, Matcher(items, **matcher_kwargs)) ans = _current_matcher[-1](request.query or '', limit=50) return ans
def handle_control_request(request, data_conn): global _current_matcher ans = control_funcs[request.type](request.data, data_conn) if ans is not None: items, descriptions, matcher_kwargs = ans fingerprint = hash(items) if fingerprint != _current_matcher[0] or matcher_kwargs != _current_matcher[1]: _current_matcher = (fingerprint, matcher_kwargs, Matcher(items, **matcher_kwargs)) if request.query: items = _current_matcher[-1](request.query, limit=50) else: items = OrderedDict((i, ()) for i in _current_matcher[-1].items) ans = items, descriptions return ans
def __init__(self, items, parent=None, title=None, name='quick-open', level1=DEFAULT_LEVEL1, level2=DEFAULT_LEVEL2, level3=DEFAULT_LEVEL3, help_text=None): self.matcher = Matcher(items, level1=level1, level2=level2, level3=level3) self.matches = () self.selected_result = None self.help_text = help_text or self.default_help_text() Dialog.__init__(self, title or _('Choose file to edit'), name, parent=parent)
def set_names(self, names): self.names = names self.matcher = Matcher(names) self.filter('')
def test(editor): c = editor.__c = CompletionPopup(editor.editor, max_height=100) items = 'a ab abc abcd abcde abcdef abcdefg abcdefgh'.split() m = Matcher(items) c.set_items(m('a'), descriptions={x: x for x in items}) QTimer.singleShot(100, c.show)