feat(core): 添加调度队列完成任务后行为选项

This commit is contained in:
DLmaster
2025-02-06 23:33:00 +08:00
parent fb7a429ff2
commit 7f5478b098
11 changed files with 127 additions and 78 deletions

View File

@@ -286,7 +286,7 @@ class DispatchBox(QWidget):
logger.info(f"用户添加任务:{name}")
Task_manager.add_task(
f"{self.mode.currentText()}_主调度台", "用户自定义队列", info
f"{self.mode.currentText()}_主调度台", "自定义队列", info
)
class DispatchInfoCard(HeaderCardWidget):

View File

@@ -68,7 +68,8 @@ class AUTO_MAA(MSFluentWindow):
self.splashScreen = SplashScreen(self.windowIcon(), self)
self.show_ui("显示主窗口", if_quick=True)
MainInfoBar.parent = self
MainInfoBar.main_window = self.window()
System.main_window = self.window()
# 创建主窗口
self.setting = Setting(self)
@@ -161,7 +162,7 @@ class AUTO_MAA(MSFluentWindow):
# 退出主程序菜单项
self.tray_menu.addAction(
Action(FluentIcon.POWER_BUTTON, "退出主程序", triggered=self.kill_main)
Action(FluentIcon.POWER_BUTTON, "退出主程序", triggered=self.window().close)
)
# 设置托盘菜单
@@ -264,11 +265,6 @@ class AUTO_MAA(MSFluentWindow):
# 3,
# )
def kill_main(self) -> None:
"""退出主程序"""
self.close()
QApplication.quit()
def show_ui(self, mode: str, if_quick: bool = False) -> None:
"""配置窗口状态"""

View File

