summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVille Voutilainen <ville.voutilainen@qt.io>2018-03-27 17:56:25 +0300
committerVille Voutilainen <ville.voutilainen@qt.io>2018-03-28 11:40:42 +0000
commit518749701642b9d93773b5599e9a64ecbc640b9a (patch)
tree35e8e75f493f1be0e217a25a48216cd070233902
parent796fff1debaa161483515779bb68999948d48c59 (diff)
Forward-port the improvement in passphrase error handling
Task-number: QTBUG-66280 Change-Id: I1c26e19907be99119bf9409c7269471c15b57bf8 Reviewed-by: Teemu Holappa <teemu.holappa@qt.io>
-rw-r--r--src/networksettings/connman/qnetworksettingsservice_p.cpp6
-rw-r--r--src/networksettings/connman/qnetworksettingsservice_p.h1
-rw-r--r--src/networksettings/qnetworksettingsservice.cpp11
-rw-r--r--src/networksettings/qnetworksettingsservice.h1
-rw-r--r--src/settingsui/network/WifiSettings.qml6
5 files changed, 25 insertions, 0 deletions
diff --git a/src/networksettings/connman/qnetworksettingsservice_p.cpp b/src/networksettings/connman/qnetworksettingsservice_p.cpp
index f7e6ef1..3912ec2 100644
--- a/src/networksettings/connman/qnetworksettingsservice_p.cpp
+++ b/src/networksettings/connman/qnetworksettingsservice_p.cpp
@@ -326,6 +326,12 @@ void QNetworkSettingsServicePrivate::disconnectService()
}
+void QNetworkSettingsServicePrivate::removeService()
+{
+ if (m_service)
+ m_service->Remove();
+}
+
void QNetworkSettingsServicePrivate::setPlaceholderState(bool placeholderState)
{
m_placeholderState = placeholderState;
diff --git a/src/networksettings/connman/qnetworksettingsservice_p.h b/src/networksettings/connman/qnetworksettingsservice_p.h
index 2e12179..362aea4 100644
--- a/src/networksettings/connman/qnetworksettingsservice_p.h
+++ b/src/networksettings/connman/qnetworksettingsservice_p.h
@@ -76,6 +76,7 @@ protected:
void setupQNetworkSettingsProxy();
void connectService();
void disconnectService();
+ void removeService();
void setPlaceholderState(bool placeholderState);
bool placeholderState() const;
diff --git a/src/networksettings/qnetworksettingsservice.cpp b/src/networksettings/qnetworksettingsservice.cpp
index 39ad53d..0c142b2 100644
--- a/src/networksettings/qnetworksettingsservice.cpp
+++ b/src/networksettings/qnetworksettingsservice.cpp
@@ -338,4 +338,15 @@ void QNetworkSettingsService::disconnectService()
d->disconnectService();
}
+/*!
+ \qmlmethod void NetworkService::removeService()
+ \brief Removes this service from the service cache and clears
+ any remembered credentials.
+*/
+void QNetworkSettingsService::removeService()
+{
+ Q_D(QNetworkSettingsService);
+ d->removeService();
+}
+
QT_END_NAMESPACE
diff --git a/src/networksettings/qnetworksettingsservice.h b/src/networksettings/qnetworksettingsservice.h
index be24a5c..4f3ad00 100644
--- a/src/networksettings/qnetworksettingsservice.h
+++ b/src/networksettings/qnetworksettingsservice.h
@@ -75,6 +75,7 @@ public:
//Wireless config
Q_INVOKABLE void connectService();
Q_INVOKABLE void disconnectService();
+ Q_INVOKABLE void removeService();
Q_SIGNALS:
void nameChanged();
void stateChanged();
diff --git a/src/settingsui/network/WifiSettings.qml b/src/settingsui/network/WifiSettings.qml
index b7779bd..8bb8ee2 100644
--- a/src/settingsui/network/WifiSettings.qml
+++ b/src/settingsui/network/WifiSettings.qml
@@ -197,6 +197,9 @@ Item {
onClicked: {
connectView.visible = false
NetworkSettingsManager.userAgent.setPassphrase(passphrase.text)
+ if (networkSelection.currentIndex != -1) {
+ NetworkSettingsManager.services.itemFromRow(networkSelection.currentIndex).connectService();
+ }
}
}
Button {
@@ -238,6 +241,9 @@ Item {
errorView.visible = true
connectView.visible = true
root.connecting = false
+ if (networkSelection.currentIndex != -1) {
+ NetworkSettingsManager.services.itemFromRow(networkSelection.currentIndex).removeService();
+ }
}
}
}