summaryrefslogtreecommitdiffstats
path: root/src/settingsui
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
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')
-rw-r--r--src/settingsui/bluetooth/Bluetooth.qml1
-rw-r--r--src/settingsui/common/CustomSwitch.qml (renamed from src/settingsui/bluetooth/CustomSwitch.qml)0
-rw-r--r--src/settingsui/network/NetworkSettings.qml78
-rw-r--r--src/settingsui/settingsuiapp.qrc2
-rw-r--r--src/settingsui/settingsuiplugin/plugin.qrc2
5 files changed, 75 insertions, 8 deletions
diff --git a/src/settingsui/bluetooth/Bluetooth.qml b/src/settingsui/bluetooth/Bluetooth.qml
index 13572a8..e89476f 100644
--- a/src/settingsui/bluetooth/Bluetooth.qml
+++ b/src/settingsui/bluetooth/Bluetooth.qml
@@ -30,6 +30,7 @@ import QtQuick 2.6
import QtQuick.Layouts 1.3
import QtQuick.Controls 2.0
import QtDeviceUtilities.BluetoothSettings 1.0
+import "../common"
Item {
id: root
diff --git a/src/settingsui/bluetooth/CustomSwitch.qml b/src/settingsui/common/CustomSwitch.qml
index fa9f9aa..fa9f9aa 100644
--- a/src/settingsui/bluetooth/CustomSwitch.qml
+++ b/src/settingsui/common/CustomSwitch.qml
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
+ }
+ }
}
}
diff --git a/src/settingsui/settingsuiapp.qrc b/src/settingsui/settingsuiapp.qrc
index 618d761..a3e7ca5 100644
--- a/src/settingsui/settingsuiapp.qrc
+++ b/src/settingsui/settingsuiapp.qrc
@@ -6,7 +6,7 @@
<file>power/Power.qml</file>
<file>timedate/ManualTime.qml</file>
<file>timedate/CustomComboBox.qml</file>
- <file>bluetooth/CustomSwitch.qml</file>
+ <file>common/CustomSwitch.qml</file>
<file>network/PassphraseEnter.qml</file>
<file>locale/TableKey.qml</file>
<file>locale/TableValue.qml</file>
diff --git a/src/settingsui/settingsuiplugin/plugin.qrc b/src/settingsui/settingsuiplugin/plugin.qrc
index 733c164..e6d02ea 100644
--- a/src/settingsui/settingsuiplugin/plugin.qrc
+++ b/src/settingsui/settingsuiplugin/plugin.qrc
@@ -27,7 +27,7 @@
<file>../power/Power.qml</file>
<file>../timedate/ManualTime.qml</file>
<file>../timedate/CustomComboBox.qml</file>
- <file>../bluetooth/CustomSwitch.qml</file>
+ <file>../common/CustomSwitch.qml</file>
<file>../network/NetworkListView.qml</file>
<file>../network/PassphraseEnter.qml</file>
<file>../locale/TableKey.qml</file>