summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
author2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-09-22 23:32:36 +1000
committer2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-09-22 23:32:36 +1000
commit38b9b8659541de53ae6b8e5fd0d6630621fb65cd (patch)
tree3b1fa09693e9806a6d18ed27e4e8289c2ef78d95 /config
parentinternal: fix choose wallpaper button (diff)
downloadcaelestia-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.qml23
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