Made some visual improvements to the versions reporting functionality. eric7

Tue, 01 Oct 2024 14:04:31 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Tue, 01 Oct 2024 14:04:31 +0200
branch
eric7
changeset 10944
ff77c9a96a80
parent 10943
c29a9da41c92
child 10945
b30fb0a7bbd4

Made some visual improvements to the versions reporting functionality.

src/eric7/UI/UserInterface.py file | annotate | diff | comparison | revisions
src/eric7/Utilities/__init__.py file | annotate | diff | comparison | revisions
--- a/src/eric7/UI/UserInterface.py	Tue Oct 01 12:05:57 2024 +0200
+++ b/src/eric7/UI/UserInterface.py	Tue Oct 01 14:04:31 2024 +0200
@@ -4605,39 +4605,48 @@
 
         sizeStr = "64-Bit" if sys.maxsize > 2**32 else "32-Bit"
 
-        versionText = self.tr("""<h2>Version Numbers</h2><table>""")
+        versionInfo = [self.tr("""<h2>Version Numbers</h2><table>""")]
+
+        # eric7 version
+        versionInfo.extend(
+            [
+                "<tr><td></td><td></td></tr>",
+                f"<tr><td><b>{Program}</b></td><td>{Version}</td></tr>",
+                "<tr><td></td><td></td></tr>",
+            ]
+        )
 
         # Python version