@@ -124,7 +124,7 @@ class MemberManager(QWidget):
"""添加一个脚本实例"""
choice = InputMessageBox(
self,
self.window(),
"选择一个脚本类型并添加相应脚本实例",
"选择脚本类型",
"选择",
@@ -170,7 +170,7 @@ class MemberManager(QWidget):
choice = MessageBox(
"确认",
f"确定要删除 {name} 实例吗?",
self,
self.window(),
)
if choice.exec():
@@ -296,7 +296,7 @@ class MemberManager(QWidget):
if Config.PASSWORD == "":
choice = InputMessageBox(
self,
self.window(),
"请输入管理密钥",
"管理密钥",
"密码",
@@ -691,7 +691,7 @@ class MaaSettingBox(QWidget):
set_list = ["自定义基建"]
choice = SetMessageBox(
self.parent().parent().parent().parent().parent().parent().parent(),
self.window(),
"用户选项配置",
["选择要配置的用户", "选择要配置的选项"],
[user_list, set_list],
@@ -731,7 +731,7 @@ class MaaSettingBox(QWidget):
set_list = ["MAA日常配置", "MAA剿灭配置"]
choice = SetMessageBox(
self.parent().parent().parent().parent().parent().parent().parent(),
self.window(),
"用户选项配置",
["选择要配置的用户", "选择要配置的选项"],
[user_list, set_list],
@@ -1273,15 +1273,7 @@ class MaaSettingBox(QWidget):
choice = MessageBox(
"确认",
f"确定要删除用户 {data[0][0]} 吗?",
self.parent()
.parent()
.parent()
.parent()
.parent()
.parent()
.parent()
.parent()
.parent(),
self.window(),
)
# 删除用户
@@ -1570,15 +1562,7 @@ class MaaSettingBox(QWidget):
choice = MessageBox(
"确认",
f"确定要将用户 {data[0][0]} 转为{mode_list[1 - mode]}配置模式吗?",
self.parent()
.parent()
.parent()
.parent()
.parent()
.parent()
.parent()
.parent()
.parent(),
self.window(),
)
# 切换用户

View File

@@ -43,6 +43,7 @@ from qfluentwidgets import (
TextBrowser,
CommandBar,
SwitchSettingCard,
ComboBoxSettingCard,
)
from PySide6.QtCore import Qt
from typing import List
@@ -138,7 +139,7 @@ class QueueManager(QWidget):
choice = MessageBox(
"确认",
f"确定要删除 {name} 吗?",
self,
self.window(),
)
if choice.exec():
@@ -412,9 +413,23 @@ class QueueMemberSettingBox(QWidget):
"调度队列状态",
Config.queue_config.queueSet_Enabled,
)
self.card_AfterAccomplish = ComboBoxSettingCard(
configItem=Config.queue_config.queueSet_AfterAccomplish,
icon=FluentIcon.POWER_BUTTON,
title="调度队列结束后",
content="选择调度队列结束后的操作",
texts=[
"无动作",
"退出AUTO_MAA",
"睡眠win系统需禁用休眠",
"休眠",
"关机",
],
)
Layout.addWidget(self.card_Name)
Layout.addWidget(self.card_Enable)
Layout.addWidget(self.card_AfterAccomplish)
self.viewLayout.addLayout(Layout)

View File

@@ -111,7 +111,7 @@ class Setting(QWidget):
while True:
choice = InputMessageBox(
self.parent().parent().parent(),
self.window(),
"未检测到管理密钥,请设置您的管理密钥",
"管理密钥",
"密码",
@@ -123,7 +123,7 @@ class Setting(QWidget):
choice = MessageBox(
"警告",
"您没有设置管理密钥,无法使用本软件,请先设置管理密钥",
self.parent().parent().parent(),
self.window(),
)
choice.cancelButton.hide()
choice.buttonLayout.insertStretch(1)
@@ -138,7 +138,7 @@ class Setting(QWidget):
while if_change:
choice = InputMessageBox(
self,
self.window(),
"请输入旧的管理密钥",
"旧管理密钥",
"密码",
@@ -153,7 +153,7 @@ class Setting(QWidget):
while True:
choice = InputMessageBox(
self,
self.window(),
"请输入新的管理密钥",
"新管理密钥",
"密码",
@@ -173,14 +173,14 @@ class Setting(QWidget):
choice = MessageBox(
"确认",
"您没有输入新的管理密钥,是否取消修改管理密钥?",
self,
self.window(),
)
if choice.exec():
if_change = False
break
else:
choice = MessageBox("错误", "管理密钥错误", self)
choice = MessageBox("错误", "管理密钥错误", self.window())
choice.cancelButton.hide()
choice.buttonLayout.insertStretch(1)
if choice.exec():
@@ -189,7 +189,7 @@ class Setting(QWidget):
choice = MessageBox(
"确认",
"您没有输入管理密钥,是否取消修改管理密钥?",
self,
self.window(),
)
if choice.exec():
break
@@ -261,7 +261,7 @@ class Setting(QWidget):
choice = MessageBox(
"错误",
f"获取版本信息时出错:\n{err}",
self,
self.window(),
)
choice.cancelButton.hide()
choice.buttonLayout.insertStretch(1)
@@ -297,7 +297,7 @@ class Setting(QWidget):
choice = MessageBox(
"版本更新",
f"发现新版本:\n{main_version_info}{updater_version_info} 更新说明:\n{version_remote['announcement'].replace("\n# ","\n ").replace("\n## ","\n - ").replace("\n- ","\n · ")}\n\n是否开始更新?\n\n 注意主程序更新时AUTO_MAA将自动关闭",
self,
self.window(),
)
if not choice.exec():
return None
@@ -399,20 +399,11 @@ class FunctionSettingCard(HeaderCardWidget):
content="仅阻止电脑自动休眠,不会影响屏幕是否熄灭",
configItem=Config.global_config.function_IfAllowSleep,
)
self.card_AutoShutdown = SwitchSettingCard(
icon=FluentIcon.POWER_BUTTON,
title="运行完成后自动关机",
content="启用后,任务完成后将自动关机",
configItem=Config.global_config.function_AutoShutdown,
)
self.card_IfSilence = self.SilenceSettingCard(self)
Layout = QVBoxLayout()
Layout.addWidget(self.card_IfAllowSleep)
Layout.addWidget(self.card_IfSilence)
Layout.addWidget(self.card_AutoShutdown)
self.viewLayout.addLayout(Layout)
class SilenceSettingCard(ExpandGroupSettingCard):
@@ -762,7 +753,3 @@ def version_text(version_numb: list) -> str:
f"v{'.'.join(str(_) for _ in version_numb[0:3])}-beta.{version_numb[3]}"
)
return version
def toggle_auto_shutdown(self, checked: bool) -> None:
"""启用或禁用自动关机"""
Config.global_config.function_AutoShutdown = checked