diff options
Diffstat (limited to 'qutebrowser/browser/history.py')
-rw-r--r-- | qutebrowser/browser/history.py | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/qutebrowser/browser/history.py b/qutebrowser/browser/history.py index 04cc5a088..37bc03181 100644 --- a/qutebrowser/browser/history.py +++ b/qutebrowser/browser/history.py @@ -79,7 +79,7 @@ class CompletionMetaInfo(sql.SqlTable): """Table containing meta-information for the completion.""" KEYS = { - 'force_rebuild': False, + 'excluded_patterns': '', } def __init__(self, parent=None): @@ -158,9 +158,14 @@ class WebHistory(sql.SqlTable): if sql.Query('pragma user_version').run().value() < _USER_VERSION: self.completion.delete_all() - if self.metainfo['force_rebuild']: + + # Get a string of all patterns + patterns = config.instance.get_str('completion.web_history.exclude') + + # If patterns changed, update them in database and rebuild completion + if self.metainfo['excluded_patterns'] != patterns: + self.metainfo['excluded_patterns'] = patterns self.completion.delete_all() - self.metainfo['force_rebuild'] = False if not self.completion: # either the table is out-of-date or the user wiped it manually @@ -183,18 +188,12 @@ class WebHistory(sql.SqlTable): 'ORDER BY atime desc ' 'limit :limit offset :offset') - config.instance.changed.connect(self._on_config_changed) - def __repr__(self): return utils.get_repr(self, length=len(self)) def __contains__(self, url): return self._contains_query.run(val=url).value() - @config.change_filter('completion.web_history.exclude') - def _on_config_changed(self): - self.metainfo['force_rebuild'] = True - @contextlib.contextmanager def _handle_sql_errors(self): try: |