summaryrefslogtreecommitdiff
path: root/qutebrowser/browser/history.py
diff options
context:
space:
mode:
Diffstat (limited to 'qutebrowser/browser/history.py')
-rw-r--r--qutebrowser/browser/history.py17
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: