diff --git a/qutebrowser/completion/completer.py b/qutebrowser/completion/completer.py index 6cd11848a..befd2c01d 100644 --- a/qutebrowser/completion/completer.py +++ b/qutebrowser/completion/completer.py @@ -24,8 +24,7 @@ from PyQt5.QtCore import pyqtSignal, pyqtSlot, QObject, QTimer from qutebrowser.config import config from qutebrowser.commands import cmdexc, cmdutils, runners from qutebrowser.utils import usertypes, log, objreg, utils -from qutebrowser.completion.models import instances -from qutebrowser.completion.models.sortfilter import CompletionFilterModel +from qutebrowser.completion.models import instances, sortfilter class Completer(QObject): @@ -154,19 +153,7 @@ class Completer(QObject): model = None else: model = instances.get(completion) - return self._get_filter_completion_model(model) - - def _get_filter_completion_model(self, model): - """Wrap the argument model with a CompletionFilterModel. - - Args: - model: the source model. - - Return: - A completion filter model. - """ - filtermodel = CompletionFilterModel(source=model, parent=self) - return filtermodel + return sortfilter.CompletionFilterModel(source=model, parent=self) def _filter_cmdline_parts(self, parts, cursor_part): """Filter a list of commandline parts to exclude flags. @@ -216,7 +203,7 @@ class Completer(QObject): if cursor_part == 0: # '|' or 'set|' model = instances.get(usertypes.Completion.command) - return self._get_filter_completion_model(model) + return sortfilter.CompletionFilterModel(source=model, parent=self) # delegate completion to command try: completions = cmdutils.cmd_dict[parts[0]].completion diff --git a/qutebrowser/completion/models/instances.py b/qutebrowser/completion/models/instances.py index 4e993995b..7db82c8b6 100644 --- a/qutebrowser/completion/models/instances.py +++ b/qutebrowser/completion/models/instances.py @@ -37,30 +37,17 @@ from qutebrowser.config import configdata _instances = {} -def _init_model(klass, *args, **kwargs): - """Helper to initialize a model. - - Args: - klass: The class of the model to initialize. - *args: Arguments to pass to the model. - **kwargs: Keyword arguments to pass to the model. - dumb_sort: Passed to CompletionFilterModel. - """ - app = objreg.get('app') - return klass(*args, parent=app, **kwargs) - - def _init_command_completion(): """Initialize the command completion model.""" log.completion.debug("Initializing command completion.") - model = _init_model(miscmodels.CommandCompletionModel) + model = miscmodels.CommandCompletionModel() _instances[usertypes.Completion.command] = model def _init_helptopic_completion(): """Initialize the helptopic completion model.""" log.completion.debug("Initializing helptopic completion.") - model = _init_model(miscmodels.HelpCompletionModel) + model = miscmodels.HelpCompletionModel() _instances[usertypes.Completion.helptopic] = model @@ -68,24 +55,23 @@ def _init_url_completion(): """Initialize the URL completion model.""" log.completion.debug("Initializing URL completion.") with debug.log_time(log.completion, 'URL completion init'): - model = _init_model(urlmodel.UrlCompletionModel) + model = urlmodel.UrlCompletionModel() _instances[usertypes.Completion.url] = model def _init_setting_completions(): """Initialize setting completion models.""" log.completion.debug("Initializing setting completion.") - _instances[usertypes.Completion.section] = _init_model( - configmodel.SettingSectionCompletionModel) + _instances[usertypes.Completion.section] = ( + configmodel.SettingSectionCompletionModel()) _instances[usertypes.Completion.option] = {} _instances[usertypes.Completion.value] = {} for sectname in configdata.DATA: - model = _init_model(configmodel.SettingOptionCompletionModel, sectname) + model = configmodel.SettingOptionCompletionModel(sectname) _instances[usertypes.Completion.option][sectname] = model _instances[usertypes.Completion.value][sectname] = {} for opt in configdata.DATA[sectname].keys(): - model = _init_model(configmodel.SettingValueCompletionModel, - sectname, opt) + model = configmodel.SettingValueCompletionModel(sectname, opt) _instances[usertypes.Completion.value][sectname][opt] = model @@ -97,7 +83,7 @@ def init_quickmark_completions(): _instances[usertypes.Completion.quickmark_by_name].deleteLater() except KeyError: pass - model = _init_model(miscmodels.QuickmarkCompletionModel) + model = miscmodels.QuickmarkCompletionModel() _instances[usertypes.Completion.quickmark_by_name] = model @@ -109,7 +95,7 @@ def init_bookmark_completions(): _instances[usertypes.Completion.bookmark_by_url].deleteLater() except KeyError: pass - model = _init_model(miscmodels.BookmarkCompletionModel) + model = miscmodels.BookmarkCompletionModel() _instances[usertypes.Completion.bookmark_by_url] = model @@ -121,7 +107,7 @@ def init_session_completion(): _instances[usertypes.Completion.sessions].deleteLater() except KeyError: pass - model = _init_model(miscmodels.SessionCompletionModel) + model = miscmodels.SessionCompletionModel() _instances[usertypes.Completion.sessions] = model