From d4c91f7b0ca1d58f5eb950eda36413d0b2e60a7b Mon Sep 17 00:00:00 2001 From: Antoni Boucher Date: Sun, 12 Jul 2015 20:18:32 -0400 Subject: [PATCH] Fixed completion highlighting. --- qutebrowser/completion/completiondelegate.py | 12 ++++++++---- qutebrowser/completion/models/base.py | 1 + qutebrowser/completion/models/configmodel.py | 3 +++ qutebrowser/completion/models/miscmodels.py | 5 +++++ qutebrowser/completion/models/urlmodel.py | 3 +++ 5 files changed, 20 insertions(+), 4 deletions(-) diff --git a/qutebrowser/completion/completiondelegate.py b/qutebrowser/completion/completiondelegate.py index aae84992e..130454229 100644 --- a/qutebrowser/completion/completiondelegate.py +++ b/qutebrowser/completion/completiondelegate.py @@ -195,10 +195,14 @@ class CompletionItemDelegate(QStyledItemDelegate): if index.parent().isValid(): pattern = index.model().pattern - repl = r'\g<0>' - text = re.sub(re.escape(pattern), repl, self._opt.text, - flags=re.IGNORECASE) - self._doc.setHtml(text) + if(index.column() in index.model().srcmodel.columns_to_highlight + and pattern): + repl = r'\g<0>' + text = re.sub(re.escape(pattern), repl, self._opt.text, + flags=re.IGNORECASE) + self._doc.setHtml(text) + else: + self._doc.setPlainText(self._opt.text) else: self._doc.setHtml('{}'.format(html.escape(self._opt.text))) diff --git a/qutebrowser/completion/models/base.py b/qutebrowser/completion/models/base.py index 7f1e0c7d6..b7c5223d7 100644 --- a/qutebrowser/completion/models/base.py +++ b/qutebrowser/completion/models/base.py @@ -44,6 +44,7 @@ class BaseCompletionModel(QStandardItemModel): def __init__(self, parent=None): super().__init__(parent) self.setColumnCount(3) + self.columns_to_highlight = [] def new_category(self, name, sort=None): """Add a new category to the model. diff --git a/qutebrowser/completion/models/configmodel.py b/qutebrowser/completion/models/configmodel.py index 6d39fed7b..a44387a17 100644 --- a/qutebrowser/completion/models/configmodel.py +++ b/qutebrowser/completion/models/configmodel.py @@ -34,6 +34,7 @@ class SettingSectionCompletionModel(base.BaseCompletionModel): def __init__(self, parent=None): super().__init__(parent) + self.columns_to_highlight.append(0) cat = self.new_category("Sections") for name in configdata.DATA.keys(): desc = configdata.SECTION_DESC[name].splitlines()[0].strip() @@ -53,6 +54,7 @@ class SettingOptionCompletionModel(base.BaseCompletionModel): def __init__(self, section, parent=None): super().__init__(parent) + self.columns_to_highlight.append(0) cat = self.new_category(section) sectdata = configdata.DATA[section] self._misc_items = {} @@ -106,6 +108,7 @@ class SettingValueCompletionModel(base.BaseCompletionModel): def __init__(self, section, option, parent=None): super().__init__(parent) + self.columns_to_highlight.append(0) self._section = section self._option = option objreg.get('config').changed.connect(self.update_current_value) diff --git a/qutebrowser/completion/models/miscmodels.py b/qutebrowser/completion/models/miscmodels.py index faea69269..2ce9cd147 100644 --- a/qutebrowser/completion/models/miscmodels.py +++ b/qutebrowser/completion/models/miscmodels.py @@ -33,6 +33,7 @@ class CommandCompletionModel(base.BaseCompletionModel): def __init__(self, parent=None): super().__init__(parent) + self.columns_to_highlight.append(0) assert cmdutils.cmd_dict cmdlist = [] for obj in set(cmdutils.cmd_dict.values()): @@ -56,6 +57,7 @@ class HelpCompletionModel(base.BaseCompletionModel): def __init__(self, parent=None): super().__init__(parent) + self.columns_to_highlight.append(0) self._init_commands() self._init_settings() @@ -98,6 +100,7 @@ class QuickmarkCompletionModel(base.BaseCompletionModel): def __init__(self, match_field='url', parent=None): super().__init__(parent) + self.columns_to_highlight.append(0) cat = self.new_category("Quickmarks") quickmarks = objreg.get('quickmark-manager').marks.items() if match_field == 'url': @@ -119,6 +122,7 @@ class BookmarkCompletionModel(base.BaseCompletionModel): def __init__(self, match_field='url', parent=None): super().__init__(parent) + self.columns_to_highlight.append(0) cat = self.new_category("Bookmarks") bookmarks = objreg.get('bookmark-manager').bookmarks.items() if match_field == 'url': @@ -140,6 +144,7 @@ class SessionCompletionModel(base.BaseCompletionModel): def __init__(self, parent=None): super().__init__(parent) + self.columns_to_highlight.append(0) cat = self.new_category("Sessions") try: for name in objreg.get('session-manager').list_sessions(): diff --git a/qutebrowser/completion/models/urlmodel.py b/qutebrowser/completion/models/urlmodel.py index bf66abb0d..f89b2cf48 100644 --- a/qutebrowser/completion/models/urlmodel.py +++ b/qutebrowser/completion/models/urlmodel.py @@ -39,6 +39,9 @@ class UrlCompletionModel(base.BaseCompletionModel): def __init__(self, parent=None): super().__init__(parent) + self.columns_to_highlight.append(0) + self.columns_to_highlight.append(1) + self._quickmark_cat = self.new_category("Quickmarks") self._bookmark_cat = self.new_category("Bookmarks") self._history_cat = self.new_category("History")