From f5c69e3a56da437c967a7c1462758fc32f32d332 Mon Sep 17 00:00:00 2001 From: Tomaz Canabrava Date: Thu, 14 Jan 2016 11:55:31 -0200 Subject: Settings QObjectification: finish network preferences Signed-off-by: Tomaz Canabrava Signed-off-by: Dirk Hohndel --- .../subsurface-qt/SettingsObjectWrapper.cpp | 94 +++++++++++++++++++++- .../subsurface-qt/SettingsObjectWrapper.h | 11 +++ 2 files changed, 104 insertions(+), 1 deletion(-) (limited to 'subsurface-core') diff --git a/subsurface-core/subsurface-qt/SettingsObjectWrapper.cpp b/subsurface-core/subsurface-qt/SettingsObjectWrapper.cpp index 73137b8a8..ea91e4361 100644 --- a/subsurface-core/subsurface-qt/SettingsObjectWrapper.cpp +++ b/subsurface-core/subsurface-qt/SettingsObjectWrapper.cpp @@ -548,4 +548,96 @@ void GeocodingPreferences::setThirdTaxonomyCategory(taxonomy_category value) s.setValue("cat2", value); prefs.show_average_depth = value; emit thirdTaxonomyCategoryChanged(value); -} \ No newline at end of file +} + +ProxySettings::ProxySettings(QObject *parent) : + group(QStringLiteral("Network")) +{ +} + +int ProxySettings::type() const +{ + return prefs.proxy_type; +} + +QString ProxySettings::host() const +{ + return prefs.proxy_host; +} + +int ProxySettings::port() const +{ + return prefs.proxy_port; +} + +short ProxySettings::auth() const +{ + return prefs.proxy_auth; +} + +QString ProxySettings::user() const +{ + return prefs.proxy_user; +} + +QString ProxySettings::pass() const +{ + return prefs.proxy_pass; +} + +void ProxySettings::setType(int value) +{ + QSettings s; + s.beginGroup(group); + s.setValue("proxy_type", value); + prefs.proxy_type = value; + emit typeChanged(value); +} + +void ProxySettings::setHost(const QString& value) +{ + QSettings s; + s.beginGroup(group); + s.setValue("proxy_host", value); + free(prefs.proxy_host); + prefs.proxy_host = copy_string(qPrintable(value));; + emit hostChanged(value); +} + +void ProxySettings::setPort(int value) +{ + QSettings s; + s.beginGroup(group); + s.setValue("proxy_port", value); + prefs.proxy_port = value; + emit portChanged(value); +} + +void ProxySettings::setAuth(short value) +{ + QSettings s; + s.beginGroup(group); + s.setValue("proxy_auth", value); + prefs.proxy_auth = value; + emit authChanged(value); +} + +void ProxySettings::setUser(const QString& value) +{ + QSettings s; + s.beginGroup(group); + s.setValue("proxy_user", value); + free(prefs.proxy_user); + prefs.proxy_user = copy_string(qPrintable(value)); + emit userChanged(value); +} + +void ProxySettings::setPass(const QString& value) +{ + QSettings s; + s.beginGroup(group); + s.setValue("proxy_pass", value); + free(prefs.proxy_pass); + prefs.proxy_pass = copy_string(qPrintable(value)); + emit passChanged(value); +} diff --git a/subsurface-core/subsurface-qt/SettingsObjectWrapper.h b/subsurface-core/subsurface-qt/SettingsObjectWrapper.h index 6098b0df7..0a2da44d1 100644 --- a/subsurface-core/subsurface-qt/SettingsObjectWrapper.h +++ b/subsurface-core/subsurface-qt/SettingsObjectWrapper.h @@ -218,6 +218,7 @@ class ProxySettings : public QObject { Q_PROPERTY(short auth READ auth WRITE setAuth NOTIFY authChanged) Q_PROPERTY(QString user READ user WRITE setUser NOTIFY userChanged) Q_PROPERTY(QString pass READ pass WRITE setPass NOTIFY passChanged) + public: ProxySettings(QObject *parent); int type() const; @@ -234,6 +235,16 @@ public slots: void setAuth(short value); void setUser(const QString& value); void setPass(const QString& value); + +signals: + void typeChanged(int value); + void hostChanged(const QString& value); + void portChanged(int value); + void authChanged(short value); + void userChanged(const QString& value); + void passChanged(const QString& value); +private: + QString group; }; class CloudStorageSettings : public QObject { -- cgit v1.2.3-70-g09d2