diff options
author | Sami Nurmenniemi <sami.nurmenniemi@qt.io> | 2017-10-31 13:46:40 +0200 |
---|---|---|
committer | Sami Nurmenniemi <sami.nurmenniemi@qt.io> | 2017-11-22 10:41:58 +0000 |
commit | d1fcfe58025603ae28e8fda31d96519a92cdb7dd (patch) | |
tree | ff1dc34b7a97fe5695e82504d7313678fad4c6d3 /src/settingsui | |
parent | 50b66ec25694e30caa5fbc556bc172d6319522ba (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.qml | 1 | ||||
-rw-r--r-- | src/settingsui/common/CustomSwitch.qml (renamed from src/settingsui/bluetooth/CustomSwitch.qml) | 0 | ||||
-rw-r--r-- | src/settingsui/network/NetworkSettings.qml | 78 | ||||
-rw-r--r-- | src/settingsui/settingsuiapp.qrc | 2 | ||||
-rw-r--r-- | src/settingsui/settingsuiplugin/plugin.qrc | 2 |
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> |