fix preferenze non persistenti (pattern calibreweb): QSettings su AppConfigLocation esplicito + diagnostica avvio; org/app solo nel main
This commit is contained in:
@@ -9,12 +9,10 @@ Type=Application
|
|||||||
X-Nemo-Application-Type=silica-qt5
|
X-Nemo-Application-Type=silica-qt5
|
||||||
Categories=Utility;
|
Categories=Utility;
|
||||||
|
|
||||||
# Profilo SailJail esplicito: senza X-Sailjail la sandbox di Sailfish 5.1 usa
|
# Profilo SailJail esplicito: senza X-Sailjail la sandbox di Sailfish 5.1 usa il
|
||||||
# il profilo default, che nasconde ~/.config/harbour (config non persistente).
|
# profilo default, che nasconde ~/.config/harbour (config non persistente).
|
||||||
# Con OrganizationName/ApplicationName la sandbox rende persistente
|
# Org/App sono impostati a runtime dal main.cpp (setOrganizationName/
|
||||||
# ~/.config/harbour/tide/ (AppConfigLocation). Internet = geocoding
|
# setApplicationName): AppConfigLocation = ~/.config/harbour/tide (persistente).
|
||||||
# OpenStreetMap per la ricerca libera delle città.
|
# Internet = geocoding OpenStreetMap/Photon e stato del mare Open-Meteo.
|
||||||
[X-Sailjail]
|
[X-Sailjail]
|
||||||
Permissions=Internet
|
Permissions=Internet
|
||||||
OrganizationName=harbour
|
|
||||||
ApplicationName=tide
|
|
||||||
|
|||||||
+21
-1
@@ -1,9 +1,29 @@
|
|||||||
#include "settings.h"
|
#include "settings.h"
|
||||||
|
#include <QStandardPaths>
|
||||||
|
#include <QDir>
|
||||||
|
|
||||||
|
QString Settings::configPath()
|
||||||
|
{
|
||||||
|
// Path canonico per la sandbox SailJail (Sailfish 5.x): con org/app
|
||||||
|
// impostati (harbour/tide, vedi main.cpp) AppConfigLocation =
|
||||||
|
// ~/.config/harbour/tide, l'unica zona config che la sandbox rende
|
||||||
|
// PERSISTENTE tra gli avvii. Senza path esplicito QSettings scrive in
|
||||||
|
// una zona nascosta e le preferenze vanno perse.
|
||||||
|
const QString dir = QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation);
|
||||||
|
QDir().mkpath(dir);
|
||||||
|
return dir + QStringLiteral("/tide.conf");
|
||||||
|
}
|
||||||
|
|
||||||
Settings::Settings(QObject *parent)
|
Settings::Settings(QObject *parent)
|
||||||
: QObject(parent)
|
: QObject(parent)
|
||||||
, m_settings(QStringLiteral("harbour"), QStringLiteral("tide"))
|
, m_settings(configPath(), QSettings::IniFormat)
|
||||||
{
|
{
|
||||||
|
// diagnostica: path reale del file di configurazione e valori letti all'avvio
|
||||||
|
qDebug() << "Settings file:" << m_settings.fileName();
|
||||||
|
if (m_settings.status() != QSettings::NoError)
|
||||||
|
qDebug() << "Settings WARNING: file di configurazione non accessibile";
|
||||||
|
qDebug() << "Settings read: language=[" << language() << "] preferredPort=["
|
||||||
|
<< preferredPort() << "] unit=[" << unit() << "] days=" << days();
|
||||||
}
|
}
|
||||||
|
|
||||||
QString Settings::language() const
|
QString Settings::language() const
|
||||||
|
|||||||
@@ -51,6 +51,10 @@ signals:
|
|||||||
void daysChanged();
|
void daysChanged();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
// Path canonico (pattern calibreweb): senza path esplicito la sandbox
|
||||||
|
// SailJail non rende persistente la config (QSettings org/app scrive in
|
||||||
|
// una zona nascosta/effimera). AppConfigLocation = ~/.config/harbour/tide
|
||||||
|
static QString configPath();
|
||||||
QSettings m_settings;
|
QSettings m_settings;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user