From c8f9ae752f017a8d0341aa24d3336246f005c388 Mon Sep 17 00:00:00 2001 From: KenanZhu <3471685733@qq.com> Date: Fri, 26 Jun 2026 10:18:15 +0800 Subject: [PATCH] =?UTF-8?q?fix(bulletin):=20=E4=BF=AE=E5=A4=8D=E6=89=98?= =?UTF-8?q?=E7=9B=98=E6=B6=88=E6=81=AF=E7=82=B9=E5=87=BB=E5=86=B2=E7=AA=81?= =?UTF-8?q?,=E5=A2=9E=E5=8A=A0=E5=85=AC=E5=91=8A=E5=85=A5=E5=8F=A3,?= =?UTF-8?q?=E7=A7=BB=E9=99=A4=E6=89=98=E7=9B=98=E5=85=AC=E5=91=8A=E9=80=89?= =?UTF-8?q?=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/gui/ALMainWindow.py | 15 +++++++++++++-- src/gui/ALSettingsWidget.py | 2 ++ src/gui/resources/ui/ALSettingsWidget.ui | 19 +++++++++++++++++++ 3 files changed, 34 insertions(+), 2 deletions(-) diff --git a/src/gui/ALMainWindow.py b/src/gui/ALMainWindow.py index a6b7798..f624d05 100644 --- a/src/gui/ALMainWindow.py +++ b/src/gui/ALMainWindow.py @@ -65,6 +65,7 @@ class ALMainWindow(MsgBase, QMainWindow, Ui_ALMainWindow): self._output_queue, self.__config_paths ) + self.__notification_type = "" self.setupUi(self) self.modifyUi() @@ -137,13 +138,12 @@ class ALMainWindow(MsgBase, QMainWindow, Ui_ALMainWindow): self.TrayMenu = QMenu() self.TrayMenu.addAction("显示主窗口", self.showNormal) self.TrayMenu.addAction("显示定时窗口", self.onTimerTaskManageWidgetButtonClicked) - self.TrayMenu.addAction("公告栏", self.onBulletinActionTriggered) self.TrayMenu.addAction("最小化到托盘", self.hideToTray) self.TrayMenu.addSeparator() self.TrayMenu.addAction("退出", self.close) self.TrayIcon.setContextMenu(self.TrayMenu) self.TrayIcon.activated.connect(self.onTrayIconActivated) - self.TrayIcon.messageClicked.connect(self.onBulletinActionTriggered) + self.TrayIcon.messageClicked.connect(self.onTrayMessageClicked) self.TrayIcon.show() def hideToTray( @@ -264,6 +264,7 @@ class ALMainWindow(MsgBase, QMainWindow, Ui_ALMainWindow): if not hasattr(self, "TrayIcon"): return + self.__notification_type = "bulletin" self.TrayIcon.showMessage( "公告栏 - AutoLibrary", f"有 {count} 条新公告,点击查看详情。", @@ -348,6 +349,15 @@ class ALMainWindow(MsgBase, QMainWindow, Ui_ALMainWindow): self.setControlButtons(True, None, None) self._showLog("配置窗口已关闭,配置文件路径已更新") + @Slot() + def onTrayMessageClicked( + self + ): + + if self.__notification_type == "bulletin": + self.__notification_type = "" + self.onBulletinActionTriggered() + @Slot() def onBulletinActionTriggered( self @@ -370,6 +380,7 @@ class ALMainWindow(MsgBase, QMainWindow, Ui_ALMainWindow): if self.__ALSettingsWidget is None: self.__ALSettingsWidget = ALSettingsWidget(self) self.__ALSettingsWidget.settingsWidgetIsClosed.connect(self.onSettingsWidgetClosed) + self.__ALSettingsWidget.openBulletinRequested.connect(self.onBulletinActionTriggered) self.__ALSettingsWidget.show() self.__ALSettingsWidget.raise_() self.__ALSettingsWidget.activateWindow() diff --git a/src/gui/ALSettingsWidget.py b/src/gui/ALSettingsWidget.py index 16ca582..60cee65 100644 --- a/src/gui/ALSettingsWidget.py +++ b/src/gui/ALSettingsWidget.py @@ -91,6 +91,7 @@ def _restartApp( class ALSettingsWidget(CenterOnParentMixin, QWidget, Ui_ALSettingsWidget): settingsWidgetIsClosed = Signal() + openBulletinRequested = Signal() def __init__( self, @@ -189,6 +190,7 @@ class ALSettingsWidget(CenterOnParentMixin, QWidget, Ui_ALSettingsWidget): self.CustomThemeComboBox.currentIndexChanged.connect(self.onCustomThemeComboBoxChanged) self.ResetCustomThemeButton.clicked.connect(self.onResetCustomThemeButtonClicked) self.BulletinTestButton.clicked.connect(self.onBulletinTestButtonClicked) + self.BulletinOpenButton.clicked.connect(self.openBulletinRequested.emit) self.CancelButton.clicked.connect(self.onCancelButtonClicked) self.ApplyButton.clicked.connect(self.onApplyButtonClicked) self.ConfirmButton.clicked.connect(self.onConfirmButtonClicked) diff --git a/src/gui/resources/ui/ALSettingsWidget.ui b/src/gui/resources/ui/ALSettingsWidget.ui index 03ac1f4..3da0cea 100644 --- a/src/gui/resources/ui/ALSettingsWidget.ui +++ b/src/gui/resources/ui/ALSettingsWidget.ui @@ -632,6 +632,25 @@ + + + + + 100 + 25 + + + + + 100 + 25 + + + + 查看公告栏 + + +