diff options
| author | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-09-22 23:32:36 +1000 |
|---|---|---|
| committer | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-09-22 23:32:36 +1000 |
| commit | 38b9b8659541de53ae6b8e5fd0d6630621fb65cd (patch) | |
| tree | 3b1fa09693e9806a6d18ed27e4e8289c2ef78d95 /config | |
| parent | internal: fix choose wallpaper button (diff) | |
| download | caelestia-shell-38b9b8659541de53ae6b8e5fd0d6630621fb65cd.tar.gz caelestia-shell-38b9b8659541de53ae6b8e5fd0d6630621fb65cd.tar.bz2 caelestia-shell-38b9b8659541de53ae6b8e5fd0d6630621fb65cd.zip | |
config: add toasts for events
Loaded, load parse error, load failed, save failed
Also increase toast icon size
Diffstat (limited to 'config')
| -rw-r--r-- | config/Config.qml | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/config/Config.qml b/config/Config.qml index f33cbba..8d54cf8 100644 --- a/config/Config.qml +++ b/config/Config.qml @@ -1,6 +1,7 @@ pragma Singleton import qs.utils +import Caelestia import Quickshell import Quickshell.Io @@ -25,10 +26,30 @@ Singleton { property alias services: adapter.services property alias paths: adapter.paths + ElapsedTimer { + id: timer + } + FileView { path: `${Paths.config}/shell.json` watchChanges: true - onFileChanged: reload() + onFileChanged: { + timer.restart(); + reload(); + } + onLoaded: { + try { + JSON.parse(text()); + Toaster.toast(qsTr("Config loaded"), qsTr("Config loaded in %1ms").arg(timer.elapsedMs()), "rule_settings"); + } catch (e) { + Toaster.toast(qsTr("Failed to load config"), e.message, "settings_alert", Toast.Error); + } + } + onLoadFailed: err => { + 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 |