aboutsummaryrefslogtreecommitdiffstats
path: root/desktop/Settings.qml
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-11-07 12:38:18 +0100
committerDanilo M. <danix@danix.xyz>2026-11-07 12:38:18 +0100
commit3d045076d49ee7cc074f670806a823099ea9fb09 (patch)
tree32760f1d5075ad14adc67c182f0df883c9a13e53 /desktop/Settings.qml
parentaf008cbd9f5d8d03eff0aa8ac1c7856bb30412e0 (diff)
downloadquickshell-3d045076d49ee7cc074f670806a823099ea9fb09.tar.gz
quickshell-3d045076d49ee7cc074f670806a823099ea9fb09.zip
settings: one snackbar for every page's messages
Save, apply and upload results went to the page header, one line capped at 420px and cut with an ellipsis. They now go to a snackbar at the foot of the settings window, wrapped in full: green fades after 6s, yellow and red stay until dismissed or replaced, and changing page clears it. Snack.qml is the singleton pages call (ok, wait, error); Snackbar.qml draws it once in Settings.qml. SaveBar forwards its notice and error, so the 24 pages using it change nothing; the header keeps only the draft's state. The boot logo page calls Snack directly. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'desktop/Settings.qml')
-rw-r--r--desktop/Settings.qml9
1 files changed, 9 insertions, 0 deletions
diff --git a/desktop/Settings.qml b/desktop/Settings.qml
index 2ba8cb6..507960b 100644
--- a/desktop/Settings.qml
+++ b/desktop/Settings.qml
@@ -91,6 +91,8 @@ Scope {
else root.close();
}
function close() { root.open = false; root.page = ""; root.query = ""; }
+ // A message belongs to the page that said it.
+ onPageChanged: Snack.clear()
LazyLoader {
active: root.open
@@ -613,6 +615,13 @@ Scope {
when: pageLoader.item !== null
}
}
+
+ // Every page's save and upload results, in full. See Snack.qml.
+ Snackbar {
+ anchors { bottom: pageLoader.bottom; horizontalCenter: pageLoader.horizontalCenter }
+ width: Math.min(560, pageLoader.width - 32)
+ z: 10
+ }
}
}
}