Centralize application settings UI

Signed-off-by: Loren Eteval <loren.eteval@proton.me>
This commit is contained in:
Loren Eteval
2026-08-12 12:23:19 +08:00
parent 6d0f75d1ea
commit bee149a8b0
12 changed files with 436 additions and 429 deletions
+12
View File
@@ -42,6 +42,10 @@ registerAppSettings(
'ShowProgressBarWhenConnecting', isBinary=True, default=AppBinarySettings.ON_
)
registerAppSettings('ShowTabAndSpacesInEditor', isBinary=True)
registerAppSettings(
'SystemProxyMode',
validRange=list(mode.value for mode in AppBuiltinProxyMode),
)
class SettingsController:
@@ -135,6 +139,14 @@ class SettingsController:
cls._setBinary('ForceToLocalhostWhenSettingLocalProxy', enabled)
showMBoxNewChangesNextTime()
@staticmethod
def setSystemProxyMode(mode: str):
"""Persist how Furious manages the operating-system proxy."""
validModes = tuple(item.value for item in AppBuiltinProxyMode)
if mode in validModes:
AppSettings.set('SystemProxyMode', mode)
@classmethod
def setAutoUpdateAssets(cls, enabled: bool):
"""Persist automatic core-asset updates."""