diff options
Diffstat (limited to 'basicsuite/launchersettings')
-rw-r--r-- | basicsuite/launchersettings/BrightnessController.qml | 49 | ||||
-rw-r--r-- | basicsuite/launchersettings/NetworkController.qml | 61 | ||||
-rw-r--r-- | basicsuite/launchersettings/NetworkList.qml | 173 | ||||
-rw-r--r-- | basicsuite/launchersettings/PoweroffAction.qml | 48 | ||||
-rw-r--r-- | basicsuite/launchersettings/RebootAction.qml | 48 | ||||
-rw-r--r-- | basicsuite/launchersettings/WifiController.qml | 58 | ||||
-rw-r--r-- | basicsuite/launchersettings/WifiGroupBox.qml | 96 | ||||
-rw-r--r-- | basicsuite/launchersettings/description.txt | 1 | ||||
-rw-r--r-- | basicsuite/launchersettings/images/button_default.png | bin | 0 -> 1406 bytes | |||
-rw-r--r-- | basicsuite/launchersettings/images/button_pressed.png | bin | 0 -> 1694 bytes | |||
-rw-r--r-- | basicsuite/launchersettings/images/groupbox.png | bin | 0 -> 485 bytes | |||
-rw-r--r-- | basicsuite/launchersettings/launchersettings.pro | 12 | ||||
-rw-r--r-- | basicsuite/launchersettings/main.qml | 272 | ||||
-rw-r--r-- | basicsuite/launchersettings/preview_l.jpg | bin | 0 -> 18458 bytes | |||
-rw-r--r-- | basicsuite/launchersettings/title.txt | 1 |
15 files changed, 819 insertions, 0 deletions
diff --git a/basicsuite/launchersettings/BrightnessController.qml b/basicsuite/launchersettings/BrightnessController.qml new file mode 100644 index 0000000..777fa30 --- /dev/null +++ b/basicsuite/launchersettings/BrightnessController.qml @@ -0,0 +1,49 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). +** Contact: For any questions to Digia, please use the contact form at +** http://qt.digia.com/ +** +** This file is part of the examples of the Qt Enterprise Embedded. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names +** of its contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +import QtDroid.Utils 1.0 +import QtQuick 2.0 + +QtObject { + function setBrightness(value) + { + DroidUtils.setDisplayBrightness(value) + } +} diff --git a/basicsuite/launchersettings/NetworkController.qml b/basicsuite/launchersettings/NetworkController.qml new file mode 100644 index 0000000..85a8de6 --- /dev/null +++ b/basicsuite/launchersettings/NetworkController.qml @@ -0,0 +1,61 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). +** Contact: For any questions to Digia, please use the contact form at +** http://qt.digia.com/ +** +** This file is part of the examples of the Qt Enterprise Embedded. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names +** of its contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +import QtDroid.Utils 1.0 +import QtQuick 2.0 + +QtObject { + + function getIPAddress() + { + return DroidUtils.getIPAddress() + } + + function getHostname() + { + return DroidUtils.getHostname() + } + + function setHostname(value) + { + return DroidUtils.setHostname(value) + } + +} diff --git a/basicsuite/launchersettings/NetworkList.qml b/basicsuite/launchersettings/NetworkList.qml new file mode 100644 index 0000000..b733eb6 --- /dev/null +++ b/basicsuite/launchersettings/NetworkList.qml @@ -0,0 +1,173 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). +** Contact: For any questions to Digia, please use the contact form at +** http://qt.digia.com/ +** +** This file is part of the examples of the Qt Enterprise Embedded. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names +** of its contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +import QtQuick 2.0 +import QtQuick.Controls 1.0 +import Qt.labs.wifi 0.1 + +// ### TODO +// - only 1 delagate open at the time + +Item { + Component { + id: listDelegate + Rectangle { + id: delegateBackground + property bool expanded: false + property bool connected: wifiManager.connectedSSID == network.ssid + property variant networkModel: model + property alias ssidText: ssidLabel.text + height: (expanded ? (connected ? 180: 260) : 70) + clip: true // ### fixme + color: "#5C5C5C" + border.color: "black" + border.width: 1 + + Behavior on height { NumberAnimation { duration: 500; easing.type: Easing.InOutCubic } } + + width: parent.width + + Text { + id: ssidLabel + anchors.top: parent.top + anchors.left: parent.left + anchors.margins: 10 + font.pixelSize: 20 + font.bold: true + color: "#E6E6E6" + text: network.ssid + (connected ? " (connected)" : ""); + } + + Text { + id: bssidLabel + anchors.top: ssidLabel.bottom + anchors.left: parent.left + anchors.margins: 5 + anchors.leftMargin: 40 + text: network.bssid + color: "#E6E6E6" + font.pixelSize: ssidLabel.font.pixelSize * 0.5 + } + + Text { + id: flagsLabel + x: 200 + anchors.top: bssidLabel.top + text: (network.supportsWPA2 ? "WPA2 " : "") + + (network.supportsWPA ? "WPA " : "") + + (network.supportsWEP ? "WEP " : "") + + (network.supportsWPS ? "WPS " : ""); + color: "#E6E6E6" + font.pixelSize: ssidLabel.font.pixelSize * 0.5 + font.italic: true + } + + Rectangle { + width: Math.max(100 + network.signalStrength, 0) / 100 * parent.width; + height: 20 + radius: 10 + antialiasing: true + anchors.margins: 20 + anchors.right: parent.right + anchors.top: parent.top + color: "#BF8888" + border.color: "#212126" + } + + MouseArea { + anchors.fill: parent + onClicked: { + parent.expanded = !expanded + } + } + + TextField { + id: passwordInput + y: 100 + height: 50 + width: 300 + placeholderText: "Enter Password" + visible: !connected + anchors.horizontalCenter: parent.horizontalCenter + font.pixelSize: 18 + } + + Button { + style: root.buttonStyle + y: passwordInput.visible ? passwordInput.y + passwordInput.height + 20 : passwordInput.y + anchors.horizontalCenter: parent.horizontalCenter + text: connected ? "Disconnect" : "Connect" + onClicked: { + networkView.currentIndex = index + if (connected) { + wifiManager.disconnect() + } else { + networkView.activeNetwork = networkView.currentItem + wifiManager.connect(network, passwordInput.text); + } + } + } + } + } + + ListView { + id: networkView + anchors.fill: parent + model: wifiManager.networks + delegate: listDelegate + + property variant activeNetwork: "" + property variant networkState: wifiManager.networkState + + onNetworkStateChanged: { + if (activeNetwork) { + var ssid = activeNetwork.networkModel.ssid + var state = "" + if (networkState == WifiManager.ObtainingIPAddress) + state = " (obtaining ip..)" + else if (networkState == WifiManager.DhcpRequestFailed) + state = " (dhcp request failed)" + else if (networkState == WifiManager.Connected) + state = " (connected)" + activeNetwork.ssidText = ssid + state + } + } + } +} diff --git a/basicsuite/launchersettings/PoweroffAction.qml b/basicsuite/launchersettings/PoweroffAction.qml new file mode 100644 index 0000000..8c14b79 --- /dev/null +++ b/basicsuite/launchersettings/PoweroffAction.qml @@ -0,0 +1,48 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). +** Contact: For any questions to Digia, please use the contact form at +** http://qt.digia.com/ +** +** This file is part of the examples of the Qt Enterprise Embedded. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names +** of its contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +import QtQuick.Controls 1.0 +import QtDroid.Utils 1.0 + +Action +{ + text: "Power Off!" + onTriggered: DroidUtils.powerOffSystem()(); +} diff --git a/basicsuite/launchersettings/RebootAction.qml b/basicsuite/launchersettings/RebootAction.qml new file mode 100644 index 0000000..e6f57ca --- /dev/null +++ b/basicsuite/launchersettings/RebootAction.qml @@ -0,0 +1,48 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). +** Contact: For any questions to Digia, please use the contact form at +** http://qt.digia.com/ +** +** This file is part of the examples of the Qt Enterprise Embedded. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names +** of its contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +import QtQuick.Controls 1.0 +import QtDroid.Utils 1.0 + +Action +{ + text: "Reboot" + onTriggered: DroidUtils.rebootSystem(); +} diff --git a/basicsuite/launchersettings/WifiController.qml b/basicsuite/launchersettings/WifiController.qml new file mode 100644 index 0000000..3725478 --- /dev/null +++ b/basicsuite/launchersettings/WifiController.qml @@ -0,0 +1,58 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). +** Contact: For any questions to Digia, please use the contact form at +** http://qt.digia.com/ +** +** This file is part of the examples of the Qt Enterprise Embedded. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names +** of its contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +import QtQuick 2.0 +import Qt.labs.wifi 0.1 as Wifi + +QtObject { + function createWifiGroupBox() + { + if (Wifi.Interface.wifiSupported()) { + var component = Qt.createComponent("WifiGroupBox.qml"); + var wifi = component.createObject(wifiOptions.contentItem); + if (wifi == null) { + wifiOptions.visible = false + print("Error creating WifiGroupBox"); + } + } else { + wifiOptions.visible = false + } + } +} diff --git a/basicsuite/launchersettings/WifiGroupBox.qml b/basicsuite/launchersettings/WifiGroupBox.qml new file mode 100644 index 0000000..e88f5cb --- /dev/null +++ b/basicsuite/launchersettings/WifiGroupBox.qml @@ -0,0 +1,96 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). +** Contact: For any questions to Digia, please use the contact form at +** http://qt.digia.com/ +** +** This file is part of the examples of the Qt Enterprise Embedded. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names +** of its contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +import QtQuick 2.0 +import QtQuick.Controls 1.0 +import QtQuick.Layouts 1.0 + +import Qt.labs.wifi 0.1 + +ColumnLayout { + + anchors.fill:parent + + WifiManager { + id: wifiManager + scanning: backendReady + } + + ColumnLayout { + anchors.fill: parent + + RowLayout { + + Button { + id: wifiOnOffButton + Layout.fillWidth: true + style: root.buttonStyle + text: (wifiManager.backendReady) ? "Switch Off" : "Switch On" + onClicked: { + if (wifiManager.backendReady) { + if (networkList.visible) + networkList.visible = false + wifiManager.stop() + } else { + wifiManager.start() + } + } + } + + Button { + id: listNetworksButton + Layout.fillWidth: true + style: root.buttonStyle + visible: wifiManager.backendReady + text: (networkList.visible) ? "Hide wifi networks" + : "List available wifi networks" + onClicked: networkList.visible = !networkList.visible + } + } + + NetworkList { + id: networkList + implicitHeight: 400 + Layout.fillWidth: true + visible: false + clip: true + } + } +} diff --git a/basicsuite/launchersettings/description.txt b/basicsuite/launchersettings/description.txt new file mode 100644 index 0000000..98ce6f6 --- /dev/null +++ b/basicsuite/launchersettings/description.txt @@ -0,0 +1 @@ +This demo uses the Qt Quick Controls to give a couple of options for the launcher itself. diff --git a/basicsuite/launchersettings/images/button_default.png b/basicsuite/launchersettings/images/button_default.png Binary files differnew file mode 100644 index 0000000..6d6cfd9 --- /dev/null +++ b/basicsuite/launchersettings/images/button_default.png diff --git a/basicsuite/launchersettings/images/button_pressed.png b/basicsuite/launchersettings/images/button_pressed.png Binary files differnew file mode 100644 index 0000000..ab78b6e --- /dev/null +++ b/basicsuite/launchersettings/images/button_pressed.png diff --git a/basicsuite/launchersettings/images/groupbox.png b/basicsuite/launchersettings/images/groupbox.png Binary files differnew file mode 100644 index 0000000..98585ee --- /dev/null +++ b/basicsuite/launchersettings/images/groupbox.png diff --git a/basicsuite/launchersettings/launchersettings.pro b/basicsuite/launchersettings/launchersettings.pro new file mode 100644 index 0000000..e89b4d0 --- /dev/null +++ b/basicsuite/launchersettings/launchersettings.pro @@ -0,0 +1,12 @@ +TARGET = launchersettings + +include(../shared/shared.pri) +b2qtdemo_deploy_defaults() + +content.files = *.qml +content.path = $$DESTPATH +content.files += images + +OTHER_FILES += $${content.files} + +INSTALLS += target content diff --git a/basicsuite/launchersettings/main.qml b/basicsuite/launchersettings/main.qml new file mode 100644 index 0000000..718bf69 --- /dev/null +++ b/basicsuite/launchersettings/main.qml @@ -0,0 +1,272 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). +** Contact: For any questions to Digia, please use the contact form at +** http://qt.digia.com/ +** +** This file is part of the examples of the Qt Enterprise Embedded. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names +** of its contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +import QtQuick 2.0 + +import QtQuick.Controls 1.0 +import QtQuick.Layouts 1.0 +import QtQuick.Controls.Styles 1.0 +import QtQuick.Controls.Private 1.0 + +Rectangle { + id: root + width: 1280 + height: 800 + color: "#212126" + property int margin: 10 + property alias buttonStyle: buttonStyle + + // ******************************* STYLES ********************************** + Component { + id: buttonStyle + ButtonStyle { + panel: Item { + implicitHeight: 50 + implicitWidth: 320 + BorderImage { + anchors.fill: parent + antialiasing: true + border.bottom: 8 + border.top: 8 + border.left: 8 + border.right: 8 + anchors.margins: control.pressed ? -4 : 0 + source: control.pressed ? "images/button_pressed.png" : "images/button_default.png" + Text { + text: control.text + anchors.centerIn: parent + color: "white" + font.pixelSize: 23 + renderType: Text.NativeRendering + } + } + } + } + } + + // GroupBoxStyle currently is not available as a public API, so we write our own... + Component { + id: groupBoxStyle + Style { + // The margin from the content item to the groupbox + padding { + top: (control.title.length > 0 ? TextSingleton.implicitHeight : 0) + 30 + left: 8 + right: 8 + bottom: 8 + } + // The groupbox frame + property Component panel: Item { + anchors.fill: parent + + Text { + id: label + anchors.bottom: borderImage.top + anchors.margins: 2 + text: control.title + font.pixelSize: 22 + color: "white" + renderType: Text.NativeRendering + } + + BorderImage { + id: borderImage + anchors.fill: parent + anchors.topMargin: padding.top - 7 + source: "images/groupbox.png" + border.left: 4 + border.right: 4 + border.top: 4 + border.bottom: 4 + } + } + } + } + + // ******************************** UI **************************************** + Loader { id: rebootActionLoader; source: "RebootAction.qml" } + Loader { id: poweroffActionLoader; source: "PoweroffAction.qml" } + Loader { id: brightnessControllerLoader; source: "BrightnessController.qml" } + Loader { id: networkControllerLoader; source: "NetworkController.qml" } + Loader { id: wifiControllerLoader; source: "WifiController.qml" } + + Flickable { + anchors.top: parent.top + anchors.horizontalCenter: parent.horizontalCenter + anchors.margins: margin + anchors.topMargin: 50 + height: parent.height + width: mainLayout.width + contentHeight: mainLayout.height + 100 + contentWidth: mainLayout.width + flickableDirection: Flickable.VerticalFlick + + ColumnLayout { + id: mainLayout + width: 800 + height: implicitHeight + anchors.left: parent.left + anchors.right: parent.right + + GroupBox { + id: powerOptions + title: "Power" + Layout.fillWidth: true + style: groupBoxStyle + implicitWidth: 0 + + RowLayout { + id: powerButtonRow + + anchors.fill: parent + + Button { + style: buttonStyle + text: "Shut Down" + Layout.fillWidth: true + action: poweroffActionLoader.item; + enabled: action != undefined + + } + + Button { + style: buttonStyle + text: "Reboot" + Layout.fillWidth: true + action: rebootActionLoader.item; + enabled: action != undefined + } + } + + } + + GroupBox { + id: displayOptions + title: "Display" + style: groupBoxStyle + Layout.fillWidth: true + implicitWidth: 0 + + GridLayout { + id: displayGrid + + rows: 2 + flow: GridLayout.TopToBottom + anchors.fill: parent + + Label { text: "Brightness: "; font.pixelSize: 18; color: "white" } + Label { text: "Display FPS: "; font.pixelSize: 18; color: "white" } + + Slider { + maximumValue: 255 + minimumValue: 1 + value: 255 + Layout.fillWidth: true + onValueChanged: { + if (brightnessControllerLoader.item != undefined) { + brightnessControllerLoader.item.setBrightness(value); + } + } + } + CheckBox { + onCheckedChanged: engine.fpsEnabled = checked; + } + } + } + + GroupBox { + id: networkOptions + title: "Network" + style: groupBoxStyle + Layout.fillWidth: true + implicitWidth: 0 + + GridLayout { + id: networkGrid + + rows: 2 + columns: 3 + flow: GridLayout.TopToBottom + anchors.fill: parent + + Label { text: "Hostname: "; font.pixelSize: 18; color: "white" } + Label { text: "IP address: "; font.pixelSize: 18; color: "white"} + + TextField { + id: hostname + implicitHeight: hostnameButton.height - 8 + text: if (networkControllerLoader.item != undefined) { networkControllerLoader.item.getHostname(); } + font.pixelSize: 18 + Layout.fillWidth: true + } + + Label { + text: if (networkControllerLoader.item != undefined) { networkControllerLoader.item.getIPAddress(); } + font.pixelSize: 18 + color: "white" + } + + Button { + id: hostnameButton + style: buttonStyle + text: "Change hostname" + onClicked: networkControllerLoader.item.setHostname(hostname.text); + enabled: networkControllerLoader.item != undefined + } + + } + } + + GroupBox { + id: wifiOptions + title: "Wifi" + style: groupBoxStyle + Layout.fillWidth: true + } + + Component.onCompleted: { + if (wifiControllerLoader.item != undefined) + wifiControllerLoader.item.createWifiGroupBox() + else + wifiOptions.visible = false + } + } + } +} diff --git a/basicsuite/launchersettings/preview_l.jpg b/basicsuite/launchersettings/preview_l.jpg Binary files differnew file mode 100644 index 0000000..b9b232b --- /dev/null +++ b/basicsuite/launchersettings/preview_l.jpg diff --git a/basicsuite/launchersettings/title.txt b/basicsuite/launchersettings/title.txt new file mode 100644 index 0000000..b2fd1f4 --- /dev/null +++ b/basicsuite/launchersettings/title.txt @@ -0,0 +1 @@ +Launcher Settings |