Files
harbour-aira/src/settings.h
T
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

47 lines
1.3 KiB
C++

#ifndef SETTINGS_H
#define SETTINGS_H
#include <QObject>
#include <QSettings>
// Preferenze di harbour-aira, persistite in AppConfigLocation
// (~/.config/harbour/aira/aira.conf) perche' la sandbox SailJail rende
// persistente SOLO quella zona: con QSettings org/app le impostazioni
// sparivano quando l'app veniva avviata dal launcher.
//
// baseUrl indirizzo del bridge, es. "192.168.2.50:8790" (schema opzionale)
// token token del bridge (Authorization: Bearer ***)
// language lingua dell'interfaccia: "" = lingua del sistema (ripiego
// sull'inglese), "it" = italiano.
class Settings : public QObject
{
Q_OBJECT
Q_PROPERTY(QString baseUrl READ baseUrl WRITE setBaseUrl NOTIFY baseUrlChanged)
Q_PROPERTY(QString token READ token WRITE setToken NOTIFY tokenChanged)
Q_PROPERTY(QString language READ language WRITE setLanguage NOTIFY languageChanged)
public:
explicit Settings(QObject *parent = 0);
QString baseUrl() const;
void setBaseUrl(const QString &value);
QString token() const;
void setToken(const QString &value);
QString language() const;
void setLanguage(const QString &value);
signals:
void baseUrlChanged();
void tokenChanged();
void languageChanged();
private:
static QString configPath();
QSettings m_settings;
};
#endif // SETTINGS_H