-        versionText += ("""<tr><td><b>Python</b></td><td>{0}, {1}</td></tr>""").format(
-            sys.version.split()[0], sizeStr
+        versionInfo.append(
+            f"<tr><td><b>Python</b></td><td>{sys.version.split()[0]},"
+            f" {sizeStr}</td></tr>"
         )
 
         # Qt version
-        versionText += ("""<tr><td><b>Qt</b></td><td>{0}</td></tr>""").format(
-            qVersion()
-        )
+        versionInfo.append(f"<tr><td><b>Qt</b></td><td>{qVersion()}</td></tr>")
 
         # PyQt versions
-        versionText += ("""<tr><td><b>PyQt6</b></td><td>{0}</td></tr>""").format(
-            PYQT_VERSION_STR
-        )
+        versionInfo.append(f"<tr><td><b>PyQt6</b></td><td>{PYQT_VERSION_STR}</td></tr>")
         with contextlib.suppress(ImportError, AttributeError):
             from PyQt6 import QtCharts  # __IGNORE_WARNING_I10__
 
-            versionText += (
-                """<tr><td><b>PyQt6-Charts</b></td><td>{0}</td></tr>"""
-            ).format(QtCharts.PYQT_CHART_VERSION_STR)
+            versionInfo.append(
+                "<tr><td><b>PyQt6-Charts</b></td>"
+                f"<td>{QtCharts.PYQT_CHART_VERSION_STR}</td></tr>"
+            )
         with contextlib.suppress(ImportError, AttributeError):
             from PyQt6 import QtWebEngineCore  # __IGNORE_WARNING_I10__
 
-            versionText += (
-                """<tr><td><b>PyQt6-WebEngine</b></td><td>{0}</td></tr>"""
-            ).format(QtWebEngineCore.PYQT_WEBENGINE_VERSION_STR)
-        versionText += (
-            """<tr><td><b>PyQt6-QScintilla</b></td><td>{0}</td></tr>"""
-        ).format(QSCINTILLA_VERSION_STR)
-        versionText += ("""<tr><td><b>sip</b></td><td>{0}</td></tr>""").format(
-            sip_version_str
+            versionInfo.append(
+                "<tr><td><b>PyQt6-WebEngine</b></td>"
+                f"<td>{QtWebEngineCore.PYQT_WEBENGINE_VERSION_STR}</td></tr>"
+            )
+        versionInfo.extend(
+            [
+                "<tr><td><b>PyQt6-QScintilla</b></td>"
+                f"<td>{QSCINTILLA_VERSION_STR}</td></tr>",
+                f"<tr><td><b>sip</b></td><td>{sip_version_str}</td></tr>",
+            ]
         )
 
         # webengine (chromium) version
@@ -4650,37 +4659,33 @@
                 chromiumVersion,
                 chromiumSecurityVersion,
             ) = WebBrowserTools.getWebEngineVersions()[0:2]
-            versionText += """<tr><td><b>WebEngine</b></td><td>{0}</td></tr>""".format(
-                chromiumVersion
+            versionInfo.append(
+                f"<tr><td><b>WebEngine</b></td><td>{chromiumVersion}</td></tr>"
             )
             if chromiumSecurityVersion:
-                versionText += self.tr(
-                    """<tr><td><b>WebEngine (Security)</b></td>"""
-                    """<td>{0}</td></tr>"""
-                ).format(chromiumSecurityVersion)
-
-        # eric7 version
-        versionText += ("""<tr><td><b>{0}</b></td><td>{1}</td></tr>""").format(
-            Program, Version
-        )
+                versionInfo.append(
+                    "<tr><td><b>WebEngine (Security)</b></td>"
+                    f"<td>{chromiumSecurityVersion}</td></tr>"
+                )
 
         # desktop and session type
         desktop = DesktopUtilities.desktopName()
         session = DesktopUtilities.sessionType()
         if desktop or session:
-            versionText += "<tr><td></td><td></td></tr>"
+            versionInfo.append("<tr><td></td><td></td></tr>")
             if desktop:
-                versionText += ("<tr><td><b>{0}</b></td><td>{1}</td></tr>").format(
-                    self.tr("Desktop"), desktop
+                versionInfo.append(
+                    f"<tr><td><b>{self.tr('Desktop')}</b></td><td>{desktop}</td></tr>"
                 )
             if session:
-                versionText += ("<tr><td><b>{0}</b></td><td>{1}</td></tr>").format(
-                    self.tr("Session Type"), session
+                versionInfo.append(
+                    f"<tr><td><b>{self.tr('Session Type')}</b></td>"
+                    f"<td>{session}</td></tr>"
                 )
 
-        versionText += self.tr("""</table>""")
-
-        VersionsDialog(self, Program, versionText)
+        versionInfo.append("</table>")
+
+        VersionsDialog(self, Program, "".join(versionInfo))
 
     def __copyVersions(self):
         """
--- a/src/eric7/Utilities/__init__.py	Tue Oct 01 12:05:57 2024 +0200
+++ b/src/eric7/Utilities/__init__.py	Tue Oct 01 14:04:31 2024 +0200
@@ -1053,27 +1053,33 @@
 
     sizeStr = "64-Bit" if sys.maxsize > 2**32 else "32-Bit"
 
-    info = ["Version Numbers:"]
+    info = [
+        "Version Numbers",
+        "===============",
+    ]
 
-    info.append("  Python {0}, {1}".format(sys.version.split()[0], sizeStr))
-    info.append("  Qt {0}".format(qVersion()))
-    info.append("  PyQt6 {0}".format(PYQT_VERSION_STR))
+    info.append(f"  {Program} {Version}")
+    info.append("")
+
+    info.append(f"  Python {sys.version.split()[0]}, {sizeStr}")
+    info.append(f"  Qt {qVersion()}")
+    info.append(f"  PyQt6 {PYQT_VERSION_STR}")
     try:
         from PyQt6 import QtCharts  # noqa: I101, I102
 
-        info.append("  PyQt6-Charts {0}".format(QtCharts.PYQT_CHART_VERSION_STR))
+        info.append(f"  PyQt6-Charts {QtCharts.PYQT_CHART_VERSION_STR}")
     except (AttributeError, ImportError):
         info.append("  PyQt6-Charts not installed")
     try:
         from PyQt6 import QtWebEngineCore  # noqa: I101, I102
 
         info.append(
-            "  PyQt6-WebEngine {0}".format(QtWebEngineCore.PYQT_WEBENGINE_VERSION_STR)
+            f"  PyQt6-WebEngine {QtWebEngineCore.PYQT_WEBENGINE_VERSION_STR}"
         )
     except (AttributeError, ImportError):
         info.append("  PyQt6-WebEngine not installed")
-    info.append("  PyQt6-QScintilla {0}".format(QSCINTILLA_VERSION_STR))
-    info.append("  sip {0}".format(sip_version_str))
+    info.append(f"  PyQt6-QScintilla {QSCINTILLA_VERSION_STR}")
+    info.append(f"  sip {sip_version_str}")
     if bool(importlib.util.find_spec("PyQt6.QtWebEngineWidgets")):
         from eric7.WebBrowser.Tools import WebBrowserTools  # noqa: I101
 
@@ -1081,23 +1087,25 @@
             chromiumVersion,
             chromiumSecurityVersion,
         ) = WebBrowserTools.getWebEngineVersions()[0:2]
-        info.append("  WebEngine {0}".format(chromiumVersion))
+        info.append(f"  WebEngine {chromiumVersion}")
         if chromiumSecurityVersion:
-            info.append("    (Security) {0}".format(chromiumSecurityVersion))
-    info.append("  {0} {1}".format(Program, Version))
+            info.append(f"    (Security) {chromiumSecurityVersion}")
     info.append("")
-    info.append("Platform: {0}".format(sys.platform))
+    info.append("Platform")
+    info.append("========")
+    info.append(sys.platform)
     if os.environ.get("SOMMELIER_VERSION", ""):
         info[-1] += ", ChromeOS"
-    info.append(sys.version)
+    info.append(f"Python {sys.version}")
     desktop = DesktopUtilities.desktopName()
     if desktop:
         info.append("")
-        info.append("Desktop: {0}".format(desktop))
+        info.append(f"Desktop: {desktop}")
     session = DesktopUtilities.sessionType()
     if session:
-        info.append("")
-        info.append("Session Type: {0}".format(session))
+        if not desktop:
+            info.append("")
+        info.append(f"Session Type: {session}")
 
     return linesep.join(info)
 
@@ -1120,10 +1128,11 @@
             for pinfo in pm.getPluginInfos():
                 versions[pinfo["module_name"]] = pinfo["version"]
 
-            info.append("Plugins Version Numbers:")
+            info.append("Plugin Version Numbers")
+            info.append("======================")
             for pluginModuleName in sorted(versions):
                 info.append(
-                    "  {0} {1}".format(pluginModuleName, versions[pluginModuleName])
+                    f"  {pluginModuleName} {versions[pluginModuleName]}"
                 )
 
     return linesep.join(info)
@@ -1142,7 +1151,8 @@
     if OSUtilities.isLinuxPlatform() or OSUtilities.isFreeBsdPlatform():
         releaseList = glob.glob("/etc/*-release")
         if releaseList:
-            info.append("Distribution Info:")
+            info.append("Distribution Info")
+            info.append("=================")
             for rfile in releaseList:
                 try:
                     with open(rfile, "r") as f:

eric ide

mercurial