summaryrefslogtreecommitdiffstats
path: root/src/settingsui/network
diff options
context:
space:
mode:
authorVille Voutilainen <ville.voutilainen@qt.io>2018-04-26 11:57:16 +0300
committerVille Voutilainen <ville.voutilainen@qt.io>2018-04-27 09:51:53 +0000
commit2215248c450b6bd3f728e813f289f099d4301523 (patch)
treee68b66fa839ce3695b45fca3254e84076185ec1a /src/settingsui/network
parent518749701642b9d93773b5599e9a64ecbc640b9a (diff)
Add support for wi-fi networks with hidden SSID
Task-number: QTBUG-62661 Change-Id: I894f37d2ac397ca2a10db92b1daec9997a9733bb Reviewed-by: Teemu Holappa <teemu.holappa@qt.io>
Diffstat (limited to 'src/settingsui/network')
-rw-r--r--src/settingsui/network/NetworkListView.qml8
-rw-r--r--src/settingsui/network/NetworkSettings.qml21
-rw-r--r--src/settingsui/network/PassphraseEnter.qml34
3 files changed, 60 insertions, 3 deletions
diff --git a/src/settingsui/network/NetworkListView.qml b/src/settingsui/network/NetworkListView.qml
index cbad890..d18a793 100644
--- a/src/settingsui/network/NetworkListView.qml
+++ b/src/settingsui/network/NetworkListView.qml
@@ -37,8 +37,14 @@ ListView {
clip: true
property var connectingService: null
property bool retryConnectAfterIdle: false
+ function connectBySsid() {
+ passphraseEnter.showSsid = true
+ passphraseEnter.visible = true
+ }
- Component.onCompleted: NetworkSettingsManager.services.type = NetworkSettingsType.Unknown;
+ Component.onCompleted: {
+ NetworkSettingsManager.services.type = NetworkSettingsType.Unknown;
+ }
model: NetworkSettingsManager.services
delegate: Item {
diff --git a/src/settingsui/network/NetworkSettings.qml b/src/settingsui/network/NetworkSettings.qml
index c357671..58d51b7 100644
--- a/src/settingsui/network/NetworkSettings.qml
+++ b/src/settingsui/network/NetworkSettings.qml
@@ -30,6 +30,7 @@ import QtQuick 2.6
import QtQuick.Layouts 1.3
import QtQuick.Controls 2.2
import QtDeviceUtilities.NetworkSettings 1.0
+import QtDeviceUtilities.QtButtonImageProvider 1.0
import "../common"
Item {
@@ -84,6 +85,26 @@ Item {
running: false
}
}
+ QtButton {
+ id: manualConnect
+ visible: true
+ height: pluginMain.buttonHeight
+ text: qsTr("Connect manually")
+ onClicked: {
+ networkList.connectBySsid()
+ }
+ }
+ QtButton {
+ id: manualDisconnect
+ visible: true
+ height: pluginMain.buttonHeight
+ text: qsTr("Disconnect wireless")
+ onClicked: {
+ if (NetworkSettingsManager.currentWifiConnection) {
+ NetworkSettingsManager.currentWifiConnection.disconnectService();
+ }
+ }
+ }
}
Text {
diff --git a/src/settingsui/network/PassphraseEnter.qml b/src/settingsui/network/PassphraseEnter.qml
index 1881866..1ed8d92 100644
--- a/src/settingsui/network/PassphraseEnter.qml
+++ b/src/settingsui/network/PassphraseEnter.qml
@@ -38,6 +38,7 @@ Rectangle {
color: viewSettings.backgroundColor
opacity: 0.9
property string extraInfo: ""
+ property bool showSsid: false
Rectangle {
id: frame
@@ -54,6 +55,27 @@ Rectangle {
spacing: viewSettings.spacing
Text {
+ visible: showSsid
+ font.pixelSize: pluginMain.subTitleFontSize
+ font.family: appFont
+ color: "white"
+ text: qsTr("Enter SSID")
+ }
+
+ TextField {
+ id: ssidField
+ visible: showSsid
+ width: root.width * 0.4
+ height: root.height * 0.075
+ color: "white"
+ background: Rectangle{
+ color: "transparent"
+ border.color: ssidField.focus ? viewSettings.buttonGreenColor : viewSettings.buttonGrayColor
+ border.width: ssidField.focus ? width * 0.01 : 2
+ }
+ }
+
+ Text {
font.pixelSize: pluginMain.subTitleFontSize
font.family: appFont
color: "white"
@@ -87,7 +109,12 @@ Rectangle {
id: setButton
text: qsTr("SET")
onClicked: {
- NetworkSettingsManager.userAgent.setPassphrase(passField.text)
+ if (showSsid) {
+ NetworkSettingsManager.connectBySsid(ssidField.text, passField.text)
+ showSsid = false
+ } else {
+ NetworkSettingsManager.userAgent.setPassphrase(passField.text)
+ }
passphrasePopup.visible = false;
}
}
@@ -97,7 +124,10 @@ Rectangle {
borderColor: "transparent"
fillColor: viewSettings.buttonGrayColor
onClicked: {
- NetworkSettingsManager.userAgent.cancelInput()
+ if (!showSsid) {
+ NetworkSettingsManager.userAgent.cancelInput()
+ }
+ showSsid = false
passphrasePopup.visible = false;
}
}