0.6.0 blocco 1: Home di consultazione e pagina Regolazioni

- Home: stato in una riga col pallino, due letture grandi toccabili, tre
  azioni rapide; via i due slider, i sette pulsanti e la scheda separata.
- Nuova pagina Regolazioni: un blocco per grandezza, valore attuale sempre
  visibile, preimpostazioni per le dita fredde, conferma esplicita; il
  pulsante e' attivo solo se c'e' davvero qualcosa da cambiare.
- Messaggi dei comandi spostati in ApiClient (api.notice) con NoticeBar
  ancorata in fondo: prima nascevano fuori dallo schermo.
- Stato breve/esteso/livello in C++ (testabile senza SDK), 18 verifiche
  nuove: 79/79.
- stale + lastUpdate: la Home dice 'aggiornato alle HH:MM' e spegne i
  numeri vecchi invece di farli passare per freschi.
- 192/192 stringhe tradotte (54 nuove).
This commit is contained in:
2026-10-10 09:47:16 +02:00
parent 667ff63907
commit d5b63b57df
10 changed files with 1038 additions and 600 deletions
+42
View File
@@ -0,0 +1,42 @@
import QtQuick 2.2
import Sailfish.Silica 1.0
// Messaggio dell'ultimo comando, ancorato al bordo inferiore della pagina.
//
// Sta FUORI dal contenuto che scorre: prima il messaggio era la prima riga
// della colonna, quindi premendo un pulsante in fondo alla pagina nasceva
// fuori dallo schermo e non si capiva se il comando fosse partito.
//
// Lo stato sta in ApiClient (api.notice): qui si mostra e basta, cosi' il
// messaggio e' lo stesso su qualsiasi pagina.
Rectangle {
id: root
anchors {
left: parent.left
right: parent.right
bottom: parent.bottom
}
height: message.height + 2 * Theme.paddingMedium
color: Qt.rgba(0, 0, 0, 0.78)
opacity: api.notice.length > 0 ? 1 : 0
visible: opacity > 0
z: 100
Behavior on opacity { NumberAnimation { duration: 200 } }
Label {
id: message
anchors {
left: parent.left
right: parent.right
leftMargin: Theme.horizontalPageMargin
rightMargin: Theme.horizontalPageMargin
verticalCenter: parent.verticalCenter
}
text: api.notice
color: api.noticeIsError ? Theme.errorColor : Theme.highlightColor
font.pixelSize: Theme.fontSizeSmall
wrapMode: Text.Wrap
}
}
+62
View File
@@ -0,0 +1,62 @@
import QtQuick 2.2
import Sailfish.Silica 1.0
// Riquadro di una lettura grande nella Home: titolo, valore, riga sotto e la
// barra di avanzamento (facoltativa). Toccabile: porta alle regolazioni.
//
// La barra c'e' sempre, anche quando non serve, e resta trasparente: cosi' i
// due riquadri affiancati hanno la stessa altezza senza vincoli circolari.
BackgroundItem {
id: root
property string title: ""
property string value: ""
property string subtitle: ""
property real progress: 0
property bool showBar: false
property color valueColor: Theme.primaryColor
signal tapped()
height: content.height + 2 * Theme.paddingMedium
onClicked: root.tapped()
Column {
id: content
x: Theme.paddingMedium
y: Theme.paddingMedium
width: parent.width - 2 * Theme.paddingMedium
spacing: Theme.paddingSmall
Label {
width: parent.width
text: root.title
color: Theme.secondaryColor
font.pixelSize: Theme.fontSizeSmall
elide: Text.ElideRight
}
Label {
width: parent.width
text: root.value
color: root.valueColor
font.pixelSize: Theme.fontSizeHuge
elide: Text.ElideRight
}
Label {
width: parent.width
text: root.subtitle
color: Theme.secondaryColor
font.pixelSize: Theme.fontSizeExtraSmall
wrapMode: Text.Wrap
}
ProgressBar {
width: parent.width
value: Math.max(0, Math.min(1, root.progress))
opacity: root.showBar ? 1 : 0
}
}
}