mirror of
https://github.com/hyb-oyqq/FRAISEMOE-Addons-Installer-NEXT.git
synced 2025-12-18 21:10:28 +00:00
feat(core): 添加下载线程设置功能
- 在下载管理器中引入下载线程级别设置,支持用户自定义线程数 - 在主菜单中添加下载设置子菜单,包含修改下载源和下载线程设置选项 - 优化下载流程,动态调整下载线程数以提高下载效率 - 在动画过程中禁用相关按钮,确保用户体验流畅 - 更新配置文件,增加下载线程档位设置
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import os
|
||||
import sys
|
||||
import subprocess
|
||||
import shutil
|
||||
import json
|
||||
import webbrowser
|
||||
@@ -13,7 +14,8 @@ from PySide6.QtGui import QAction # Added for menu actions
|
||||
from ui.Ui_install import Ui_MainWindows
|
||||
from data.config import (
|
||||
APP_NAME, PLUGIN, GAME_INFO, BLOCK_SIZE,
|
||||
PLUGIN_HASH, UA, CONFIG_URL, LOG_FILE
|
||||
PLUGIN_HASH, UA, CONFIG_URL, LOG_FILE,
|
||||
DOWNLOAD_THREADS, DEFAULT_DOWNLOAD_THREAD_LEVEL # 添加下载线程常量
|
||||
)
|
||||
from utils import (
|
||||
load_config, save_config, HashManager, AdminPrivileges, msgbox_frame, load_image_from_file
|
||||
@@ -72,6 +74,10 @@ class MainWindow(QMainWindow):
|
||||
# 初始化下载管理器 - 应该放在其他管理器之后,因为它可能依赖于它们
|
||||
self.download_manager = DownloadManager(self)
|
||||
|
||||
# 加载用户下载线程设置
|
||||
if "download_thread_level" in self.config and self.config["download_thread_level"] in DOWNLOAD_THREADS:
|
||||
self.download_manager.download_thread_level = self.config["download_thread_level"]
|
||||
|
||||
# 初始化状态变量
|
||||
self.cloud_config = None
|
||||
self.config_valid = False # 添加配置有效标志
|
||||
@@ -159,6 +165,11 @@ class MainWindow(QMainWindow):
|
||||
"""动画完成后启用按钮"""
|
||||
self.animation_in_progress = False
|
||||
|
||||
# 启用所有菜单按钮
|
||||
self.ui.start_install_btn.setEnabled(True)
|
||||
self.ui.uninstall_btn.setEnabled(True)
|
||||
self.ui.exit_btn.setEnabled(True)
|
||||
|
||||
# 只有在配置有效时才启用开始安装按钮
|
||||
if self.config_valid:
|
||||
self.set_start_button_enabled(True)
|
||||
@@ -246,12 +257,13 @@ class MainWindow(QMainWindow):
|
||||
Args:
|
||||
url: 下载URL
|
||||
_7z_path: 7z文件保存路径
|
||||
game_version: 游戏版本
|
||||
game_version: 游戏版本名称
|
||||
|
||||
Returns:
|
||||
DownloadThread: 下载线程实例
|
||||
"""
|
||||
return DownloadThread(url, _7z_path, game_version, self)
|
||||
from workers import DownloadThread
|
||||
return DownloadThread(url, _7z_path, game_version, parent=self)
|
||||
|
||||
def create_progress_window(self):
|
||||
"""创建下载进度窗口
|
||||
|
||||
Reference in New Issue
Block a user