0.6.1: la Home non si apriva (doppio Component.onCompleted); controllo automatico delle assegnazioni duplicate

This commit is contained in:
2026-10-10 12:22:15 +02:00
parent 70fe2299ba
commit 4050b3b5d7
8 changed files with 168 additions and 9 deletions
+13
View File
@@ -283,5 +283,18 @@ temperatura grande si spegne quando i numeri sono vecchi e l'etichetta finale è
diventata "esterna 18,0 °C" (era "est.", sigla che non diceva niente), con la
riga dei numeri vecchi al posto della temperatura esterna quando serve.
**Prima build sul telefono (0.6.0): la Home non si apriva.** Il log diceva
`harbour-aira.qml:9:30: Type MainPage unavailable`, cioè l'app si avviava senza
la pagina iniziale, e non nominava nessun file dei miei. Causa: due assegnazioni
di `Component.onCompleted` nello stesso oggetto (`MainPage.qml`), una vecchia e
una aggiunta con la riga di misura dell'altezza. In Qt 5.6 non è un warning
innocuo: la pagina non si crea più. Il codice è stato unito in una sola
assegnazione e, perché non ricapiti, `tests/qml_check_bindings.py` cerca le
assegnazioni duplicate in tutti i QML (verificato: intercetta il caso
`70fe229`, il codice attuale è pulito). Da questa prima esecuzione sappiamo
anche che il resto dell'avvio funziona: configurazione letta
(`baseUrl=[192.168.3.21:8790]`, token presente), catalogo italiano caricato
(`it_IT`), versione corretta in log.
- Nessun comando nuovo all'impianto: anche questa versione resta **sola
lettura** finché non si prova l'invio dal telefono.
+8
View File
@@ -10,6 +10,14 @@ Immagini di questo studio (schemi, non anteprime): `docs/ux/`.
## 0. Cosa è stato deciso e cosa è stato fatto (0.6.0)
**Prima build sul telefono:** la Home non si apriva — `Type MainPage unavailable`.
Causa: due assegnazioni di `Component.onCompleted` nello stesso oggetto, che in
Qt 5.6 impediscono la creazione della pagina. Corretto nella 0.6.1 e coperto da
`tests/qml_check_bindings.py`. Tutto il resto dell'avvio funziona (configurazione
letta, catalogo italiano caricato). Il primo giro sul device ha quindi già dato
la sua risposta più importante: la riga `harbour-aira home: contenuto … schermo …`
arriva nei log e si può leggere.
Le quattro scelte, applicate:
1. La frase di stato lunga sta nella pagina **Impianto**; in Home resta la riga