diff --git a/qutebrowser/completion/models/sortfilter.py b/qutebrowser/completion/models/sortfilter.py index be9199153..3c247a0a2 100644 --- a/qutebrowser/completion/models/sortfilter.py +++ b/qutebrowser/completion/models/sortfilter.py @@ -130,22 +130,23 @@ class CompletionFilterModel(QSortFilterProxyModel): True if self.pattern is contained in item, or if it's a root item (category). False in all other cases """ - if parent == QModelIndex(): - return True - idx = self.srcmodel.index(row, 0, parent) - if not idx.isValid(): - # No entries in parent model - return False - data = self.srcmodel.data(idx) - if not self.pattern: + if parent == QModelIndex() or not self.pattern: return True try: return self.srcmodel.custom_filter(self.pattern, row, parent) except NotImplementedError: - if not data: - return False - return self.pattern.casefold() in data.casefold() + for col in self.srcmodel.columns_to_filter: + idx = self.srcmodel.index(row, col, parent) + if not idx.isValid(): + # No entries in parent model + continue + data = self.srcmodel.data(idx) + if not data: + continue + elif self.pattern.casefold() in data.casefold(): + return True + return False def intelligentLessThan(self, lindex, rindex): """Custom sorting implementation. diff --git a/qutebrowser/completion/models/urlmodel.py b/qutebrowser/completion/models/urlmodel.py index f0889630d..4ea640946 100644 --- a/qutebrowser/completion/models/urlmodel.py +++ b/qutebrowser/completion/models/urlmodel.py @@ -100,15 +100,6 @@ class UrlCompletionModel(base.BaseCompletionModel): """ self.new_item(self._bookmark_cat, url, title) - def custom_filter(self, pattern, row, parent): - """Filter by url and title.""" - index0 = self.index(row, 0, parent) - index1 = self.index(row, 1, parent) - url = self.data(index0) or '' - title = self.data(index1) or '' - return (pattern.casefold() in url.casefold() or pattern.casefold() in - title.casefold()) - @config.change_filter('completion', 'timestamp-format') def reformat_timestamps(self): """Reformat the timestamps if the config option was changed."""