From 2beb3a939bc4db05289d8a76ad2e26b1f1c85a9e Mon Sep 17 00:00:00 2001 From: Olivier Keshavjee Date: Tue, 20 Jun 2017 15:24:15 +0200 Subject: [PATCH] Conditional import of QtWebEngine or QtWebKit --- manuskript/main.py | 1 + manuskript/ui/views/webView.py | 45 ++++++++++++++++++++++------------ 2 files changed, 31 insertions(+), 15 deletions(-) diff --git a/manuskript/main.py b/manuskript/main.py index df32153..6e579ca 100644 --- a/manuskript/main.py +++ b/manuskript/main.py @@ -4,6 +4,7 @@ import faulthandler import os import sys +import manuskript.ui.views.webView from PyQt5.QtCore import QLocale, QTranslator, QSettings from PyQt5.QtGui import QIcon from PyQt5.QtWidgets import QApplication, qApp diff --git a/manuskript/ui/views/webView.py b/manuskript/ui/views/webView.py index 8330e58..4d6462c 100644 --- a/manuskript/ui/views/webView.py +++ b/manuskript/ui/views/webView.py @@ -1,22 +1,37 @@ #!/usr/bin/env python # --!-- coding: utf8 --!-- -from PyQt5.QtWidgets import QTextEdit +import PyQt5 +import os -try: +features = {'qtwebkit': False, 'qtwebengine': False} + +if 'QT_WEB' in os.environ: + features[os.environ['QT_WEB']] = True +else: + try: + import PyQt5.QtWebKitWidgets + features['qtwebkit'] = True + except: + features['qtwebkit'] = False + + try: + import PyQt5.QtWebEngineWidgets + features['qtwebengine'] = True + except: + features['qtwebengine'] = False + +if features['qtwebkit']: from PyQt5.QtWebKitWidgets import QWebView print("Debug: Web rendering engine used: QWebView") webEngine = "QtWebKit" webView = QWebView - -except: - - try: - from PyQt5.QtWebEngineWidgets import QWebEngineView - print("Debug: Web rendering engine used: QWebEngineView") - webEngine = "QtWebEngine" - webView = QWebEngineView - - except: - print("Debug: Web rendering engine used: QTextEdit") - webEngine = "QTextEdit" - webView = QTextEdit +elif features['qtwebengine']: + from PyQt5 import QtWebEngineWidgets + print("Debug: Web rendering engine used: QWebEngineView") + webEngine = "QtWebEngine" + webView = QtWebEngineWidgets.QWebEngineView +else: + from PyQt5.QtWidgets import QTextEdit + print("Debug: Web rendering engine used: QTextEdit") + webEngine = "QTextEdit" + webView = QTextEdit