diff -r 03ac1a030529 -r 248b5a87158d Tools/TrayStarter.py --- a/Tools/TrayStarter.py Sat May 21 19:16:12 2016 +0200 +++ b/Tools/TrayStarter.py Sun May 22 13:02:44 2016 +0200 @@ -20,6 +20,7 @@ import Globals import UI.PixmapCache +from UI.Info import Version, Program import Utilities import Preferences @@ -31,7 +32,7 @@ """ Class implementing a starter for the system tray. """ - def __init__(self, usePyQt4, settingsDir): + def __init__(self, usePyQt4, settingsDir, webEngine=False): """ Constructor @@ -39,6 +40,8 @@ @type bool @param settingsDir directory to be used for the settings files @type str + @keyparam webEngine flag indicating QtWebEngine is used + @type bool """ super(TrayStarter, self).__init__( UI.PixmapCache.getIcon( @@ -46,6 +49,7 @@ self.usePyQt4 = usePyQt4 self.settingsDir = settingsDir + self.__webEngine = webEngine self.maxMenuFilePathLen = 75 @@ -90,6 +94,10 @@ self.__menu.addSeparator() self.__menu.addAction( + self.tr("Show Versions"), self.__showVersions) + self.__menu.addSeparator() + + self.__menu.addAction( self.tr("QRegExp editor"), self.__startQRegExp) self.__menu.addAction( self.tr("Python re editor"), self.__startPyRe) @@ -306,7 +314,10 @@ """ Private slot to start the eric6 web browser. """ - self.__startProc("eric6_webbrowser.py") + if self.__webEngine: + self.__startProc("eric6_browser.py") + else: + self.__startProc("eric6_webbrowser.py") def __startUIPreviewer(self): """ @@ -486,3 +497,47 @@ from Plugins.AboutPlugin.AboutDialog import AboutDialog dlg = AboutDialog() dlg.exec_() + + def __showVersions(self): + """ + Private slot to handle the Versions dialog. + """ + from PyQt5.QtCore import qVersion, PYQT_VERSION_STR + from PyQt5.Qsci import QSCINTILLA_VERSION_STR + + try: + import sipconfig + sip_version_str = sipconfig.Configuration().sip_version_str + except ImportError: + sip_version_str = "sip version not available" + + versionText = self.tr( + """<h3>Version Numbers</h3>""" + """<table>""") + versionText += """<tr><td><b>Python</b></td><td>{0}</td></tr>"""\ + .format(sys.version.split()[0]) + versionText += """<tr><td><b>Qt</b></td><td>{0}</td></tr>"""\ + .format(qVersion()) + versionText += """<tr><td><b>PyQt</b></td><td>{0}</td></tr>"""\ + .format(PYQT_VERSION_STR) + versionText += """<tr><td><b>sip</b></td><td>{0}</td></tr>"""\ + .format(sip_version_str) + versionText += """<tr><td><b>QScintilla</b></td><td>{0}</td></tr>"""\ + .format(QSCINTILLA_VERSION_STR) + if self.__webEngine: + from WebBrowser.Tools import WebBrowserTools + chromeVersion = WebBrowserTools.getWebEngineVersions()[0] + versionText += \ + """<tr><td><b>WebEngine</b></td><td>{0}</td></tr>"""\ + .format(chromeVersion) + try: + from PyQt5.QtWebKit import qWebKitVersion + versionText += """<tr><td><b>WebKit</b></td><td>{0}</td></tr>"""\ + .format(qWebKitVersion()) + except ImportError: + pass + versionText += """<tr><td><b>{0}</b></td><td>{1}</td></tr>"""\ + .format(Program, Version) + versionText += self.tr("""</table>""") + + E5MessageBox.about(None, Program, versionText)