diff --git a/src/gui/ALAboutDialog.py b/src/gui/ALAboutDialog.py index 94c9c7d..7b0524d 100644 --- a/src/gui/ALAboutDialog.py +++ b/src/gui/ALAboutDialog.py @@ -16,11 +16,16 @@ from PySide6.QtCore import ( from PySide6.QtGui import QIcon from PySide6.QtWidgets import ( QApplication, - QDialog + QDialog, + QTabWidget, + QTextBrowser ) from gui.ALVersionInfo import ( - AL_VERSION, AL_COMMIT_SHA, AL_COMMIT_DATE, AL_BUILD_DATE + AL_VERSION, + AL_COMMIT_SHA, + AL_COMMIT_DATE, + AL_BUILD_DATE ) from gui.resources.ui.Ui_ALAboutDialog import Ui_ALAboutDialog from gui.resources import ALResource @@ -43,12 +48,23 @@ class ALAboutDialog(QDialog, Ui_ALAboutDialog): ): self.LogoIconLabel.setPixmap(QIcon(":/res/icons/AutoLibrary_Logo_64.svg").pixmap(48, 48)) - info_text = self.generateAboutText() - self.AboutInfoBrowser.setHtml(info_text) - browser_font = self.AboutInfoBrowser.font() - browser_font.setFamily("Courier New") - self.AboutInfoBrowser.setFont(browser_font) - self.AboutInfoBrowser.setTextInteractionFlags(Qt.TextBrowserInteraction) + self.TabWidget = QTabWidget() + self.TabWidget.setDocumentMode(True) + AboutBrowser = QTextBrowser() + AboutBrowser.setHtml(self.generateAboutText()) + AboutBrowser.setOpenExternalLinks(True) + AboutBrowser.setLineWrapMode(QTextBrowser.LineWrapMode.NoWrap) + AboutBrowser.setTextInteractionFlags(Qt.TextBrowserInteraction) + BrowserFont = AboutBrowser.font() + BrowserFont.setFamilies(["Courier New", "Consolas", "Menlo", "DejaVu Sans Mono", "monospace"]) + AboutBrowser.setFont(BrowserFont) + self.TabWidget.addTab(AboutBrowser, "关于") + LicenseBrowser = QTextBrowser() + LicenseBrowser.setHtml(self.generateLicenseText()) + LicenseBrowser.setOpenExternalLinks(True) + LicenseBrowser.setTextInteractionFlags(Qt.TextBrowserInteraction) + self.TabWidget.addTab(LicenseBrowser, "许可证") + self.AboutInfoLayout.addWidget(self.TabWidget) def connectSignals( self @@ -61,33 +77,57 @@ class ALAboutDialog(QDialog, Ui_ALAboutDialog): ) -> str: os_info = self.getOSInfo() + run_on = f"{os_info['system']} {os_info['version']} {os_info['architecture']}" + selenium_ver = self.getSeleniumVersion() about_text = f""" -
Copyright © 2025 - 2026 KenanZhu
+Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions:
+The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software.
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE.
""" + def getOSInfo( self ): @@ -129,13 +169,23 @@ GitHub: