summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKari Hormi <kari.hormi@qt.io>2019-06-20 12:47:35 +0300
committerKari Hormi <kari.hormi@qt.io>2019-06-20 13:48:00 +0300
commit5afba8ed9e97a613b170aee9cd8e6499282b8d4a (patch)
treec4d0903083db633bfaedffa25fb241291fd414a4
parentde5d369c83df0f1de551d7766164c4c81e4b2a70 (diff)
Implement network auto connection property
Task-number: QTBUG-76537 Change-Id: I9388854a65706c643de2f184e6e680458af7bc1e Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
-rw-r--r--src/networksettings/connman/qnetworksettingsservice_p.cpp11
-rw-r--r--src/networksettings/connman/qnetworksettingsservice_p.h1
-rw-r--r--src/networksettings/qnetworksettingsservice.cpp25
-rw-r--r--src/networksettings/qnetworksettingsservice.h5
4 files changed, 33 insertions, 9 deletions
diff --git a/src/networksettings/connman/qnetworksettingsservice_p.cpp b/src/networksettings/connman/qnetworksettingsservice_p.cpp
index f1073e7..2523e81 100644
--- a/src/networksettings/connman/qnetworksettingsservice_p.cpp
+++ b/src/networksettings/connman/qnetworksettingsservice_p.cpp
@@ -262,8 +262,15 @@ QNetworkSettingsServicePrivate::QNetworkSettingsServicePrivate(const QString& id
void QNetworkSettingsServicePrivate::setAutoConnect(bool autoconnect)
{
- if (m_service)
+ if (m_service) {
m_service->SetProperty(PropertyAutoConnect, QDBusVariant(QVariant(autoconnect)));
+ m_autoConnect = autoconnect;
+ }
+}
+
+bool QNetworkSettingsServicePrivate::autoConnect() const
+{
+ return m_autoConnect;
}
void QNetworkSettingsServicePrivate::setupIpv6Config()
@@ -448,7 +455,7 @@ void QNetworkSettingsServicePrivate::updateProperty(const QString& key, const QV
}
else if (key == PropertyAutoConnect) {
m_autoConnect = qdbus_cast<bool>(val);
- //TODO: create appropriate signals for when the property has changed
+ emit q->autoConnectChanged();
}
}
diff --git a/src/networksettings/connman/qnetworksettingsservice_p.h b/src/networksettings/connman/qnetworksettingsservice_p.h
index c62bcf2..9190e2d 100644
--- a/src/networksettings/connman/qnetworksettingsservice_p.h
+++ b/src/networksettings/connman/qnetworksettingsservice_p.h
@@ -69,6 +69,7 @@ private:
protected:
void setAutoConnect(bool autoconnect);
+ bool autoConnect() const;
void setupIpv4Config();
void setupIpv6Config();
void setupNameserversConfig();
diff --git a/src/networksettings/qnetworksettingsservice.cpp b/src/networksettings/qnetworksettingsservice.cpp
index 3bd1c26..fd21140 100644
--- a/src/networksettings/qnetworksettingsservice.cpp
+++ b/src/networksettings/qnetworksettingsservice.cpp
@@ -113,6 +113,15 @@ QT_BEGIN_NAMESPACE
*/
/*!
+ \property QNetworkSettingsService::autoConnect
+ \readwrite
+ \brief Holds autoconnect property for this service.
+
+ Autoconnect property determines whether the service connects automatically
+ when it is available.
+*/
+
+/*!
\fn QNetworkSettingsService::connectionStateCleared()
This signal is emitted when the connection state is cleared.
@@ -187,12 +196,7 @@ QString QNetworkSettingsService::name() const
}
/*!
- \qmlmethod void NetworkService::setAutoConnect(bool auto)
-*/
-
-/*!
- Sets automatic connections to the network service to
- \a autoconnect.
+ Sets automatic connections to the network service to \a autoconnect.
*/
void QNetworkSettingsService::setAutoConnect(const bool autoconnect)
{
@@ -201,6 +205,15 @@ void QNetworkSettingsService::setAutoConnect(const bool autoconnect)
}
/*!
+ Return automatic connection status of the network service.
+*/
+bool QNetworkSettingsService::autoConnect() const
+{
+ Q_D(const QNetworkSettingsService);
+ return d->autoConnect();
+}
+
+/*!
\qmlproperty enumeration NetworkService::state
\readonly
\brief Holds the state of this service.
diff --git a/src/networksettings/qnetworksettingsservice.h b/src/networksettings/qnetworksettingsservice.h
index 6f5a87e..dd9d52a 100644
--- a/src/networksettings/qnetworksettingsservice.h
+++ b/src/networksettings/qnetworksettingsservice.h
@@ -50,6 +50,7 @@ class Q_DECL_EXPORT QNetworkSettingsService : public QObject
Q_PROPERTY(QNetworkSettingsWireless* wirelessConfig READ wirelessConfig NOTIFY wirelessChanged)
Q_PROPERTY(QAbstractItemModel* domains READ domains NOTIFY domainsChanged)
Q_PROPERTY(QAbstractItemModel* nameservers READ nameservers NOTIFY nameserversChanged)
+ Q_PROPERTY(bool autoConnect READ autoConnect WRITE setAutoConnect NOTIFY autoConnectChanged)
public:
explicit QNetworkSettingsService(const QString& aServiceId, QObject* parent = Q_NULLPTR);
@@ -66,7 +67,8 @@ public:
void setPlaceholderState(bool placeholderState);
bool placeholderState() const;
- Q_INVOKABLE void setAutoConnect(const bool autoconnect);
+ Q_INVOKABLE void setAutoConnect(bool autoconnect);
+ Q_INVOKABLE bool autoConnect() const;
Q_INVOKABLE void setupIpv4Config();
Q_INVOKABLE void setupIpv6Config();
Q_INVOKABLE void setupNameserversConfig();
@@ -78,6 +80,7 @@ public:
Q_INVOKABLE void disconnectService();
Q_INVOKABLE void removeService();
Q_SIGNALS:
+ void autoConnectChanged();
void nameChanged();
void stateChanged();
void typeChanged();