0.7.1: i tasti delle azioni rapide dichiarano la loro altezza

In Silica il tasto piglia l'altezza dal tema (itemSizeExtraSmall, ~56 px) e non
dal contenuto: con icona e etichetta (~110) il testo usciva dalla scatola e la
riga di contorno della colonna finiva sopra le etichette. Ora height:
Theme.itemSizeMedium. Aggiunto il controllo in tests/label_fit_check.py e il
registro di posizione e altezza di ogni riga della Home.
This commit is contained in:
Carlo
2026-10-11 12:26:20 +02:00
parent e8937dc1ea
commit 2b397b6c3a
7 changed files with 100 additions and 13 deletions
+24 -2
View File
@@ -261,6 +261,13 @@ Page {
Button {
id: boostBtn
width: (parent.width - 2 * parent.spacing) / 3
// In Silica il tasto piglia l'altezza dal tema
// (itemSizeExtraSmall ~56 px), ma icona E etichetta ne
// occupano ~110: senza questa riga l'etichetta esce dalla
// scatola e la riga successiva della colonna le finisce
// sopra (segnalato da Carlo: "la riga sotto copre i
// pulsanti"). Vedi tests/label_fit_check.py.
height: Theme.itemSizeMedium
text: qsTr("Boost")
// La casella dell'icona la decide il tema: senza, l'Image
// prende la misura del file e si mangia il testo.
@@ -274,6 +281,7 @@ Page {
Button {
id: assenzaBtn
width: (parent.width - 2 * parent.spacing) / 3
height: Theme.itemSizeMedium
// Il pulsante dice cosa succede premendolo, non lo stato.
// Etichette corte: nel tasto, largo un terzo di schermo,
// icona e testo devono starci insieme.
@@ -302,6 +310,7 @@ Page {
Button {
width: (parent.width - 2 * parent.spacing) / 3
height: Theme.itemSizeMedium
// "Comandi" (8 lettere) non ci sta accanto a un'icona in un
// terzo di schermo: la pagina resta "Comandi impianto".
text: qsTr("More")
@@ -350,7 +359,20 @@ Page {
Timer {
id: misura
interval: 1000
onTriggered: console.log("harbour-aira home: contenuto", flick.contentHeight,
"schermo", height)
onTriggered: {
console.log("harbour-aira home: contenuto", flick.contentHeight,
"schermo", height)
// Ogni riga della Home con la sua posizione: se una riga finisce
// addosso a un'altra, qui si legge quale e di quanto. E' la riga da
// mandare al primo avvio se la disposizione non torna.
for (var i = 0; i < col.children.length; ++i) {
var r = col.children[i]
if (r.height === undefined)
continue
console.log("harbour-aira riga", i, "y", Math.round(r.y),
"h", Math.round(r.height),
r.text !== undefined ? JSON.stringify(r.text) : "")
}
}
}
}