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:
@@ -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
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user