Commit Graph
23 Commits
Author SHA1 Message Date
Carlo e9527f66bb 0.7.10: cambio lingua in due mosse + diagnosi lingua nel /layout
Misurato in container: la ricarica della radice ri-traduce, il catalogo si trova
anche con it_IT. La ricarica ora scarica la radice prima di ricaricarla, cosi'
non dipende da un comportamento di setSource che cambia fra versioni di Qt.
2026-10-11 19:01:07 +02:00
Carlo 78eb283c9b 0.7.9: via la barra di avanzamento dell'acqua
Partiva da 10 °C e stava sempre al 99%: non diceva niente. Tolta dal componente
ReadingCell (la usava solo la Home) e con essa la funzione waterProgress.
2026-10-11 18:52:08 +02:00
Carlo 1e2f5bbea3 0.7.8: le diciture della copertina
'T. casa', 'T. acqua', 'Temperatura esterna'. Stringhe proprie della copertina:
la copertina condivideva 'House' e 'Hot water' con la Home, quindi cambiare la
traduzione avrebbe cambiato anche la Home, che resta 'Casa' e 'Acqua calda'.
2026-10-11 18:45:46 +02:00
Carlo 648246b078 0.7.7: un solo tasto del boost, con lo stato della Home
La pagina Regolazioni aveva due tasti sempre attivi (avvia/ferma) che non
dicevano cosa sta facendo l'impianto e potevano contraddire la Home. Ora un
ActionButton solo, con testo e comando da api.boostActive — lo stesso dato della
Home — piu' il tempo che resta quando il boost corre.
2026-10-11 18:21:10 +02:00
Carlo f4bee218bb 0.7.6: via il banner del remorse dai tasti rapidi
Alla pressione Silica ri-parenta il RemorseItem dentro la fila dei tre tasti e
ci disegna sopra il banner (messaggio + conto alla rovescia) a margini fissi:
il suo riquadro non ha la larghezza del tasto, quindi copre i tasti vicini.
Il messaggio lo mostra gia' la NoticeBar, che ora ha altezza fissa a una riga e
una banda riservata sotto il contenuto in tutte e cinque le pagine.
2026-10-11 17:26:13 +02:00
Carlo 35297a0fa0 0.7.5: il corpo JSON delle misure (AiraJson::layoutPayload)
send() prende QByteArray, non la mappa: la build l'ha detto subito.
2026-10-11 17:18:40 +02:00
Carlo 8e13180ffb 0.7.5: la Home manda le sue misure al bridge
Dopo tre diagnosi dedotte e tre volte sbagliate, le coordinate arrivano dal
telefono: il timer 'misura' le manda a /layout, il bridge le scrive nel suo
registro. Nel QML arrivano versione, schermo, contenuto e y/h/testo di ogni
riga.
2026-10-11 17:16:10 +02:00
Carlo 5453e4dcf7 0.7.4: la versione dell'app a schermo
Carlo segnalava la riga che copriva i tasti mentre la correzione era nella
0.7.1: non c'era modo di sapere quale build stesse girando. In Impostazioni
ora c'e' 'Versione 0.7.4'. La disposizione l'ho anche misurata, replicandola
in QML nel container: con la scatola da 56 px la riga cade a y=240 dentro i
tasti (176..286), con quella da 152 a y=336 sotto.
2026-10-11 13:41:18 +02:00
Carlo 09fadd5543 0.7.3: copertina con la freccia e Esterno maiuscolo
'22,5/19,0 °C' era la scrittura vecchia: l'obiettivo ora segue la freccia.
La terza riga dice 'Esterno' (l'italiano era 'esterna %1 °C', minuscolo e
femminile, residuo di quando la riga era un'altra frase). Scelte di Carlo,
chieste prima di toccare.
2026-10-11 12:51:50 +02:00
Carlo b4ac614723 0.7.2: il tasto del boost diventa Stop mentre e' in corso
In Home e in copertina: un tocco ferma il boost invece di farne ripartire un
altro (dalla copertina era il caso peggiore). Il conto alla rovescia ora prende
il posto del suggerimento nella stessa riga e con lo stesso carattere: prima,
essendo piu' alto, spingeva giu' i tasti delle azioni rapide.
Glifo di stop disegnato con scripts/make_glyphs.py. Catalogo 199 voci.
2026-10-11 12:45:56 +02:00
Carlo f7447900f9 0.7.1: allineo la copia del bridge (orari dell'impianto letti come UTC) 2026-10-11 12:38:27 +02:00
Carlo 59894142dd 0.7.0: col boost in corso la riga "tocca un valore" lascia il posto al conto alla rovescia
La Home deve restare di una schermata sola: la riga del conto alla rovescia
prende il posto del suggerimento invece di aggiungersi.
2026-10-11 12:06:27 +02:00
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
Carlo 6ef6f5bfd8 0.6.9: il bridge corretto (boost con la durata) e i comandi con argomento in PROTOCOL
La copia del bridge dentro l'app va tenuta allineata: contiene la correzione
del boost, dell'assenza, di ACS off e del riscaldamento forzato, che la
libreria accetta solo con un argomento. Il pacchetto Sailfish non cambia (il
bridge non entra nell'RPM), quindi non serve ricostruire l'RPM.
2026-10-11 11:49:39 +02:00
Carlo 92f179186a 0.6.8: icone dei tasti alla misura del tema (iconSizeExtraSmall), etichette che ci stanno
Le icone della 0.6.7 erano disegnate a piena misura e il pulsante Silica le
portava a Theme.iconSizeMedium (64 px, misurato sullo screenshot del telefono):
in un tasto largo un terzo di schermo restavano 41 px di testo e le etichette
uscivano tagliate. Ora il tasto dichiara icon.width/height:
Theme.iconSizeExtraSmall e i glifi riempiono il loro riquadro.

Con la geometria vera (tasto 161 px, rientri 16, distacco 24) le etichette
Assenza/Torna/Altro e Away/Home/More ci stanno con margine; "Comandi" (8
lettere) no: il tasto dice Altro, la pagina resta Comandi impianto.

Il pulsante Silica non espone il carattere, quindi il testo non si puo'
rimpicciolire: l'unica leva e' l'icona. Prova ripetibile con i numeri misurati
in docs/icona/tasti-alla-misura-vera.png.
2026-10-11 11:27:51 +02:00
kaneda a788255593 0.6.5: sulla copertina l'acqua si chiama Acqua calda come in Home; attuale piu' grande, obiettivo attaccato 2026-10-11 08:24:49 +02:00
kaneda c237818e3c 0.6.4: copertina con Casa e Acqua, attuale / impostata su due righe etichettate 2026-10-11 08:14:12 +02:00
kaneda 75c61cace2 0.6.0: copertina con pallino di stato, numeri vecchi spenti ed etichetta esterna; catalogo 191/191 2026-10-10 09:55:30 +02:00
kaneda 85702880d5 0.6.0 blocco 2: Comandi impianto con interruttori, diagnostica in Impianto
- CommandsPage: 4 interruttori (TextSwitch) al posto di 8 pulsanti in coppie
  accendi/spegni, piu' 3 pulsanti per le azioni senza stato. Gli interruttori
  seguono il dato vero (automaticCheck: false), non anticipano l'impianto, e
  la sezione 'Stato attuale' non serve piu'.
- La pagina si chiama 'Comandi impianto'.
- PlantPage: frase estesa dello stato, diagnostica (verifica impianto) e le
  letture che non avevano posto (pompa, modi consentiti, manuale, sbrinamento,
  luci di firma).
- SettingsPage: 'Salva' e 'Prova connessione' diventano 'Salva e prova'.
- ApiClient: dopo un comando riuscito lo stato si rilegge da solo (prima non
  si aggiornava nulla: l'aggiornamento automatico non esisteva).
- NoticeBar anche su Dati, Impianto e Comandi; via i messaggi dentro il
  contenuto che scorre.
2026-10-10 09:48:41 +02:00
kaneda d5b63b57df 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).
2026-10-10 09:47:16 +02:00
kaneda a48ec86822 documentazione 0.5.0: PROTOCOL (/stats, campi dispositivo), PIANO, conteggi dei test 2026-10-10 09:15:48 +02:00
kaneda 4f279a18b0 0.5.0: riordino come l'app ufficiale (home, Dati, Impianto)
- home: temperatura esterna e in casa/assente in alto, messaggio di stato,
  scheda impianto con temperatura stanza e acqua calda; comandi sotto
- pagina Dati: calore prodotto, elettricita' usata, COP acqua calda e
  riscaldamento, risparmio, CO2 evitata, Smart Tariff Control (mese per mese)
- pagina Impianto: stato, termostato a parete, versioni software, errori
- bridge 0.4.0: rotta /stats (servizio statistiche del cloud) e blocco
  dispositivo in /summary (ID breve, versioni, termostato)
- C++: parseStats, formatNumber, formatMoney, monthLabel (separatore e
  valuta secondo la lingua); 61/61 verifiche del nucleo
- anteprime aggiornate (dati, impianto) in inglese e italiano
2026-10-10 08:59:03 +02:00
Carlo fddd21e16a 0.4.0: interfaccia in italiano e inglese, scelta nelle impostazioni
L'inglese è la lingua sorgente delle stringhe; l'italiano sta nel catalogo
translations/harbour-aira-it.ts (99 stringhe), che lupdate aggiorna e lrelease
compila in build. Di serie la lingua del sistema, con ripiego sull'inglese.

- nuova classe Translator: risolve la lingua prima di createView e allinea
  QLocale::setDefault, così anche i numeri seguono la lingua (23,0 °C in
  italiano, 23.0 °C in inglese) — le temperature passano da formatValue, non
  più dal toFixed() di JavaScript che metteva sempre il punto
- Qt 5.6 non ha QQmlEngine::retranslate(): al cambio di lingua la radice QML
  viene ricaricata (setSource ricrea il componente anche a url invariata)
- le etichette di stato in airajson.cpp usano QCoreApplication::translate per
  esteso: lupdate non riconosce una funzione wrapper e le avrebbe perse
- selettore della lingua in Impostazioni (Sistema / English / Italiano)
- test: 41/41, carica il .qm vero come fa main.cpp e verifica entrambe le
  lingue, il ripiego e i formati numerici
- anteprime bilingui (docs/anteprima/ inglese, it/ italiano), README e PIANO
  aggiornati, spec RPM con i cataloghi in %files
2026-10-10 08:19:20 +02:00