summaryrefslogtreecommitdiffstats
path: root/src/settingsui/network/WifiSettings.qml
diff options
context:
space:
mode:
Diffstat (limited to 'src/settingsui/network/WifiSettings.qml')
-rw-r--r--src/settingsui/network/WifiSettings.qml334
1 files changed, 176 insertions, 158 deletions
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
+ }
}
}
}