From 56ffb5cab3ed92cbeea9fbf7e96d8d0b72b79fd9 Mon Sep 17 00:00:00 2001 From: Loren Eteval Date: Mon, 1 Dec 2025 23:47:27 +0800 Subject: [PATCH] Added "AutoUpdateAssetFiles" settings Signed-off-by: Loren Eteval --- Furious/Externals/GenTranslation.py | 8 ++++++++ Furious/TrayActions/Connect.py | 9 ++++++--- Furious/TrayActions/Settings.py | 24 ++++++++++++++++++++++-- Furious/Window/XrayAssetViewerWindow.py | 2 +- 4 files changed, 37 insertions(+), 6 deletions(-) diff --git a/Furious/Externals/GenTranslation.py b/Furious/Externals/GenTranslation.py index a424634..e85d680 100644 --- a/Furious/Externals/GenTranslation.py +++ b/Furious/Externals/GenTranslation.py @@ -1083,6 +1083,14 @@ TRANSLATION = { "ZH": "开机启动", "isReviewed": "True" }, + "Automatically Update Asset Files": { + "source": [ + "Furious.TrayActions.Settings" + ], + "RU": "Автоматически обновлять файлы активов", + "ZH": "自动更新资源文件", + "isReviewed": "True" + }, "Show Progress Bar When Connecting": { "source": [ "Furious.TrayActions.Settings" diff --git a/Furious/TrayActions/Connect.py b/Furious/TrayActions/Connect.py index e6cbe98..e8e76ef 100644 --- a/Furious/TrayActions/Connect.py +++ b/Furious/TrayActions/Connect.py @@ -296,9 +296,12 @@ class ConnectAction(AppQAction): if SystemRuntime.appImagePath(): logger.info('skipped auto assets update due to running from Linux AppImage') else: - # Automatically update assets - self.assetDownloadManager.configureHttpProxy(connectedHttpProxy) - self.assetDownloadManager.download() + if AppSettings.isStateON_('AutoUpdateAssetFiles'): + # Automatically update assets + self.assetDownloadManager.configureHttpProxy(connectedHttpProxy) + self.assetDownloadManager.download() + else: + logger.info('skipped auto assets update due to settings') def callActionFromQueue(self): try: diff --git a/Furious/TrayActions/Settings.py b/Furious/TrayActions/Settings.py index d27b123..a97338c 100644 --- a/Furious/TrayActions/Settings.py +++ b/Furious/TrayActions/Settings.py @@ -33,6 +33,9 @@ if PLATFORM == 'Darwin': registerAppSettings('StartupOnBoot', isBinary=True, default=AppBinarySettings.ON_) registerAppSettings('PowerSaveMode', isBinary=True, default=AppBinarySettings.ON_) +registerAppSettings( + 'AutoUpdateAssetFiles', isBinary=True, default=AppBinarySettings.ON_ +) registerAppSettings( 'ShowProgressBarWhenConnecting', isBinary=True, default=AppBinarySettings.ON_ ) @@ -128,6 +131,11 @@ class SettingsChildAction(AppQAction): AppSettings.turnOFF('PowerSaveMode') showNewChangesNextTimeMBox() + elif self.textCompare('Automatically Update Asset Files'): + if checked: + AppSettings.turnON_('AutoUpdateAssetFiles') + else: + AppSettings.turnOFF('AutoUpdateAssetFiles') elif self.textCompare('Show Progress Bar When Connecting'): if checked: AppSettings.turnON_('ShowProgressBarWhenConnecting') @@ -161,7 +169,7 @@ class SettingsAction(AppQAction): AppQSeperator(), ] else: - tunActions = [None] + tunActions = [] if PLATFORM == 'Darwin': hideDockIconAction = [ @@ -172,7 +180,18 @@ class SettingsAction(AppQAction): ) ] else: - hideDockIconAction = [None] + hideDockIconAction = [] + + if SystemRuntime.appImagePath(): + autoUpdateAssetFilesAction = [] + else: + autoUpdateAssetFilesAction = ( + SettingsChildAction( + _('Automatically Update Asset Files'), + checkable=True, + checked=AppSettings.isStateON_('AutoUpdateAssetFiles'), + ), + ) super().__init__( _('Settings'), @@ -202,6 +221,7 @@ class SettingsAction(AppQAction): checked=AppSettings.isStateON_('PowerSaveMode'), ), AppQSeperator(), + *autoUpdateAssetFilesAction, SettingsChildAction( _('Show Progress Bar When Connecting'), checkable=True, diff --git a/Furious/Window/XrayAssetViewerWindow.py b/Furious/Window/XrayAssetViewerWindow.py index ca0c4f4..8c898c9 100644 --- a/Furious/Window/XrayAssetViewerWindow.py +++ b/Furious/Window/XrayAssetViewerWindow.py @@ -42,7 +42,7 @@ class XrayAssetViewerWindow(AppQMainWindow): self.setCentralWidget(self.xrayAssetViewerWidget) if versionToValue(PYSIDE6_VERSION) <= versionToValue('6.1.3'): - openAssetDirectoryActions = [None] + openAssetDirectoryActions = [] else: # openUrl will crash on PySide6 6.1.3, probably a Qt bug openAssetDirectoryActions = [