From ce264de96308ef1d819343a064c4d9857008b5be Mon Sep 17 00:00:00 2001 From: DLmaster Date: Wed, 5 Mar 2025 16:00:48 +0800 Subject: [PATCH] =?UTF-8?q?feat(ui):=206=E6=98=9F=E5=85=AC=E6=8B=9B?= =?UTF-8?q?=E9=80=9A=E7=9F=A5=E6=B7=BB=E5=8A=A0=E7=8B=AC=E7=AB=8B=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/core/config.py | 1 + app/models/MAA.py | 7 ++++- app/ui/history.py | 5 +--- app/ui/main_window.py | 3 +-- app/ui/member_manager.py | 7 +---- app/ui/setting.py | 56 +++++++++++++++++++++++++++------------- 6 files changed, 48 insertions(+), 31 deletions(-) diff --git a/app/core/config.py b/app/core/config.py index a29fa03..0427f39 100644 --- a/app/core/config.py +++ b/app/core/config.py @@ -799,6 +799,7 @@ class GlobalConfig(QConfig): notify_IfSendStatistic = ConfigItem( "Notify", "IfSendStatistic", False, BoolValidator() ) + notify_IfSendSixStar = ConfigItem("Notify", "IfSendSixStar", False, BoolValidator()) notify_IfPushPlyer = ConfigItem("Notify", "IfPushPlyer", False, BoolValidator()) notify_IfSendMail = ConfigItem("Notify", "IfSendMail", False, BoolValidator()) notify_SMTPServerAddress = ConfigItem("Notify", "SMTPServerAddress", "") diff --git a/app/models/MAA.py b/app/models/MAA.py index fdb3192..31159d1 100644 --- a/app/models/MAA.py +++ b/app/models/MAA.py @@ -302,7 +302,12 @@ class MaaManager(QObject): / f"history/{curdate}/{self.data[user[2]][0]}/{start_time.strftime("%H-%M-%S")}.json", ) - if if_six_star: + if ( + Config.global_config.get( + Config.global_config.notify_IfSendSixStar + ) + and if_six_star + ): self.push_notification( "公招六星", diff --git a/app/ui/history.py b/app/ui/history.py index 6ed57b3..49d4d16 100644 --- a/app/ui/history.py +++ b/app/ui/history.py @@ -96,10 +96,7 @@ class HistoryCard(ExpandGroupSettingCard): def __init__(self, date: str, user_list: List[Path], parent=None): super().__init__( - FluentIcon.HISTORY, - date, - f"{date}的历史运行记录与统计信息", - parent, + FluentIcon.HISTORY, date, f"{date}的历史运行记录与统计信息", parent ) widget = QWidget() diff --git a/app/ui/main_window.py b/app/ui/main_window.py index fb097fa..8da86c0 100644 --- a/app/ui/main_window.py +++ b/app/ui/main_window.py @@ -149,8 +149,7 @@ class AUTO_MAA(MSFluentWindow): # 创建系统托盘及其菜单 self.tray = QSystemTrayIcon( - QIcon(str(Config.app_path / "resources/icons/AUTO_MAA.ico")), - self, + QIcon(str(Config.app_path / "resources/icons/AUTO_MAA.ico")), self ) self.tray.setToolTip("AUTO_MAA") self.tray_menu = SystemTrayMenu("AUTO_MAA", self) diff --git a/app/ui/member_manager.py b/app/ui/member_manager.py index eecc343..940b7c7 100644 --- a/app/ui/member_manager.py +++ b/app/ui/member_manager.py @@ -638,12 +638,7 @@ class MaaSettingBox(QWidget): class RunSetSettingCard(ExpandGroupSettingCard): def __init__(self, parent=None): - super().__init__( - FluentIcon.SETTING, - "运行", - "MAA运行调控选项", - parent, - ) + super().__init__(FluentIcon.SETTING, "运行", "MAA运行调控选项", parent) self.card_TaskTransitionMethod = ComboBoxSettingCard( configItem=Config.maa_config.RunSet_TaskTransitionMethod, diff --git a/app/ui/setting.py b/app/ui/setting.py index bb47843..ee68a06 100644 --- a/app/ui/setting.py +++ b/app/ui/setting.py @@ -542,18 +542,7 @@ class NotifySettingCard(HeaderCardWidget): self.setTitle("通知") - self.card_IfSendErrorOnly = SwitchSettingCard( - icon=FluentIcon.PAGE_RIGHT, - title="仅推送异常信息", - content="仅在任务出现异常时推送通知", - configItem=Config.global_config.notify_IfSendErrorOnly, - ) - self.caer_IfSendStatistic = SwitchSettingCard( - icon=FluentIcon.PAGE_RIGHT, - title="推送统计信息", - content="推送自动代理统计信息的通知", - configItem=Config.global_config.notify_IfSendStatistic, - ) + self.card_NotifyContent = self.NotifyContentSettingCard(self) self.card_IfPushPlyer = SwitchSettingCard( icon=FluentIcon.PAGE_RIGHT, title="推送系统通知", @@ -565,22 +554,53 @@ class NotifySettingCard(HeaderCardWidget): self.card_CompanyWebhookBot = self.CompanyWechatPushSettingCard(self) Layout = QVBoxLayout() - Layout.addWidget(self.card_IfSendErrorOnly) - Layout.addWidget(self.caer_IfSendStatistic) + Layout.addWidget(self.card_NotifyContent) Layout.addWidget(self.card_IfPushPlyer) Layout.addWidget(self.card_SendMail) Layout.addWidget(self.card_ServerChan) Layout.addWidget(self.card_CompanyWebhookBot) self.viewLayout.addLayout(Layout) + class NotifyContentSettingCard(ExpandGroupSettingCard): + + def __init__(self, parent=None): + super().__init__( + FluentIcon.SETTING, "通知内容选项", "选择需要推送的通知内容", parent + ) + + self.card_IfSendErrorOnly = SwitchSettingCard( + icon=FluentIcon.PAGE_RIGHT, + title="仅推送异常信息", + content="仅在任务出现异常时推送通知", + configItem=Config.global_config.notify_IfSendErrorOnly, + ) + self.card_IfSendStatistic = SwitchSettingCard( + icon=FluentIcon.PAGE_RIGHT, + title="推送统计信息", + content="推送自动代理统计信息的通知", + configItem=Config.global_config.notify_IfSendStatistic, + ) + self.card_IfSendSixStar = SwitchSettingCard( + icon=FluentIcon.PAGE_RIGHT, + title="推送公招高资喜报", + content="公招出现六星词条时推送喜报", + configItem=Config.global_config.notify_IfSendSixStar, + ) + + widget = QWidget() + Layout = QVBoxLayout(widget) + Layout.addWidget(self.card_IfSendErrorOnly) + Layout.addWidget(self.card_IfSendStatistic) + Layout.addWidget(self.card_IfSendSixStar) + self.viewLayout.setContentsMargins(0, 0, 0, 0) + self.viewLayout.setSpacing(0) + self.addGroupWidget(widget) + class SendMailSettingCard(ExpandGroupSettingCard): def __init__(self, parent=None): super().__init__( - FluentIcon.SETTING, - "推送邮件通知", - "通过电子邮箱推送任务结果", - parent, + FluentIcon.SETTING, "推送邮件通知", "通过电子邮箱推送任务结果", parent ) self.card_IfSendMail = SwitchSettingCard(