Files
harbour-aira/qml/pages/AwayDialog.qml
T
Carlo d2cb9d692f 0.7.0: assenza con date, conto alla rovescia del boost, catalogo rifatto
- AwayDialog.qml: popup con inizio e fine (Dialog, ValueButton,
  DatePickerDialog: componenti e proprieta' verificati nella guida Silica
  dell'SDK). Il tasto Assenza apre il popup invece di mandare il comando;
- conto alla rovescia 30:00 -> 00:00 in Home e in copertina, con i secondi
  dell'impianto (AiraJson::countdown + timer che si riallinea a ogni lettura);
- commandPayload accetta campi extra (start/end);
- catalogo: lupdate leggeva solo i C++ e marcava 151 voci QML come obsolete.
  Ora src e qml espliciti: 197 stringhe, 0 non tradotte;
- versione 0.7.0 (spec, main.cpp), PROTOCOL, README/PIANO, post per il forum.
2026-10-11 12:05:59 +02:00

56 lines
1.9 KiB
QML

import QtQuick 2.6
import Sailfish.Silica 1.0
// Assenza con le date (richiesta dell'utente, 11/10/2026): si scelgono inizio e
// fine e il comando parte solo quando si accetta. La "fine" e' il giorno in cui
// l'impianto ricomincia a scaldare: nell'uso di Carlo, il giorno prima del
// rientro. Durante l'assenza la casa resta a 15 °C.
Dialog {
id: away
property date inizio: new Date()
property date fine: new Date(Date.now() + 7 * 24 * 3600000)
// Non si accetta una fine che non viene dopo l'inizio: il bridge la
// respingerebbe comunque, ed e' meglio non far partire il comando.
canAccept: away.fine > away.inizio
Column {
width: parent.width
DialogHeader {
title: qsTr("Away mode")
acceptText: qsTr("Activate")
}
ValueButton {
label: qsTr("From")
value: Qt.formatDate(away.inizio, Qt.SystemLocaleShortDate)
onClicked: {
var scelta = pageStack.push("Sailfish.Silica.DatePickerDialog",
{ "date": away.inizio })
scelta.accepted.connect(function() { away.inizio = scelta.date })
}
}
ValueButton {
label: qsTr("To")
value: Qt.formatDate(away.fine, Qt.SystemLocaleShortDate)
onClicked: {
var scelta = pageStack.push("Sailfish.Silica.DatePickerDialog",
{ "date": away.fine })
scelta.accepted.connect(function() { away.fine = scelta.date })
}
}
Label {
x: Theme.horizontalPageMargin
width: parent.width - 2 * Theme.horizontalPageMargin
text: qsTr("The house stays at 15 °C and starts heating again on the day chosen as \"To\".")
wrapMode: Text.WordWrap
color: Theme.secondaryColor
font.pixelSize: Theme.fontSizeExtraSmall
}
}
}