diff options
author | Ville Voutilainen <ville.voutilainen@qt.io> | 2018-04-26 11:57:16 +0300 |
---|---|---|
committer | Ville Voutilainen <ville.voutilainen@qt.io> | 2018-04-27 09:51:53 +0000 |
commit | 2215248c450b6bd3f728e813f289f099d4301523 (patch) | |
tree | e68b66fa839ce3695b45fca3254e84076185ec1a /src/settingsui/network | |
parent | 518749701642b9d93773b5599e9a64ecbc640b9a (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.qml | 8 | ||||
-rw-r--r-- | src/settingsui/network/NetworkSettings.qml | 21 | ||||
-rw-r--r-- | src/settingsui/network/PassphraseEnter.qml | 34 |
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; } } |