0.7.6: via il banner del remorse dai tasti rapidi

Alla pressione Silica ri-parenta il RemorseItem dentro la fila dei tre tasti e
ci disegna sopra il banner (messaggio + conto alla rovescia) a margini fissi:
il suo riquadro non ha la larghezza del tasto, quindi copre i tasti vicini.
Il messaggio lo mostra gia' la NoticeBar, che ora ha altezza fissa a una riga e
una banda riservata sotto il contenuto in tutte e cinque le pagine.
This commit is contained in:
Carlo
2026-10-11 17:26:13 +02:00
parent 35297a0fa0
commit f4bee218bb
10 changed files with 198 additions and 168 deletions
+28 -1
View File
@@ -521,7 +521,34 @@ coordinate arrivano nel registro del bridge, e l'agente le legge. Verificato
prima di consegnarlo: POST con token → 200 e riga nel registro, senza token →
401.
## 17. Conseguenze dell'uso reale (0.7.0)
## 17. Il banner del remorse sui tasti rapidi — v0.7.6
Carlo: *"Il problema c'e' quando premo un pulsante"*. Meta' della diagnosi stava
in quella frase, e nessuno l'aveva ancora detta: succede **alla pressione**.
In Silica `RemorseItem` eredita da `RemorseBase`, che e' uno **`SwipeItem`** e
alla `execute()` fa `parent = item.parent`: **si ri-parenta dentro il contenitore
dell'oggetto premuto**. I tasti rapidi della Home stanno in una `Row` di tre, e
il riquadro del remorse non ha la larghezza del tasto: il suo `BannerBackground`
(il messaggio piu' il conto alla rovescia) viene disegnato a margini fissi e
finisce **sopra i tasti vicini**. Ecco il "copre i pulsanti": non la fila che si
sposta, ma un banner disegnato sopra.
- `MainPage.qml`: tolti i tre `remorse.execute(...)` (boost, assenza-off). Il
messaggio lo mostra gia' la `NoticeBar` in fondo: era un doppione *e* il danno.
- `NoticeBar.qml`: altezza **fissa** a una riga (`elide`, non `wrap`) e proprieta'
`banda`, cosi' le pagine possono riservarle lo spazio;
- le cinque pagine con la barra (`MainPage`, `CommandsPage`, `DataPage`,
`PlantPage`, `SetpointsPage`): `anchors.bottomMargin: notice.banda` sulla
`SilicaFlickable` — il messaggio non copre piu' il contenuto e non lo sposta
quando compare.
Lezione di metodo: il comportamento vero dei componenti Silica sta nel loro
sorgente (`<target>/usr/lib64/qt5/qml/Sailfish/Silica/…`), non in quello che
sembra leggendo il proprio QML. `RemorseBase.qml` ha dato la risposta in un
minuto, dopo tre diagnosi dedotte e sbagliate.
## 18. Conseguenze dell'uso reale (0.7.0)
Deciso con l'uso, non in anticipo: