diff options
Diffstat (limited to 'src/settingsui')
-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 | ||||
-rw-r--r-- | src/settingsui/settingsuiplugin/SettingsHeader.qml | 26 |
4 files changed, 82 insertions, 7 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; } } diff --git a/src/settingsui/settingsuiplugin/SettingsHeader.qml b/src/settingsui/settingsuiplugin/SettingsHeader.qml index 9432789..37469e2 100644 --- a/src/settingsui/settingsuiplugin/SettingsHeader.qml +++ b/src/settingsui/settingsuiplugin/SettingsHeader.qml @@ -54,7 +54,7 @@ Item { break; } } - ipItem.text = qsTr("Device IP: ") + ipAddress; + ipItem.text = qsTr("Wired IP: ") + ipAddress; } Image { @@ -90,8 +90,8 @@ Item { Text { id: ipItem width: parent.width * 0.25 - height: parent.height - anchors.verticalCenter: settingsText.verticalCenter + height: parent.height/2 + anchors.top: settingsText.top anchors.right: parent.right anchors.rightMargin: pluginMain.margin horizontalAlignment: Text.AlignRight @@ -100,7 +100,7 @@ Item { color: "white" font.family: appFont font.styleName: "SemiBold" - text: qsTr("Device IP: ") + text: qsTr("Wired IP: ") MouseArea { anchors.fill: parent @@ -108,6 +108,24 @@ Item { } } + Text { + id: wifiIpItem + width: parent.width * 0.25 + height: parent.height/2 + anchors.top: ipItem.bottom + anchors.right: parent.right + anchors.rightMargin: pluginMain.margin + horizontalAlignment: Text.AlignRight + verticalAlignment: Text.AlignVCenter + font.pixelSize: parent.height * 0.3 + color: "white" + font.family: appFont + font.styleName: "SemiBold" + text: qsTr((NetworkSettingsManager.currentWifiConnection ? + "Wireless IP: " + + NetworkSettingsManager.currentWifiConnection.ipv4.address : "")) + } + Component.onCompleted: { var networkCount = NetworkSettingsManager.services.sourceModel.rowCount(); for (var i = 0; i < networkCount; ++i) { |