summaryrefslogtreecommitdiff
path: root/qutebrowser/config/configfiles.py
diff options
context:
space:
mode:
Diffstat (limited to 'qutebrowser/config/configfiles.py')
-rw-r--r--qutebrowser/config/configfiles.py18
1 files changed, 17 insertions, 1 deletions
diff --git a/qutebrowser/config/configfiles.py b/qutebrowser/config/configfiles.py
index f8566e2d0..a3320c5c1 100644
--- a/qutebrowser/config/configfiles.py
+++ b/qutebrowser/config/configfiles.py
@@ -39,7 +39,7 @@ import qutebrowser
from qutebrowser.config import (configexc, config, configdata, configutils,
configtypes)
from qutebrowser.keyinput import keyutils
-from qutebrowser.utils import standarddir, utils, qtutils, log, urlmatch
+from qutebrowser.utils import standarddir, utils, qtutils, log, urlmatch, version
if TYPE_CHECKING:
from qutebrowser.misc import savemanager
@@ -89,6 +89,7 @@ class StateConfig(configparser.ConfigParser):
self.read(self._filename, encoding='utf-8')
self.qt_version_changed = False
+ self.qtwe_version_changed = False
self.qutebrowser_version_changed = VersionChange.unknown
self._set_changed_attributes()
@@ -108,8 +109,20 @@ class StateConfig(configparser.ConfigParser):
self[sect].pop(key, None)
self['general']['qt_version'] = qVersion()
+ self['general']['qtwe_version'] = self._qtwe_version_str()
self['general']['version'] = qutebrowser.__version__
+ def _qtwe_version_str(self) -> str:
+ """Get the QtWebEngine version string.
+
+ Note that it's too early to use objects.backend here...
+ """
+ try:
+ import PyQt5.QtWebEngineWidgets # pylint: disable=unused-import
+ except ImportError:
+ return 'no'
+ return str(version.qtwebengine_versions(avoid_init=True).webengine)
+
def _set_changed_attributes(self) -> None:
"""Set qt_version_changed/qutebrowser_version_changed attributes.
@@ -123,6 +136,9 @@ class StateConfig(configparser.ConfigParser):
old_qt_version = self['general'].get('qt_version', None)
self.qt_version_changed = old_qt_version != qVersion()
+ old_qtwe_version = self['general'].get('qtwe_version', None)
+ self.qtwe_version_changed = old_qtwe_version != self._qtwe_version_str()
+
old_qutebrowser_version = self['general'].get('version', None)
if old_qutebrowser_version is None:
# https://github.com/python/typeshed/issues/2093