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
47 lines
1.3 KiB
C++
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
|