Continued porting the web browser. QtWebEngine

Sat, 05 Mar 2016 19:52:00 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 05 Mar 2016 19:52:00 +0100
branch
QtWebEngine
changeset 4810
f68d0446609e
parent 4809
4daf93888029
child 4813
b91c80b5a815

Continued porting the web browser.

- added web engine version info to the About dialog

UI/UserInterface.py file | annotate | diff | comparison | revisions
WebBrowser/Tools/WebBrowserTools.py file | annotate | diff | comparison | revisions
WebBrowser/WebBrowserWindow.py file | annotate | diff | comparison | revisions
--- a/UI/UserInterface.py	Sat Mar 05 18:40:16 2016 +0100
+++ b/UI/UserInterface.py	Sat Mar 05 19:52:00 2016 +0100
@@ -3023,6 +3023,7 @@
                 .format(qWebKitVersion())
         except ImportError:
             pass
+        # TODO: add QtWebEngine version info
         versionText += """<tr><td><b>{0}</b></td><td>{1}</td></tr>"""\
             .format(Program, Version)
         versionText += self.tr("""</table>""")
--- a/WebBrowser/Tools/WebBrowserTools.py	Sat Mar 05 18:40:16 2016 +0100
+++ b/WebBrowser/Tools/WebBrowserTools.py	Sat Mar 05 19:52:00 2016 +0100
@@ -14,8 +14,9 @@
     pass
 
 import os
+import re
 
-from PyQt5.QtCore import QFile, QByteArray, QUrl
+from PyQt5.QtCore import QFile, QByteArray, QUrl, QCoreApplication
 from PyQt5.QtGui import QPixmap
 
 
@@ -149,3 +150,28 @@
     pixmap.loadFromData(barray)
     
     return pixmap
+
+
+def getWebEngineVersions():
+    """
+    Module function to extract the web engine version from the default user
+    agent string.
+    
+    @return tuple containing the Chrome version and the QtWebEngine version
+    @rtype tuple of str
+    """
+    from WebBrowser.WebBrowserWindow import WebBrowserWindow
+    useragent = WebBrowserWindow.webProfile().defaultUserAgent
+    match = re.search(r"""Chrome/([\d.]+)""", useragent)
+    if match:
+        chromeVersion = match.group(1)
+    else:
+        chromeVersion = QCoreApplication.translate(
+            "WebBrowserTools", "<unknown>")
+    match = re.search(r"""QtWebEngine/([\d.]+)""", useragent)
+    if match:
+        webengineVersion = match.group(1)
+    else:
+        webengineVersion = QCoreApplication.translate(
+            "WebBrowserTools", "<unknown>")
+    return (chromeVersion, webengineVersion)
--- a/WebBrowser/WebBrowserWindow.py	Sat Mar 05 18:40:16 2016 +0100
+++ b/WebBrowser/WebBrowserWindow.py	Sat Mar 05 19:52:00 2016 +0100
@@ -2267,6 +2267,8 @@
         """
         Private slot to show the about information.
         """
+        chromeVersion, webengineVersion = \
+            WebBrowserTools.getWebEngineVersions()
         E5MessageBox.about(
             self,
             self.tr("eric6 Web Browser"),
@@ -2275,7 +2277,8 @@
                 """<p>The eric6 Web Browser is a combined help file and HTML"""
                 """ browser. It is part of the eric6 development"""
                 """ toolset.</p>"""
-            ).format(Version))
+                """<p>It is based on QtWebEngine {1} and Chrome {2}.</p>"""
+            ).format(Version, webengineVersion, chromeVersion))
         
     def __aboutQt(self):
         """

eric ide

mercurial