コード例 #1
0
ファイル: widgets.py プロジェクト: qving11/calibre
 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)
コード例 #2
0
 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()
コード例 #3
0
ファイル: basic.py プロジェクト: SAB2012/calibre
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
コード例 #4
0
ファイル: basic.py プロジェクト: zyhong/calibre
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
コード例 #5
0
ファイル: widgets.py プロジェクト: zhanglix/calibre
 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)
コード例 #6
0
ファイル: widgets.py プロジェクト: romainsc/calibre
 def set_names(self, names):
     self.names = names
     self.matcher = Matcher(names)
     self.filter('')
コード例 #7
0
 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)