summaryrefslogtreecommitdiffstats
path: root/src/settingsui/network
diff options
context:
space:
mode:
authorTeemu Holappa <teemu.holappa@qt.io>2016-10-12 10:17:34 +0300
committerTeemu Holappa <teemu.holappa@qt.io>2016-11-04 11:26:54 +0000
commite6475dfe5a4209ad6142c2400dec6b9fc4ef5f07 (patch)
treee54a446420c01aa62dcd647854aa9402f7f687de /src/settingsui/network
parent52aa422d12aad5603891d8296e3a41ca2cb63fc9 (diff)
Fix Wifi utils connection view
Fixed the access point selection combobox to show the connected service properly. Fixed layout problems when Virtual Keyboard is active. Change-Id: Id1b05c4e12655eb93df91a78b979ad8fcf3361f5 Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
Diffstat (limited to 'src/settingsui/network')
-rw-r--r--src/settingsui/network/ComboBoxEntry.qml4
-rw-r--r--src/settingsui/network/NetworkSettings.qml6
-rw-r--r--src/settingsui/network/WifiSettings.qml334
3 files changed, 184 insertions, 160 deletions
diff --git a/src/settingsui/network/ComboBoxEntry.qml b/src/settingsui/network/ComboBoxEntry.qml
index 71b997c..91655ed 100644
--- a/src/settingsui/network/ComboBoxEntry.qml
+++ b/src/settingsui/network/ComboBoxEntry.qml
@@ -42,6 +42,8 @@ RowLayout {
property alias model: cb.model
property alias count: cb.count
property int titleWidth: -1
+ signal activated(var index)
+ signal highlighted(var index)
Label {
id: label
@@ -53,5 +55,7 @@ RowLayout {
id: cb
textRole: "text"
Layout.fillWidth: true
+ onActivated: root.activated(index)
+ onHighlightedIndexChanged: root.highlighted(index)
}
}
diff --git a/src/settingsui/network/NetworkSettings.qml b/src/settingsui/network/NetworkSettings.qml
index 52ab1af..9385ee1 100644
--- a/src/settingsui/network/NetworkSettings.qml
+++ b/src/settingsui/network/NetworkSettings.qml
@@ -33,13 +33,15 @@ import QtDeviceUtilities.NetworkSettings 1.0
Item {
property string title: qsTr("Network Settings")
+
GroupBox {
id: networkSelect
anchors.rightMargin: parent.width * 0.618
+ anchors.left: parent.left
anchors.leftMargin: 20
+ anchors.top: parent.top
anchors.topMargin: 20
- anchors.bottomMargin: 20
- anchors.fill: parent
+
title: qsTr("Select Connection")
function stateToStr(serviceState) {
diff --git a/src/settingsui/network/WifiSettings.qml b/src/settingsui/network/WifiSettings.qml
index 7a0735c..f7cf823 100644
--- a/src/settingsui/network/WifiSettings.qml
+++ b/src/settingsui/network/WifiSettings.qml
@@ -37,201 +37,219 @@ Item {
Component.onCompleted: NetworkSettingsManager.services.type = NetworkSettingsType.Wifi;
property bool connecting: false
- GroupBox {
- id: content
- title: qsTr("Wireless Settings")
+ Flickable {
anchors.fill: parent
+ contentHeight: content.height
+ contentWidth: width
- ColumnLayout {
- spacing: 20
+ GroupBox {
+ title: qsTr("Wireless Settings")
width: parent.width
- RowLayout {
- spacing: 10
- id: enableSwitch
+ ColumnLayout {
+ id: content
+ spacing: 20
width: parent.width
- Label {
- Layout.preferredWidth: root.width * 0.382
- Layout.alignment: Qt.AlignVCenter
- horizontalAlignment: Text.AlignRight
- text: selectedInterface.powered ? qsTr("Wi-Fi ON") : qsTr("Wi-Fi OFF")
- }
- Switch {
- checked: selectedInterface.powered
- onCheckedChanged: {
- selectedInterface.powered = checked
- root.connecting = false
- connectView.visible = false
- }
- }
- }
- RowLayout {
- spacing: 10
- width: parent.width
-
- visible: selectedInterface.powered && networkSelection.count > 0
- Label {
- Layout.preferredWidth: root.width * 0.382
- text: qsTr("Current network")
- horizontalAlignment: Text.AlignRight
- Layout.alignment: Qt.AlignVCenter
-
- }
- ComboBoxEntry {
- id: networkSelection
- model: NetworkSettingsManager.services
-
- textRole: "name"
- Layout.fillWidth: true
- onCurrentIndexChanged: {
- if (currentIndex >= 0) {
- connectView.visible = false
+ RowLayout {
+ spacing: 10
+ id: enableSwitch
+ width: parent.width
- var service = model.itemFromRow(currentIndex)
- if (service) {
- root.connecting = true
- service.connectService();
- }
- }
+ Label {
+ Layout.preferredWidth: root.width * 0.382
+ Layout.alignment: Qt.AlignVCenter
+ horizontalAlignment: Text.AlignRight
+ text: selectedInterface.powered ? qsTr("Wi-Fi ON") : qsTr("Wi-Fi OFF")
}
-
- onCountChanged: {
- if (count === 0) {
+ Switch {
+ checked: selectedInterface.powered
+ onCheckedChanged: {
+ selectedInterface.powered = checked
root.connecting = false
connectView.visible = false
}
}
+ }
+ RowLayout {
+ spacing: 10
+ width: parent.width
+
+ visible: selectedInterface.powered && networkSelection.count > 0
+ Label {
+ Layout.preferredWidth: root.width * 0.382
+ text: qsTr("Current network")
+ horizontalAlignment: Text.AlignRight
+ Layout.alignment: Qt.AlignVCenter
- delegate: WifiSelectorDelegate {
- width: networkSelection.width
- onConnectChanged: if (connect) networkSelection.currentIndex = index
}
- }
- }
+ ComboBoxEntry {
+ id: networkSelection
+ model: NetworkSettingsManager.services
- Row {
- id: infoRow
- spacing: 10
- width: parent.width
- visible: selectedInterface.powered && selectedInterface.state !== NetworkSettingsState.Online && (networkSelection.count == 0 || root.connecting)
- Label {
- id: scanningText
- text: root.connecting ? qsTr("Connecting to the network...") : qsTr("Searching for Wi-Fi networks...")
- horizontalAlignment: Text.AlignLeft
- }
- WifiSignalMonitor {
- id: scanningIcon
- scanning: true
- height: scanningText.height
- width: height
- }
- }
+ textRole: "name"
+ Layout.fillWidth: true
+ onActivated: {
+ if (index >= 0) {
+ connectView.visible = false
- GroupBox {
- id: connectView
- title: qsTr("Enter a password")
- visible: false
- Layout.fillWidth: true
- ColumnLayout {
- width: parent.width
+ var service = model.itemFromRow(index)
+ if (service) {
+ root.connecting = true
+ service.connectService();
+ }
+ }
+ }
- RowLayout {
- id: errorView
- visible: text.text !== ""
- spacing: 10
- property alias text: text.text
+ onCountChanged: {
+ if (count === 0) {
+ root.connecting = false
+ connectView.visible = false
+ }
+ }
- Image {
- source: "../icons/Alert_yellow_1x.png"
- Layout.alignment: Qt.AlignVCenter
+ Component.onCompleted: {
+ networkSelection.currentIndex = model.activeRow()
}
- Text {
- id: text
- color: "#face20"
- text: ""
- Layout.alignment: Qt.AlignVCenter
+
+ delegate: WifiSelectorDelegate {
+ width: networkSelection.width
+ onConnectChanged: if (connect) networkSelection.currentIndex = index
}
}
- RowLayout {
- spacing: 10
- visible: false
- width: parent.width
+ }
- Label {
- text: qsTr("User name:")
- horizontalAlignment: Text.AlignRight
- Layout.preferredWidth: root.width * 0.382
- Layout.alignment: Qt.AlignVCenter
- }
- TextField {
- text: ""
- inputMethodHints: Qt.ImhNoPredictiveText
- Layout.alignment: Qt.AlignVCenter
- Layout.fillWidth: true
+ Row {
+ id: infoRow
+ spacing: 10
+ width: parent.width
+ visible: selectedInterface.powered && selectedInterface.state !== NetworkSettingsState.Online
+ Label {
+ id: scanningText
+ text: {
+ if (networkSelection.count == 0)
+ return qsTr("Searching for Wi-Fi networks...")
+ else if (root.connecting)
+ return qsTr("Connecting to the network...")
+ else
+ return ""
}
+ horizontalAlignment: Text.AlignLeft
+ }
+ WifiSignalMonitor {
+ id: scanningIcon
+ scanning: true
+ visible: scanningText.text !== ""
+ height: scanningText.height
+ width: height
}
- RowLayout {
- spacing: 10
+ }
+
+ GroupBox {
+ id: connectView
+ title: qsTr("Enter a password")
+ visible: false
+ Layout.fillWidth: true
+ ColumnLayout {
width: parent.width
- Label {
- text: qsTr("Password:")
- horizontalAlignment: Text.AlignRight
- Layout.preferredWidth: root.width * 0.382
- Layout.alignment: Qt.AlignVCenter
+ RowLayout {
+ id: errorView
+ visible: text.text !== ""
+ spacing: 10
+ property alias text: text.text
+
+ Image {
+ source: "../icons/Alert_yellow_1x.png"
+ Layout.alignment: Qt.AlignVCenter
+ }
+ Text {
+ id: text
+ color: "#face20"
+ text: ""
+ Layout.alignment: Qt.AlignVCenter
+ }
}
- TextField {
- id: password
- text: ""
- echoMode: TextInput.Password
- inputMethodHints: Qt.ImhNoPredictiveText | Qt.ImhNoAutoUppercase | Qt.ImhPreferLowercase | Qt.ImhSensitiveData
- Layout.alignment: Qt.AlignVCenter
- Layout.fillWidth: true
+ RowLayout {
+ spacing: 10
+ visible: false
+ width: parent.width
+
+ Label {
+ text: qsTr("User name:")
+ horizontalAlignment: Text.AlignRight
+ Layout.preferredWidth: root.width * 0.382
+ Layout.alignment: Qt.AlignVCenter
+ }
+ TextField {
+ text: ""
+ inputMethodHints: Qt.ImhNoPredictiveText
+ Layout.alignment: Qt.AlignVCenter
+ Layout.fillWidth: true
+ }
}
- }
- RowLayout {
- spacing: 10
+ RowLayout {
+ spacing: 10
+ width: parent.width
- Button {
- text: qsTr("Connect")
- onClicked: {
- connectView.visible = false
- NetworkSettingsManager.userAgent.setUserCredentials("", password.text)
+ Label {
+ text: qsTr("Password:")
+ horizontalAlignment: Text.AlignRight
+ Layout.preferredWidth: root.width * 0.382
+ Layout.alignment: Qt.AlignVCenter
+ }
+ TextField {
+ id: password
+ text: ""
+ echoMode: TextInput.Password
+ inputMethodHints: Qt.ImhNoPredictiveText | Qt.ImhNoAutoUppercase | Qt.ImhPreferLowercase | Qt.ImhSensitiveData
+ Layout.alignment: Qt.AlignVCenter
+ Layout.fillWidth: true
}
}
- Button {
- text: qsTr("Cancel")
- onClicked: {
- networkSelection.currentIndex = -1
- connectView.visible = false
+ RowLayout {
+ spacing: 10
+
+ Button {
+ text: qsTr("Connect")
+ onClicked: {
+ connectView.visible = false
+ NetworkSettingsManager.userAgent.setUserCredentials("", password.text)
+ }
+ }
+ Button {
+ text: qsTr("Cancel")
+ onClicked: {
+ networkSelection.currentIndex = -1
+ connectView.visible = false
+ }
}
}
}
}
- }
- Button {
- id: disconnect
- text: qsTr("Disconnect")
- visible: selectedInterface.state === NetworkSettingsState.Online ||
- selectedInterface.state === NetworkSettingsState.Ready
- onClicked: {
- console.log("disconnect");
- NetworkSettingsManager.services.itemFromRow(networkSelection.selectedIndex).disconnectService();
- networkSelection.selectedIndex = -1;
+ Button {
+ id: disconnect
+ text: qsTr("Disconnect")
+ visible: selectedInterface.state === NetworkSettingsState.Online ||
+ selectedInterface.state === NetworkSettingsState.Ready
+ onClicked: {
+ NetworkSettingsManager.services.itemFromRow(networkSelection.currentIndex).disconnectService();
+ networkSelection.currentIndex = -1;
+ root.connecting = false
+ }
}
}
- }
- Connections {
- target: NetworkSettingsManager.userAgent
- onShowUserCredentialsInput : {
- connectView.visible = true
- root.connecting = false
- }
- onError: {
- errorView.visible = true
- connectView.visible = true
- root.connecting = false
+ Connections {
+ target: NetworkSettingsManager.userAgent
+ onShowUserCredentialsInput : {
+ connectView.visible = true
+ root.connecting = false
+ }
+ onError: {
+ errorView.visible = true
+ connectView.visible = true
+ root.connecting = false
+ }
}
}
}