4603 except AttributeError: |
4603 except AttributeError: |
4604 sip_version_str = "sip version not available" |
4604 sip_version_str = "sip version not available" |
4605 |
4605 |
4606 sizeStr = "64-Bit" if sys.maxsize > 2**32 else "32-Bit" |
4606 sizeStr = "64-Bit" if sys.maxsize > 2**32 else "32-Bit" |
4607 |
4607 |
4608 versionText = self.tr("""<h2>Version Numbers</h2><table>""") |
4608 versionInfo = [self.tr("""<h2>Version Numbers</h2><table>""")] |
|
4609 |
|
4610 # eric7 version |
|
4611 versionInfo.extend( |
|
4612 [ |
|
4613 "<tr><td></td><td></td></tr>", |
|
4614 f"<tr><td><b>{Program}</b></td><td>{Version}</td></tr>", |
|
4615 "<tr><td></td><td></td></tr>", |
|
4616 ] |
|
4617 ) |
4609 |
4618 |
4610 # Python version |
4619 # Python version |
4611 versionText += ("""<tr><td><b>Python</b></td><td>{0}, {1}</td></tr>""").format( |
4620 versionInfo.append( |
4612 sys.version.split()[0], sizeStr |
4621 f"<tr><td><b>Python</b></td><td>{sys.version.split()[0]}," |
|
4622 f" {sizeStr}</td></tr>" |
4613 ) |
4623 ) |
4614 |
4624 |
4615 # Qt version |
4625 # Qt version |
4616 versionText += ("""<tr><td><b>Qt</b></td><td>{0}</td></tr>""").format( |
4626 versionInfo.append(f"<tr><td><b>Qt</b></td><td>{qVersion()}</td></tr>") |
4617 qVersion() |
|
4618 ) |
|
4619 |
4627 |
4620 # PyQt versions |
4628 # PyQt versions |
4621 versionText += ("""<tr><td><b>PyQt6</b></td><td>{0}</td></tr>""").format( |
4629 versionInfo.append(f"<tr><td><b>PyQt6</b></td><td>{PYQT_VERSION_STR}</td></tr>") |
4622 PYQT_VERSION_STR |
|
4623 ) |
|
4624 with contextlib.suppress(ImportError, AttributeError): |
4630 with contextlib.suppress(ImportError, AttributeError): |
4625 from PyQt6 import QtCharts # __IGNORE_WARNING_I10__ |
4631 from PyQt6 import QtCharts # __IGNORE_WARNING_I10__ |
4626 |
4632 |
4627 versionText += ( |
4633 versionInfo.append( |
4628 """<tr><td><b>PyQt6-Charts</b></td><td>{0}</td></tr>""" |
4634 "<tr><td><b>PyQt6-Charts</b></td>" |
4629 ).format(QtCharts.PYQT_CHART_VERSION_STR) |
4635 f"<td>{QtCharts.PYQT_CHART_VERSION_STR}</td></tr>" |
|
4636 ) |
4630 with contextlib.suppress(ImportError, AttributeError): |
4637 with contextlib.suppress(ImportError, AttributeError): |
4631 from PyQt6 import QtWebEngineCore # __IGNORE_WARNING_I10__ |
4638 from PyQt6 import QtWebEngineCore # __IGNORE_WARNING_I10__ |
4632 |
4639 |
4633 versionText += ( |
4640 versionInfo.append( |
4634 """<tr><td><b>PyQt6-WebEngine</b></td><td>{0}</td></tr>""" |
4641 "<tr><td><b>PyQt6-WebEngine</b></td>" |
4635 ).format(QtWebEngineCore.PYQT_WEBENGINE_VERSION_STR) |
4642 f"<td>{QtWebEngineCore.PYQT_WEBENGINE_VERSION_STR}</td></tr>" |
4636 versionText += ( |
4643 ) |
4637 """<tr><td><b>PyQt6-QScintilla</b></td><td>{0}</td></tr>""" |
4644 versionInfo.extend( |
4638 ).format(QSCINTILLA_VERSION_STR) |
4645 [ |
4639 versionText += ("""<tr><td><b>sip</b></td><td>{0}</td></tr>""").format( |
4646 "<tr><td><b>PyQt6-QScintilla</b></td>" |
4640 sip_version_str |
4647 f"<td>{QSCINTILLA_VERSION_STR}</td></tr>", |
|
4648 f"<tr><td><b>sip</b></td><td>{sip_version_str}</td></tr>", |
|
4649 ] |
4641 ) |
4650 ) |
4642 |
4651 |
4643 # webengine (chromium) version |
4652 # webengine (chromium) version |
4644 with contextlib.suppress(ImportError): |
4653 with contextlib.suppress(ImportError): |
4645 from eric7.WebBrowser.Tools import ( # __IGNORE_WARNING_I101__ |
4654 from eric7.WebBrowser.Tools import ( # __IGNORE_WARNING_I101__ |
4648 |
4657 |
4649 ( |
4658 ( |
4650 chromiumVersion, |
4659 chromiumVersion, |
4651 chromiumSecurityVersion, |
4660 chromiumSecurityVersion, |
4652 ) = WebBrowserTools.getWebEngineVersions()[0:2] |
4661 ) = WebBrowserTools.getWebEngineVersions()[0:2] |
4653 versionText += """<tr><td><b>WebEngine</b></td><td>{0}</td></tr>""".format( |
4662 versionInfo.append( |
4654 chromiumVersion |
4663 f"<tr><td><b>WebEngine</b></td><td>{chromiumVersion}</td></tr>" |
4655 ) |
4664 ) |
4656 if chromiumSecurityVersion: |
4665 if chromiumSecurityVersion: |
4657 versionText += self.tr( |
4666 versionInfo.append( |
4658 """<tr><td><b>WebEngine (Security)</b></td>""" |
4667 "<tr><td><b>WebEngine (Security)</b></td>" |
4659 """<td>{0}</td></tr>""" |
4668 f"<td>{chromiumSecurityVersion}</td></tr>" |
4660 ).format(chromiumSecurityVersion) |
4669 ) |
4661 |
|
4662 # eric7 version |
|
4663 versionText += ("""<tr><td><b>{0}</b></td><td>{1}</td></tr>""").format( |
|
4664 Program, Version |
|
4665 ) |
|
4666 |
4670 |
4667 # desktop and session type |
4671 # desktop and session type |
4668 desktop = DesktopUtilities.desktopName() |
4672 desktop = DesktopUtilities.desktopName() |
4669 session = DesktopUtilities.sessionType() |
4673 session = DesktopUtilities.sessionType() |
4670 if desktop or session: |
4674 if desktop or session: |
4671 versionText += "<tr><td></td><td></td></tr>" |
4675 versionInfo.append("<tr><td></td><td></td></tr>") |
4672 if desktop: |
4676 if desktop: |
4673 versionText += ("<tr><td><b>{0}</b></td><td>{1}</td></tr>").format( |
4677 versionInfo.append( |
4674 self.tr("Desktop"), desktop |
4678 f"<tr><td><b>{self.tr('Desktop')}</b></td><td>{desktop}</td></tr>" |
4675 ) |
4679 ) |
4676 if session: |
4680 if session: |
4677 versionText += ("<tr><td><b>{0}</b></td><td>{1}</td></tr>").format( |
4681 versionInfo.append( |
4678 self.tr("Session Type"), session |
4682 f"<tr><td><b>{self.tr('Session Type')}</b></td>" |
|
4683 f"<td>{session}</td></tr>" |
4679 ) |
4684 ) |
4680 |
4685 |
4681 versionText += self.tr("""</table>""") |
4686 versionInfo.append("</table>") |
4682 |
4687 |
4683 VersionsDialog(self, Program, versionText) |
4688 VersionsDialog(self, Program, "".join(versionInfo)) |
4684 |
4689 |
4685 def __copyVersions(self): |
4690 def __copyVersions(self): |
4686 """ |
4691 """ |
4687 Private method to generated version information and copy that to the clipboard. |
4692 Private method to generated version information and copy that to the clipboard. |
4688 """ |
4693 """ |