feat(core): 优化主窗口和管理器功能

- 在主窗口中重构初始化逻辑,增强UI组件的管理和信号连接,提升代码可读性。
- 添加资源验证和加载测试功能,确保关键资源文件的完整性和可用性。
- 更新下载管理器和离线模式管理器,优化线程管理和状态更新,提升用户体验。
- 增强日志记录,确保在关键操作中提供详细的调试信息,便于后续排查和用户反馈。
- 删除不再使用的进度窗口创建函数,改为由UIManager管理,提升代码整洁性。
This commit is contained in:
hyb-oyqq
2025-08-11 17:42:52 +08:00
parent dc433a2ac9
commit 68bbafc564
12 changed files with 842 additions and 551 deletions

View File

@@ -23,7 +23,58 @@ class WindowManager:
# 设置圆角窗口
self.setRoundedCorners()
# 初始化状态管理
self._setup_window_state()
def _setup_window_state(self):
"""初始化窗口状态管理."""
self.STATE_INITIALIZING = "initializing"
self.STATE_READY = "ready"
self.STATE_DOWNLOADING = "downloading"
self.STATE_EXTRACTING = "extracting"
self.STATE_VERIFYING = "verifying"
self.STATE_INSTALLING = "installing"
self.STATE_COMPLETED = "completed"
self.STATE_ERROR = "error"
self.current_state = self.STATE_INITIALIZING
def change_window_state(self, new_state, error_message=None):
"""更改窗口状态并更新UI.
Args:
new_state (str): 新的状态.
error_message (str, optional): 错误信息. Defaults to None.
"""
if new_state == self.current_state:
return
self.current_state = new_state
self._update_ui_for_state(new_state, error_message)
def _update_ui_for_state(self, state, error_message=None):
"""根据当前状态更新UI组件."""
is_offline = self.window.offline_mode_manager.is_in_offline_mode()
config_valid = self.window.config_valid
button_enabled = False
button_text = "!无法安装!"
if state == self.STATE_READY:
if is_offline or config_valid:
button_enabled = True
button_text = "开始安装"
elif state in [self.STATE_DOWNLOADING, self.STATE_EXTRACTING, self.STATE_VERIFYING, self.STATE_INSTALLING]:
button_text = "正在安装"
elif state == self.STATE_COMPLETED:
button_enabled = True
button_text = "安装完成" # Or back to "开始安装"
self.window.ui.start_install_btn.setEnabled(button_enabled)
self.window.ui.start_install_text.setText(button_text)
self.window.install_button_enabled = button_enabled
def setRoundedCorners(self):
"""设置窗口圆角"""
# 实现圆角窗口