diff --git a/AUTO_MAA.py b/AUTO_MAA.py index e56cbf6..b3a453e 100644 --- a/AUTO_MAA.py +++ b/AUTO_MAA.py @@ -1011,6 +1011,7 @@ class MainTimer(QtCore.QThread): def __init__(self, config): super(MainTimer, self).__init__() self.config = config + self.last_time = "0000-00-00 00:00" def run(self): """主功能代码,实现定时执行以及相关配置信息的实时同步""" @@ -1030,8 +1031,13 @@ class MainTimer(QtCore.QThread): if self.config["Default"][f"TimeSet.set{_ + 1}"] == "True" ] # 按时间调起代理任务 - curtime = datetime.datetime.now().strftime("%H:%M") - if (curtime in time_set) and not self.is_maa_run: + curtime = datetime.datetime.now().strftime("%Y-%m-%d %H:%M") + if ( + curtime[11:16] in time_set + and curtime != self.last_time + and not self.is_maa_run + ): + self.last_time = curtime self.start_for_timer.emit() # 同步时间间隔 @@ -2649,6 +2655,7 @@ class AUTO_MAA(QMainWindow): def __init__(self): super(AUTO_MAA, self).__init__() + # 创建主窗口 self.main = Main() self.setCentralWidget(self.main.ui) self.setWindowIcon(QIcon(f"{self.main.app_path}/gui/ico/AUTO_MAA.ico")) @@ -2661,49 +2668,56 @@ class AUTO_MAA(QMainWindow): ) self.setGeometry(location[0], location[1], size[0], size[1]) - # 设置系统托盘图标 + # 创建系统托盘及其菜单 self.tray = QSystemTrayIcon( QIcon(f"{self.main.app_path}/gui/ico/AUTO_MAA.ico"), self ) self.tray_menu = QMenu() + # 连接最小化到托盘功能 self.main.show_tray.clicked.connect(self.show_tray) - # 显示主界面动作 + # 显示主界面菜单项 show_main = self.tray_menu.addAction("显示主界面") show_main.triggered.connect(self.show_main) - # 开始任务动作 + # 开始任务菜单项 start_task_1 = self.tray_menu.addAction("运行日常代理") start_task_1.triggered.connect(lambda: self.start_task("日常代理")) start_task_2 = self.tray_menu.addAction("运行人工排查") start_task_2.triggered.connect(lambda: self.start_task("人工排查")) - # 退出动作 + # 退出主程序菜单项 kill = self.tray_menu.addAction("退出主程序") kill.triggered.connect(self.kill_main) + # 设置托盘菜单 self.tray.setContextMenu(self.tray_menu) self.tray.activated.connect(self.on_tray_activated) def show_tray(self): + """最小化到托盘""" self.hide() self.tray.show() def show_main(self): + """显示主界面""" self.show() self.tray.hide() def on_tray_activated(self, reason): + """双击返回主界面""" if reason == QSystemTrayIcon.DoubleClick: self.show_main() def start_task(self, mode): + """调起对应任务""" if not self.main.MainTimer.is_maa_run: self.main.maa_starter(mode) def kill_main(self): + """退出主程序""" self.close() app.quit() @@ -2720,14 +2734,18 @@ class AUTO_MAA(QMainWindow): with open(self.main.config_path, "w", encoding="utf-8") as f: json.dump(self.main.config, f, indent=4) + # 清理各功能线程 self.main.MainTimer.requestInterruption() self.main.MainTimer.quit() self.main.MainTimer.wait() self.main.MaaRunner.requestInterruption() self.main.MaaRunner.quit() self.main.MaaRunner.wait() + + # 关闭数据库连接 self.main.cur.close() self.main.db.close() + event.accept() diff --git a/res/version.json b/res/version.json index 8a46a28..69719e1 100644 --- a/res/version.json +++ b/res/version.json @@ -1,7 +1,7 @@ { - "main_version": "4.1.2.5", + "main_version": "4.1.2.6", "main_download_url": "https://ghp.ci/https://github.com/DLmaster361/AUTO_MAA/releases/download/v4.1.2_beta/AUTO_MAA_v4.1.2_beta.zip", "updater_version": "1.0.5.0", "updater_download_url": "https://ghp.ci/https://github.com/DLmaster361/AUTO_MAA/releases/download/v4.1.2_beta/Updater_v1.0.5.zip", - "announcement": "\n## 新增功能\n- 记忆窗口位置\n- 邮件通知功能上线\n- 添加最小化到托盘功能\n## 修复BUG\n- 暂无\n## 程序优化\n- 优化`MaaRunner`初始化流程\n- 合并MAA启动器配置流程\n- 修复ico文件\n- Updater.exe不再依赖.ui文件" + "announcement": "\n## 新增功能\n- 记忆窗口位置\n- 邮件通知功能上线\n- 添加最小化到托盘功能\n## 修复BUG\n- 修复定时执行功能在设定时刻无法中止任务的问题\n## 程序优化\n- 优化`MaaRunner`初始化流程\n- 合并MAA启动器配置流程\n- 优化图标\n- Updater.exe不再依赖.ui文件" } \ No newline at end of file