summaryrefslogtreecommitdiff
path: root/config/Config.qml
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--config/Config.qml86
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 {}