summaryrefslogtreecommitdiffstats
path: root/src/settingsui/network/NetworkSettings.qml
diff options
context:
space:
mode:
authorSami Nurmenniemi <sami.nurmenniemi@qt.io>2017-10-31 13:46:40 +0200
committerSami Nurmenniemi <sami.nurmenniemi@qt.io>2017-11-22 10:41:58 +0000
commitd1fcfe58025603ae28e8fda31d96519a92cdb7dd (patch)
treeff1dc34b7a97fe5695e82504d7313678fad4c6d3 /src/settingsui/network/NetworkSettings.qml
parent50b66ec25694e30caa5fbc556bc172d6319522ba (diff)
Add Wi-Fi enable button to network settings
Task-number: QTBUG-64230 Change-Id: I2aad07fb98a45997b116fc9a06924ba8be3dff2a Reviewed-by: Kari Oikarinen <kari.oikarinen@qt.io> Reviewed-by: Teemu Holappa <teemu.holappa@qt.io>
Diffstat (limited to 'src/settingsui/network/NetworkSettings.qml')
-rw-r--r--src/settingsui/network/NetworkSettings.qml78
1 files changed, 72 insertions, 6 deletions
diff --git a/src/settingsui/network/NetworkSettings.qml b/src/settingsui/network/NetworkSettings.qml
index b3a6350..719ce77 100644
--- a/src/settingsui/network/NetworkSettings.qml
+++ b/src/settingsui/network/NetworkSettings.qml
@@ -30,13 +30,79 @@ import QtQuick 2.6
import QtQuick.Layouts 1.3
import QtQuick.Controls 2.2
import QtDeviceUtilities.NetworkSettings 1.0
+import QtDeviceUtilities.BluetoothSettings 1.0
+import "../common"
Item {
- NetworkListView {
- id: networkList
- anchors.top: parent.top
- anchors.left: parent.left
- anchors.right: parent.right
- anchors.bottom: parent.bottom
+ id: root
+ property string title: qsTr("Network Settings")
+
+ Column {
+ id: networkSettingsColumn
+ spacing: pluginMain.spacing
+ anchors.margins: viewSettings.pageMargin
+
+ Row {
+ spacing: root.width * 0.025
+ leftPadding: pluginMain.margin
+ Text {
+ text: qsTr("Wi-Fi")
+ anchors.verticalCenter: parent.verticalCenter
+ font.pixelSize: pluginMain.subTitleFontSize
+ font.family: appFont
+ color: "white"
+ }
+
+ CustomSwitch {
+ id: wifiSwitch
+ indicatorWidth: root.width * 0.15
+ indicatorHeight: root.height * 0.06
+ property bool wiFiAvailable: NetworkSettingsManager.interface(NetworkSettingsType.Wifi, 0) !== null
+ enabled: wiFiAvailable && !wifiSwitchTimer.running
+ onCheckedChanged: {
+ // Power on/off all WiFi interfaces
+ for (var i = 0; NetworkSettingsManager.interface(NetworkSettingsType.Wifi, i) !== null; i++) {
+ NetworkSettingsManager.interface(NetworkSettingsType.Wifi, i).powered = checked
+ wifiSwitchTimer.start()
+ }
+ }
+ Component.onCompleted: {
+ // If any of the WiFi interfaces is powered on, switch is checked
+ var checkedStatus = false;
+ for (var i = 0; NetworkSettingsManager.interface(NetworkSettingsType.Wifi, i) !== null; i++) {
+ if (NetworkSettingsManager.interface(NetworkSettingsType.Wifi, i).powered) {
+ checkedStatus = true;
+ break;
+ }
+ }
+ checked = checkedStatus;
+ }
+
+ // At least 1s between switching on/off
+ Timer {
+ id: wifiSwitchTimer
+ interval: 1000
+ running: false
+ }
+ }
+ }
+
+ Text {
+ text: qsTr("Network list:")
+ font.pixelSize: pluginMain.subTitleFontSize
+ font.family: appFont
+ font.styleName: "SemiBold"
+ color: "white"
+ }
+
+ Row {
+ id: listViewRow
+ leftPadding: pluginMain.margin
+ NetworkListView {
+ id: networkList
+ width: root.width - listViewRow.leftPadding
+ height: root.height - listViewRow.y - networkSettingsColumn.anchors.margins
+ }
+ }
}
}