0.6.5: sulla copertina l'acqua si chiama Acqua calda come in Home; attuale piu' grande, obiettivo attaccato

This commit is contained in:
2026-10-11 08:24:49 +02:00
parent 462ea035ca
commit a788255593
10 changed files with 89 additions and 47 deletions
+58 -25
View File
@@ -4,10 +4,12 @@ import Sailfish.Silica 1.0
// Copertina: legge api.summary (context property C++), quindi non dipende
// dallo scope delle property della pagina principale.
//
// Due righe con l'etichetta davanti: "attuale / impostata" per la casa e per
// l'acqua. Prima erano frasi lunghe ("casa · obiettivo 19,0 °C", "ACS 53,4 °C ·
// obiettivo 55 °C") e sulla cover, che e' stretta, venivano tagliate a meta':
// il numero vero spariva proprio dove serve di sfuggita.
// Due righe con l'etichetta davanti — "Casa" e "Acqua calda" — ognuna con il
// valore attuale e l'obiettivo. L'etichetta dell'acqua e' lunga e la cover e'
// stretta: percio' il valore attuale sta piu' grande e l'obiettivo piu' piccolo
// e attaccato ("51,5/55,0 °C"), invece di due numeri della stessa taglia che
// costringerebbero a tagliare. Prima erano frasi lunghe ("ACS 53,4 °C ·
// obiettivo 55 °C") e il numero vero spariva a meta' riga.
CoverBackground {
id: cover
@@ -16,9 +18,10 @@ CoverBackground {
return api.formatValue(v)
}
// "22,9 / 19,0 °C": attuale e impostata, con l'unita' una volta sola.
function coppia(attuale, impostata) {
return cover.t(attuale) + " / " + cover.t(impostata) + " °C"
// "/19,0 °C": l'obiettivo attaccato al valore attuale. Niente spazio dopo la
// barra: con l'etichetta lunga e' quello che tiene la riga dentro la cover.
function obiettivo(key) {
return "/" + cover.t(key) + " °C"
}
// Colore del pallino: gli stessi criteri della Home (vedi MainPage.qml).
@@ -66,7 +69,9 @@ CoverBackground {
width: parent.width - 2 * Theme.paddingMedium
spacing: Theme.paddingMedium
// ---- casa ---------------------------------------------------------- //
Row {
id: rigaCasa
width: parent.width
spacing: Theme.paddingSmall
@@ -74,42 +79,70 @@ CoverBackground {
text: qsTr("House")
color: Theme.secondaryColor
font.pixelSize: Theme.fontSizeExtraSmall
width: parent.width * 0.32
width: rigaCasa.width * 0.42
anchors.verticalCenter: parent.verticalCenter
}
Label {
text: cover.coppia("zone1_temperature", "zone1_setpoint")
// Spenta quando i numeri sono vecchi: non deve sembrare fresca.
color: api.stale ? Theme.secondaryColor : Theme.primaryColor
font.pixelSize: Theme.fontSizeSmall
font.bold: true
elide: Text.ElideRight
width: parent.width - parent.width * 0.32 - parent.spacing
Row {
width: rigaCasa.width * 0.58 - rigaCasa.spacing
spacing: 0
anchors.verticalCenter: parent.verticalCenter
Label {
id: casaOra
// Spento quando i numeri sono vecchi: non deve sembrare fresco.
text: cover.t("zone1_temperature")
color: api.stale ? Theme.secondaryColor : Theme.primaryColor
font.pixelSize: Theme.fontSizeSmall
font.bold: true
}
Label {
text: cover.obiettivo("zone1_setpoint")
color: Theme.secondaryColor
font.pixelSize: Theme.fontSizeExtraSmall
width: parent.width - casaOra.width
elide: Text.ElideRight
anchors.verticalCenter: parent.verticalCenter
}
}
}
// ---- acqua calda --------------------------------------------------- //
Row {
id: rigaAcqua
width: parent.width
spacing: Theme.paddingSmall
Label {
text: qsTr("Water")
text: qsTr("Hot water")
color: Theme.secondaryColor
font.pixelSize: Theme.fontSizeExtraSmall
width: parent.width * 0.32
width: rigaAcqua.width * 0.42
anchors.verticalCenter: parent.verticalCenter
}
Label {
text: cover.coppia("dhw_current", "dhw_target")
color: api.stale ? Theme.secondaryColor : Theme.primaryColor
font.pixelSize: Theme.fontSizeSmall
font.bold: true
elide: Text.ElideRight
width: parent.width - parent.width * 0.32 - parent.spacing
Row {
width: rigaAcqua.width * 0.58 - rigaAcqua.spacing
spacing: 0
anchors.verticalCenter: parent.verticalCenter
Label {
id: acquaOra
text: cover.t("dhw_current")
color: api.stale ? Theme.secondaryColor : Theme.primaryColor
font.pixelSize: Theme.fontSizeSmall
font.bold: true
}
Label {
text: cover.obiettivo("dhw_target")
color: Theme.secondaryColor
font.pixelSize: Theme.fontSizeExtraSmall
width: parent.width - acquaOra.width
elide: Text.ElideRight
anchors.verticalCenter: parent.verticalCenter
}
}
}
}