summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/Config.qml23
-rw-r--r--modules/utilities/toasts/ToastItem.qml4
2 files changed, 24 insertions, 3 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
diff --git a/modules/utilities/toasts/ToastItem.qml b/modules/utilities/toasts/ToastItem.qml
index 481b831..f475500 100644
--- a/modules/utilities/toasts/ToastItem.qml
+++ b/modules/utilities/toasts/ToastItem.qml
@@ -68,7 +68,7 @@ StyledRect {
}
implicitWidth: implicitHeight
- implicitHeight: icon.implicitHeight + Appearance.padding.normal * 2
+ implicitHeight: icon.implicitHeight + Appearance.padding.smaller * 2
MaterialIcon {
id: icon
@@ -84,7 +84,7 @@ StyledRect {
return Colours.palette.m3onError;
return Colours.palette.m3onSurfaceVariant;
}
- font.pointSize: Appearance.font.size.large
+ font.pointSize: Math.round(Appearance.font.size.large * 1.2)
}
}