diff options
Diffstat (limited to 'qutebrowser/config/configfiles.py')
-rw-r--r-- | qutebrowser/config/configfiles.py | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/qutebrowser/config/configfiles.py b/qutebrowser/config/configfiles.py index 0d1dcb22f..402bfcf03 100644 --- a/qutebrowser/config/configfiles.py +++ b/qutebrowser/config/configfiles.py @@ -30,7 +30,7 @@ import contextlib import typing import yaml -from PyQt5.QtCore import pyqtSignal, QObject, QSettings +from PyQt5.QtCore import pyqtSignal, QObject, QSettings, qVersion import qutebrowser from qutebrowser.config import configexc, config, configdata, configutils @@ -55,6 +55,17 @@ class StateConfig(configparser.ConfigParser): super().__init__() self._filename = os.path.join(standarddir.data(), 'state') self.read(self._filename, encoding='utf-8') + + qt_version = qVersion() + # We handle this here, so we can avoid setting qt_version_changed if + # the config is brand new, but can still set it when qt_version wasn't + # there before... + if 'general' in self: + old_qt_version = self['general'].get('qt_version', None) + self.qt_version_changed = old_qt_version != qt_version + else: + self.qt_version_changed = False + for sect in ['general', 'geometry']: try: self.add_section(sect) @@ -65,6 +76,9 @@ class StateConfig(configparser.ConfigParser): for key in deleted_keys: self['general'].pop(key, None) + self['general']['qt_version'] = qt_version + self['general']['version'] = qutebrowser.__version__ + def init_save_manager(self, save_manager: 'savemanager.SaveManager') -> None: """Make sure the config gets saved properly. @@ -638,7 +652,6 @@ def init() -> None: """Initialize config storage not related to the main config.""" global state state = StateConfig() - state['general']['version'] = qutebrowser.__version__ # Set the QSettings path to something like # ~/.config/qutebrowser/qsettings/qutebrowser/qutebrowser.conf so it |