mirror of
https://github.com/hyb-oyqq/FRAISEMOE-Addons-Installer-NEXT.git
synced 2025-12-20 13:58:37 +00:00
feat(core): 增强补丁管理和进度反馈功能
- 在主窗口中添加解压进度窗口,提供用户友好的解压反馈。 - 更新补丁检测器和下载管理器,支持异步游戏目录识别和补丁状态检查,提升用户体验。 - 优化哈希验证和解压流程,确保在关键操作中提供详细的进度信息和错误处理。 - 增强日志记录,确保在补丁管理过程中记录详细的调试信息,便于后续排查和用户反馈。
This commit is contained in:
@@ -1,7 +1,21 @@
|
||||
from PySide6.QtCore import QThread, Signal
|
||||
import os
|
||||
import re
|
||||
from utils.logger import setup_logger
|
||||
|
||||
class GameDetectionThread(QThread):
|
||||
"""用于在后台线程中执行游戏目录识别的线程"""
|
||||
finished = Signal(dict)
|
||||
|
||||
def __init__(self, detector_func, selected_folder):
|
||||
super().__init__()
|
||||
self.detector_func = detector_func
|
||||
self.selected_folder = selected_folder
|
||||
|
||||
def run(self):
|
||||
result = self.detector_func(self.selected_folder)
|
||||
self.finished.emit(result)
|
||||
|
||||
class GameDetector:
|
||||
"""游戏检测器,用于识别游戏目录和版本"""
|
||||
|
||||
@@ -16,6 +30,17 @@ class GameDetector:
|
||||
self.debug_manager = debug_manager
|
||||
self.directory_cache = {} # 添加目录缓存
|
||||
self.logger = setup_logger("game_detector")
|
||||
self.detection_thread = None
|
||||
|
||||
def identify_game_directories_async(self, selected_folder, callback):
|
||||
"""异步识别游戏目录"""
|
||||
def on_finished(game_dirs):
|
||||
callback(game_dirs)
|
||||
self.detection_thread = None
|
||||
|
||||
self.detection_thread = GameDetectionThread(self.identify_game_directories_improved, selected_folder)
|
||||
self.detection_thread.finished.connect(on_finished)
|
||||
self.detection_thread.start()
|
||||
|
||||
def _is_debug_mode(self):
|
||||
"""检查是否处于调试模式
|
||||
|
||||
Reference in New Issue
Block a user