From 3d045076d49ee7cc074f670806a823099ea9fb09 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Sat, 7 Nov 2026 12:38:18 +0100 Subject: 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 --- desktop/README.md | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'desktop/README.md') diff --git a/desktop/README.md b/desktop/README.md index c7aea52..9e17e7a 100644 --- a/desktop/README.md +++ b/desktop/README.md @@ -56,6 +56,15 @@ page's draft lives in the page, so it is not marked in the sidebar and leaving the page drops it. Git and autostart act a row at a time and the theme applies on click, so they have no bar. +What a save, an apply or an upload says goes to the snackbar at the foot of +the window (`Snack.qml`, drawn by `Snackbar.qml`), in full and wrapped: green +fades after 6s, yellow (waiting) and red (failed) stay until dismissed with +its cross or replaced by the next message. Changing page or closing the +window clears it. SaveBar forwards its `notice` and `error` there, so a page +using it needs nothing more; any other page calls `Snack.ok(text)`, +`Snack.wait(text)` or `Snack.error(text)`. The header keeps only the draft's +state beside the buttons: "unsaved changes", or why Save is held back. + The sidebar's edge drags to resize it, between 160 and 420px; the width is saved in the preferences file on release. -- cgit v1.2.3