diff options
author | Florian Bruhin <git@the-compiler.org> | 2018-04-23 16:57:10 +0200 |
---|---|---|
committer | Florian Bruhin <git@the-compiler.org> | 2018-04-23 16:57:10 +0200 |
commit | fa41af63b67b007a67cbac1b119729d030b9e533 (patch) | |
tree | 6df999d3834faf90f829a90c418f0a67ea7294b6 | |
parent | e789296b7fc4291609f188963b0f9f5f8dd2116f (diff) | |
download | qutebrowser-fa41af63b67b007a67cbac1b119729d030b9e533.tar.gz qutebrowser-fa41af63b67b007a67cbac1b119729d030b9e533.zip |
Always set FocusOnNavigationEnabled
This fixes some focus issues after Qt 5.11 changes. There might be better ways
to solve them, but for now, this will work.
See https://codereview.qt-project.org/#/c/221408/10 and #3661:
https://github.com/qutebrowser/qutebrowser/issues/3661#issuecomment-375969315
Might also negatively affect #3834 as it essentially reintroduces QTBUG-52999 on
any Qt version: https://bugreports.qt.io/browse/QTBUG-52999
Might be reverted at a later date, but for now, I want an easy way to make tests
work on Qt 5.11 to spot further issues.
-rw-r--r-- | qutebrowser/browser/webengine/webenginesettings.py | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/qutebrowser/browser/webengine/webenginesettings.py b/qutebrowser/browser/webengine/webenginesettings.py index 417465929..da4b2b534 100644 --- a/qutebrowser/browser/webengine/webenginesettings.py +++ b/qutebrowser/browser/webengine/webenginesettings.py @@ -176,12 +176,24 @@ class ProfileSetter: """Initialize settings on the given profile.""" self.set_http_headers() self.set_http_cache_size() - self._profile.settings().setAttribute( - QWebEngineSettings.FullScreenSupportEnabled, True) + self._init_attributes() + if qtutils.version_check('5.8'): self._profile.setSpellCheckEnabled(True) self.set_dictionary_language() + def _init_attributes(self): + """Initialize hard-coded attributes.""" + values = { + 'FullScreenSupportEnabled': True, + 'FocusOnNavigationEnabled': True, + } + settings = self._profile.settings() + for name, value in values.items(): + attr = getattr(QWebEngineSettings, name, None) + if attr is not None: + settings.setAttribute(attr, value) + def set_http_headers(self): """Set the user agent and accept-language for the given profile. |