From b840b8066b8b67bfe6b426caf99175f78d4bd8c9 Mon Sep 17 00:00:00 2001 From: Michal Siedlaczek Date: Fri, 22 Sep 2017 11:16:59 -0400 Subject: [PATCH] Spell only when pyqt>=5.8 --- qutebrowser/browser/webengine/webenginesettings.py | 7 +++++-- qutebrowser/config/configdata.yml | 6 ++++++ tests/end2end/conftest.py | 4 ++-- tests/unit/browser/webengine/test_spell.py | 2 +- 4 files changed, 14 insertions(+), 5 deletions(-) diff --git a/qutebrowser/browser/webengine/webenginesettings.py b/qutebrowser/browser/webengine/webenginesettings.py index ed87dd88f..1f21aa2d5 100644 --- a/qutebrowser/browser/webengine/webenginesettings.py +++ b/qutebrowser/browser/webengine/webenginesettings.py @@ -323,8 +323,6 @@ MAPPINGS = { 'scrolling.smooth': Attribute(QWebEngineSettings.ScrollAnimatorEnabled), - 'spell': DefaultProfileSetter('setSpellCheckEnabled'), - 'spell_languages': DictionaryLanguageSetter() } try: @@ -335,6 +333,11 @@ except AttributeError: pass +if qtutils.version_check('5.8'): + MAPPINGS['spell'] = DefaultProfileSetter('setSpellCheckEnabled') + MAPPINGS['spell_languages'] = DictionaryLanguageSetter() + + if qtutils.version_check('5.9'): # https://bugreports.qt.io/browse/QTBUG-58650 MAPPINGS['content.cookies.store'] = PersistentCookiePolicy() diff --git a/qutebrowser/config/configdata.yml b/qutebrowser/config/configdata.yml index 3bb9b65af..77b098e68 100644 --- a/qutebrowser/config/configdata.yml +++ b/qutebrowser/config/configdata.yml @@ -981,6 +981,9 @@ spell: type: Bool default: true desc: Enable spell checking. + backend: + QtWebKit: false + QtWebEngine: Qt 5.8 spell_languages: type: @@ -1033,6 +1036,9 @@ spell_languages: none_ok: true default: desc: Spell checking languages. + backend: + QtWebKit: false + QtWebEngine: Qt 5.8 ## statusbar diff --git a/tests/end2end/conftest.py b/tests/end2end/conftest.py index 3ec6b79c7..432905ff7 100644 --- a/tests/end2end/conftest.py +++ b/tests/end2end/conftest.py @@ -130,8 +130,8 @@ def _get_dictionary_tag(tag): return None event = match.group('event') - dict = match.group('dict') - has_dict = dict in [lang.code for lang in get_installed_languages()] + dictionary = match.group('dict') + has_dict = dictionary in [lang.code for lang in get_installed_languages()] if event == 'must_have_dict': return pytest.mark.skipif(not has_dict, reason=tag) elif event == 'cannot_have_dict': diff --git a/tests/unit/browser/webengine/test_spell.py b/tests/unit/browser/webengine/test_spell.py index faee84371..4a5496e20 100644 --- a/tests/unit/browser/webengine/test_spell.py +++ b/tests/unit/browser/webengine/test_spell.py @@ -47,7 +47,7 @@ def test_get_installed_languages_non_empty(tmpdir, mocker): mocker.patch('qutebrowser.browser.webengine.spell.get_dictionary_dir', lambda: str(tmpdir)) for lang in LANGUAGE_LIST: - open(join(tmpdir, lang.file), 'w', encoding='UTF-8').close() + open(join(str(tmpdir), lang.file), 'w', encoding='UTF-8').close() for actual, expected in zip(spell.get_installed_languages(), LANGUAGE_LIST): assert (actual.code, actual.name, actual.file) ==\