diff options
Diffstat (limited to '')
| -rw-r--r-- | config/Config.qml | 86 |
1 files changed, 3 insertions, 83 deletions
diff --git a/config/Config.qml b/config/Config.qml index 7a5c04f..9f66c73 100644 --- a/config/Config.qml +++ b/config/Config.qml @@ -21,61 +21,11 @@ Singleton { property alias osd: adapter.osd property alias session: adapter.session property alias winfo: adapter.winfo - property alias lock: adapter.lock property alias utilities: adapter.utilities property alias sidebar: adapter.sidebar property alias services: adapter.services property alias paths: adapter.paths - // Public save function - call this to persist config changes - function save(): void { - saveTimer.restart(); - recentlySaved = true; - recentSaveCooldown.restart(); - } - - property bool recentlySaved: false - - ElapsedTimer { - id: timer - } - - Timer { - id: saveTimer - - interval: 500 - onTriggered: { - timer.restart(); - try { - // Parse current config to preserve structure and comments if possible - let config = {}; - try { - config = JSON.parse(fileView.text()); - } catch (e) { - // If parsing fails, start with empty object - config = {}; - } - - // Update config with current values - config = serializeConfig(); - - // Save to file with pretty printing - fileView.setText(JSON.stringify(config, null, 2)); - } catch (e) { - Toaster.toast(qsTr("Failed to serialize config"), e.message, "settings_alert", Toast.Error); - } - } - } - - Timer { - id: recentSaveCooldown - - interval: 2000 - onTriggered: { - recentlySaved = false; - } - } - // Helper function to serialize the config object function serializeConfig(): var { return { @@ -91,7 +41,6 @@ Singleton { osd: serializeOsd(), session: serializeSession(), winfo: serializeWinfo(), - lock: serializeLock(), utilities: serializeUtilities(), sidebar: serializeSidebar(), services: serializeServices(), @@ -126,17 +75,13 @@ Singleton { function serializeGeneral(): var { return { + logo: general.logo, apps: { terminal: general.apps.terminal, audio: general.apps.audio, playback: general.apps.playback, explorer: general.apps.explorer }, - idle: { - lockBeforeSleep: general.idle.lockBeforeSleep, - inhibitWhenAudio: general.idle.inhibitWhenAudio, - timeouts: general.idle.timeouts - }, battery: { warnLevels: general.battery.warnLevels, criticalLevel: general.battery.criticalLevel @@ -179,6 +124,7 @@ Singleton { showMicrophone: bar.status.showMicrophone, showKbLayout: bar.status.showKbLayout, showNetwork: bar.status.showNetwork, + showWifi: bar.status.showWifi, showBluetooth: bar.status.showBluetooth, showBattery: bar.status.showBattery, showLockStatus: bar.status.showLockStatus @@ -248,9 +194,7 @@ Singleton { dragThreshold: launcher.dragThreshold, vimKeybinds: launcher.vimKeybinds, hiddenApps: launcher.hiddenApps, - useFuzzy: { - apps: launcher.useFuzzy.apps, - }, + useFuzzy: launcher.useFuzzy, sizes: { itemWidth: launcher.sizes.itemWidth, itemHeight: launcher.sizes.itemHeight, @@ -315,19 +259,6 @@ Singleton { }; } - function serializeLock(): var { - return { - recolourLogo: lock.recolourLogo, - enableFprint: lock.enableFprint, - maxFprintTries: lock.maxFprintTries, - sizes: { - heightMult: lock.sizes.heightMult, - ratio: lock.sizes.ratio, - centerWidth: lock.sizes.centerWidth - } - }; - } - function serializeUtilities(): var { return { enabled: utilities.enabled, @@ -374,7 +305,6 @@ Singleton { visualiserBars: services.visualiserBars, audioIncrement: services.audioIncrement, maxVolume: services.maxVolume, - smartScheme: services.smartScheme, defaultPlayer: services.defaultPlayer, playerAliases: services.playerAliases }; @@ -383,7 +313,6 @@ Singleton { function serializePaths(): var { return { wallpaper: paths.wallpaper, - face: paths.face, sessionGif: paths.sessionGif, mediaGif: paths.mediaGif }; @@ -407,13 +336,6 @@ Singleton { onLoaded: { try { JSON.parse(text()); - const elapsed = timer.elapsedMs(); - // Only show toast for external changes (not our own saves) and when elapsed time is meaningful - if (adapter.utilities.toasts.configLoaded && !recentlySaved && elapsed > 0) { - Toaster.toast(qsTr("Config loaded"), qsTr("Config loaded in %1ms").arg(elapsed), "rule_settings"); - } else if (adapter.utilities.toasts.configLoaded && recentlySaved && elapsed > 0) { - Toaster.toast(qsTr("Config saved"), qsTr("Config reloaded in %1ms").arg(elapsed), "rule_settings"); - } } catch (e) { Toaster.toast(qsTr("Failed to load config"), e.message, "settings_alert", Toast.Error); } @@ -422,7 +344,6 @@ Singleton { if (err !== FileViewError.FileNotFound) Toaster.toast(qsTr("Failed to read config file"), FileViewError.toString(err), "settings_alert", Toast.Warning); } - onSaveFailed: err => Toaster.toast(qsTr("Failed to save config"), FileViewError.toString(err), "settings_alert", Toast.Error) JsonAdapter { id: adapter @@ -439,7 +360,6 @@ Singleton { property OsdConfig osd: OsdConfig {} property SessionConfig session: SessionConfig {} property WInfoConfig winfo: WInfoConfig {} - property LockConfig lock: LockConfig {} property UtilitiesConfig utilities: UtilitiesConfig {} property SidebarConfig sidebar: SidebarConfig {} property ServiceConfig services: ServiceConfig {} |