0.7.2: il tasto del boost diventa Stop mentre e' in corso

In Home e in copertina: un tocco ferma il boost invece di farne ripartire un
altro (dalla copertina era il caso peggiore). Il conto alla rovescia ora prende
il posto del suggerimento nella stessa riga e con lo stesso carattere: prima,
essendo piu' alto, spingeva giu' i tasti delle azioni rapide.
Glifo di stop disegnato con scripts/make_glyphs.py. Catalogo 199 voci.
This commit is contained in:
Carlo
2026-10-11 12:45:56 +02:00
parent f7447900f9
commit b4ac614723
11 changed files with 140 additions and 42 deletions
+6 -2
View File
@@ -176,8 +176,12 @@ CoverBackground {
// Il componente e' in Sailfish.Silica 1.0 (verificato nella guida dell'SDK).
CoverActionList {
CoverAction {
iconSource: "../icons/quick-boost.png"
onTriggered: api.sendCommand("hot_water_boost_on")
// Anche dalla copertina il tasto ferma quando il boost e' in corso:
// altrimenti un tocco per fermarlo ne farebbe ripartire un altro.
iconSource: api.boostActive ? "../icons/quick-boost-stop.png"
: "../icons/quick-boost.png"
onTriggered: api.sendCommand(api.boostActive ? "hot_water_boost_off"
: "hot_water_boost_on")
}
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

+47 -24
View File
@@ -223,27 +223,38 @@ Page {
}
}
// Conto alla rovescia del boost, da 30:00 a 00:00 (richiesta
// dell'utente): si vede solo mentre il boost e' in corso.
Label {
visible: api.configured && api.boostActive
x: Theme.horizontalPageMargin
width: parent.width - 2 * Theme.horizontalPageMargin
text: qsTr("Boost · %1").arg(api.boostCountdown)
color: Theme.highlightColor
font.pixelSize: Theme.fontSizeSmall
font.bold: true
}
// Una sola riga, sempre della stessa altezza: mentre il boost corre
// il conto alla rovescia prende il posto del suggerimento senza
// spostare niente sotto. Il carattere e' quello del suggerimento
// (fontSizeExtraSmall): se fosse piu' grande, la riga piu' alta
// spingerebbe giu' i pulsanti e la riga di contorno finirebbe loro
// addosso (segnalato da Carlo).
Item {
visible: api.configured
width: parent.width
height: Math.max(contoRovescia.implicitHeight,
suggerimento.implicitHeight)
Label {
// Con il boost in corso questa riga sparisce: al suo posto c'e'
// il conto alla rovescia, cosi' la Home resta di una schermata.
visible: api.configured && !api.boostActive
x: Theme.horizontalPageMargin
width: parent.width - 2 * Theme.horizontalPageMargin
text: qsTr("Tap a value to adjust it")
color: Theme.secondaryColor
font.pixelSize: Theme.fontSizeExtraSmall
Label {
id: contoRovescia
visible: api.boostActive
x: Theme.horizontalPageMargin
width: parent.width - 2 * Theme.horizontalPageMargin
text: qsTr("Boost · %1").arg(api.boostCountdown)
color: Theme.highlightColor
font.pixelSize: Theme.fontSizeExtraSmall
font.bold: true
}
Label {
id: suggerimento
visible: !api.boostActive
x: Theme.horizontalPageMargin
width: parent.width - 2 * Theme.horizontalPageMargin
text: qsTr("Tap a value to adjust it")
color: Theme.secondaryColor
font.pixelSize: Theme.fontSizeExtraSmall
}
}
// ---- azioni rapide --------------------------------------------- //
@@ -268,14 +279,26 @@ Page {
// sopra (segnalato da Carlo: "la riga sotto copre i
// pulsanti"). Vedi tests/label_fit_check.py.
height: Theme.itemSizeMedium
text: qsTr("Boost")
// Mentre il boost e' in corso il tasto ferma invece di
// avviare: dice cosa succede premendolo, come il tasto
// dell'assenza. "Stop boost" per intero non ci sta accanto
// all'icona (92 px contro 73 disponibili): resta "Stop",
// che il glifo di stop rende inequivocabile.
text: api.boostActive ? qsTr("Stop") : qsTr("Boost")
// La casella dell'icona la decide il tema: senza, l'Image
// prende la misura del file e si mangia il testo.
icon.source: "../icons/quick-boost.png"
icon.source: api.boostActive ? "../icons/quick-boost-stop.png"
: "../icons/quick-boost.png"
icon.width: Theme.iconSizeExtraSmall
icon.height: Theme.iconSizeExtraSmall
onClicked: remorse.execute(boostBtn, qsTr("Starting DHW boost"),
function() { api.sendCommand("hot_water_boost_on") })
onClicked: remorse.execute(
boostBtn,
api.boostActive ? qsTr("Stopping DHW boost")
: qsTr("Starting DHW boost"),
function() {
api.sendCommand(api.boostActive ? "hot_water_boost_off"
: "hot_water_boost_on")
})
}
Button {