From dd5d35c43995558a633166bb4e0f56ce5627914f Mon Sep 17 00:00:00 2001 From: Carlo Baratto Date: Wed, 12 Aug 2026 11:19:20 +0200 Subject: [PATCH] =?UTF-8?q?baseUrl=20come=20Q=5FPROPERTY=20(accesso=20prop?= =?UTF-8?q?riet=C3=A0,=20niente=20Q=5FINVOKABLE)=20+=20log=20data=20di=20b?= =?UTF-8?q?uild=20in=20avvio?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- qml/pages/BookDetailPage.qml | 2 +- qml/pages/MainPage.qml | 2 +- qml/pages/SearchPage.qml | 2 +- src/main.cpp | 3 +++ src/settings.cpp | 1 + src/settings.h | 7 +++++-- 6 files changed, 12 insertions(+), 5 deletions(-) diff --git a/qml/pages/BookDetailPage.qml b/qml/pages/BookDetailPage.qml index d4afbe3..23cf451 100644 --- a/qml/pages/BookDetailPage.qml +++ b/qml/pages/BookDetailPage.qml @@ -120,7 +120,7 @@ Page { function resolveUrl(u) { if (u.indexOf("http://") === 0 || u.indexOf("https://") === 0) return u - var base = appSettings.baseUrl() + var base = appSettings.baseUrl return base + (u.charAt(0) === "/" ? u : "/" + u) } diff --git a/qml/pages/MainPage.qml b/qml/pages/MainPage.qml index a6e00c5..5d2fa94 100644 --- a/qml/pages/MainPage.qml +++ b/qml/pages/MainPage.qml @@ -72,7 +72,7 @@ Page { } function loadIndex() { - var base = appSettings.baseUrl() + var base = appSettings.baseUrl if (base.length === 0) { page.errorMessage = "Server non configurato" return diff --git a/qml/pages/SearchPage.qml b/qml/pages/SearchPage.qml index 93ce63c..b3470b0 100644 --- a/qml/pages/SearchPage.qml +++ b/qml/pages/SearchPage.qml @@ -41,7 +41,7 @@ Page { } function search() { - var base = appSettings.baseUrl() + var base = appSettings.baseUrl var query = searchField.text.trim() if (base.length === 0 || query.length === 0) return diff --git a/src/main.cpp b/src/main.cpp index ae67fd4..25c9d3d 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,3 +1,4 @@ +#include #include #include #include @@ -12,6 +13,8 @@ Q_DECL_EXPORT int main(int argc, char *argv[]) QGuiApplication *app = SailfishApp::application(argc, argv); QQuickView *view = SailfishApp::createView(); + qDebug() << "harbour-calibreweb v0.1.0 build" << __DATE__ << __TIME__; + Settings settings; ApiClient apiClient(&settings); Downloader downloader(&settings); diff --git a/src/settings.cpp b/src/settings.cpp index 097a03f..37c1c45 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -20,6 +20,7 @@ void Settings::setServerUrl(const QString &value) return; m_settings.setValue(QStringLiteral("serverUrl"), value); emit serverUrlChanged(); + emit baseUrlChanged(); } QString Settings::username() const diff --git a/src/settings.h b/src/settings.h index 6e22a71..a8fbc2a 100644 --- a/src/settings.h +++ b/src/settings.h @@ -13,6 +13,8 @@ class Settings : public QObject Q_PROPERTY(QString password READ password WRITE setPassword NOTIFY passwordChanged) Q_PROPERTY(bool ignoreSslErrors READ ignoreSslErrors WRITE setIgnoreSslErrors NOTIFY ignoreSslErrorsChanged) Q_PROPERTY(QString downloadDir READ downloadDir CONSTANT) + // derivata da serverUrl (senza slash finale): accesso QML come appSettings.baseUrl + Q_PROPERTY(QString baseUrl READ baseUrl NOTIFY baseUrlChanged) public: explicit Settings(QObject *parent = 0); @@ -34,14 +36,15 @@ public: // Header "Authorization: Basic ..." pronto da usare, vuoto se utente non impostato QString authHeader() const; - // URL del server senza slash finale (usabile da QML come appSettings.baseUrl()) - Q_INVOKABLE QString baseUrl() const; + // URL del server senza slash finale + QString baseUrl() const; signals: void serverUrlChanged(); void usernameChanged(); void passwordChanged(); void ignoreSslErrorsChanged(); + void baseUrlChanged(); private: QSettings m_settings;