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)
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
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