- 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).
63 lines
1.7 KiB
QML
63 lines
1.7 KiB
QML
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
|
|
}
|
|
}
|
|
}
|