Beispiel #1
0
def test_filesystem_completion_hypothesis(info, as_uri, add_sep, text):
    if as_uri:
        text = 'file:///' + text
    if add_sep:
        text += os.sep

    model = filepathcategory.FilePathCategory('filepaths')
    model.set_pattern(text)
Beispiel #2
0
def test_filesystem_completion_model_interface(info, local_files_path):
    model = filepathcategory.FilePathCategory('filepaths')
    model.set_pattern(str(local_files_path) + os.sep)

    index = model.index(0, 0)
    assert index.isValid()
    assert model.rowCount(parent=index) == 0

    index2 = model.index(0, 5)
    assert not index2.isValid()
    assert model.data(index2) is None
Beispiel #3
0
def url(*, info):
    """A model which combines various URLs.

    This combines:
    - bookmarks
    - quickmarks
    - search engines
    - web history URLs

    Used for the `open` command.
    """
    model = completionmodel.CompletionModel(column_widths=(40, 50, 10))

    quickmarks = [(url, name)
                  for (name,
                       url) in objreg.get('quickmark-manager').marks.items()]
    bookmarks = objreg.get('bookmark-manager').marks.items()
    searchengines = [(k, v)
                     for k, v in sorted(config.val.url.searchengines.items())
                     if k != 'DEFAULT']
    categories = config.val.completion.open_categories
    models: Dict[str, QAbstractItemModel] = {}

    if searchengines and 'searchengines' in categories:
        models['searchengines'] = listcategory.ListCategory('Search engines',
                                                            searchengines,
                                                            sort=False)

    if quickmarks and 'quickmarks' in categories:
        models['quickmarks'] = listcategory.ListCategory(
            'Quickmarks',
            quickmarks,
            delete_func=_delete_quickmark,
            sort=False)
    if bookmarks and 'bookmarks' in categories:
        models['bookmarks'] = listcategory.ListCategory(
            'Bookmarks', bookmarks, delete_func=_delete_bookmark, sort=False)

    history_disabled = info.config.get('completion.web_history.max_items') == 0
    if not history_disabled and 'history' in categories:
        hist_cat = histcategory.HistoryCategory(
            database=history.web_history.database, delete_func=_delete_history)
        models['history'] = hist_cat

    if 'filesystem' in categories:
        models['filesystem'] = filepathcategory.FilePathCategory(
            name='Filesystem')

    for category in categories:
        if category in models:
            model.add_category(models[category])

    return model