From b7090ef24b9b67820b018c0b2bc6fa244a968e8d Mon Sep 17 00:00:00 2001 From: Leena Miettinen <riitta-leena.miettinen@nokia.com> Date: Fri, 22 Jul 2011 14:17:28 +0200 Subject: [PATCH] Doc: fix the Battery Status example code Add example source files to the repository and use snippets in the doc. Change-Id: I7ce13c2d5d0994a92d1b001e19af28aec8049e8e Reviewed-on: http://codereview.qt.nokia.com/2030 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Jerome Pasion <jerome.pasion@nokia.com> Reviewed-by: Erik Verbruggen <erik.verbruggen@nokia.com> --- doc/examples/batterystatus/BatteryStatus.pro | 73 +++++++++++++++++ doc/examples/batterystatus/main.cpp | 51 ++++++++++++ .../qml/BatteryStatus/MainPage.qml | 82 +++++++++++++++++++ .../batterystatus/qml/BatteryStatus/main.qml | 71 ++++++++++++++++ doc/qtcreator.qdoc | 38 ++------- 5 files changed, 286 insertions(+), 29 deletions(-) create mode 100644 doc/examples/batterystatus/BatteryStatus.pro create mode 100644 doc/examples/batterystatus/main.cpp create mode 100644 doc/examples/batterystatus/qml/BatteryStatus/MainPage.qml create mode 100644 doc/examples/batterystatus/qml/BatteryStatus/main.qml diff --git a/doc/examples/batterystatus/BatteryStatus.pro b/doc/examples/batterystatus/BatteryStatus.pro new file mode 100644 index 00000000000..a5a6df68f1b --- /dev/null +++ b/doc/examples/batterystatus/BatteryStatus.pro @@ -0,0 +1,73 @@ +/*************************************************************************** +** +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (info@qt.nokia.com) +** +** This file is part of the documentation of Qt Creator. +** +** 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 Nokia Corporation 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." +** +****************************************************************************/ + +# Add more folders to ship with the application, here +folder_01.source = qml/BatteryStatus +folder_01.target = qml +DEPLOYMENTFOLDERS = folder_01 + +# Additional import path used to resolve QML modules in Creator's code model +QML_IMPORT_PATH = + +symbian:TARGET.UID3 = 0xE54A5459 + +# Smart Installer package's UID +# This UID is from the protected range and therefore the package will +# fail to install if self-signed. By default qmake uses the unprotected +# range value if unprotected UID is defined for the application and +# 0x2002CCCF value if protected UID is given to the application +#symbian:DEPLOYMENT.installer_header = 0x2002CCCF + +# Allow network access on Symbian +symbian:TARGET.CAPABILITY += NetworkServices + +# If your application uses the Qt Mobility libraries, uncomment the following +# lines and add the respective components to the MOBILITY variable. +CONFIG += mobility +MOBILITY += systeminfo + +# Add dependency to symbian components +CONFIG += qtquickcomponents + +# The .cpp file which was generated for your project. Feel free to hack it. +SOURCES += main.cpp + +# Please do not modify the following two lines. Required for deployment. +include(qmlapplicationviewer/qmlapplicationviewer.pri) +qtcAddDeployment() + diff --git a/doc/examples/batterystatus/main.cpp b/doc/examples/batterystatus/main.cpp new file mode 100644 index 00000000000..aedc7075a37 --- /dev/null +++ b/doc/examples/batterystatus/main.cpp @@ -0,0 +1,51 @@ +/*************************************************************************** +** +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (info@qt.nokia.com) +** +** This file is part of the documentation of Qt Creator. +** +** 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 Nokia Corporation 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." +** +****************************************************************************/ + +#include <QtGui/QApplication> +#include "qmlapplicationviewer.h" + +int main(int argc, char *argv[]) +{ + QApplication app(argc, argv); + + QmlApplicationViewer viewer; + viewer.setMainQmlFile(QLatin1String("qml/BatteryStatus/main.qml")); + viewer.showExpanded(); + + return app.exec(); +} diff --git a/doc/examples/batterystatus/qml/BatteryStatus/MainPage.qml b/doc/examples/batterystatus/qml/BatteryStatus/MainPage.qml new file mode 100644 index 00000000000..2959ad190a4 --- /dev/null +++ b/doc/examples/batterystatus/qml/BatteryStatus/MainPage.qml @@ -0,0 +1,82 @@ +/*************************************************************************** +** +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (info@qt.nokia.com) +** +** This file is part of the documentation of Qt Creator. +** +** 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 Nokia Corporation 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." +** +****************************************************************************/ + +import QtQuick 1.0 +import com.nokia.symbian 1.0 +import QtMobility.systeminfo 1.1 + +//! [0] +Page { + id: mainPage + + DeviceInfo { + id: deviceinfo + + Component.onCompleted: { + deviceinfo.startBatteryLevelChanged(); + } + onBatteryLevelChanged: { + progressbar1.value = batteryLevel + } + } +//! [0] + +//! [1] + Text { + id: text1 + x: 0 + color: platformStyle.colorNormalLight + text: qsTr("Battery status: %1%").arg(progressbar1.value) + anchors.horizontalCenter: parent.horizontalCenter + anchors.verticalCenter: parent.verticalCenter + font.pixelSize: 20 + } +//! [1] + +//! [2] + ProgressBar { + id: progressbar1 + anchors.horizontalCenter: text1.horizontalCenter + anchors.top: text1.bottom + anchors.topMargin: 20 + minimumValue: 0 + maximumValue: 100 + value: deviceinfo.batteryLevel + } +//! [2] +} diff --git a/doc/examples/batterystatus/qml/BatteryStatus/main.qml b/doc/examples/batterystatus/qml/BatteryStatus/main.qml new file mode 100644 index 00000000000..9c570b1db29 --- /dev/null +++ b/doc/examples/batterystatus/qml/BatteryStatus/main.qml @@ -0,0 +1,71 @@ +/*************************************************************************** +** +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (info@qt.nokia.com) +** +** This file is part of the documentation of Qt Creator. +** +** 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 Nokia Corporation 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." +** +****************************************************************************/ + +import QtQuick 1.0 +import com.nokia.symbian 1.0 + +Window { + id: window + + StatusBar { + id: statusBar + anchors.top: window.top + } + + PageStack { + id: pageStack + anchors { left: parent.left; right: parent.right; top: statusBar.bottom; bottom: toolBar.top } + } + + ToolBar { + id: toolBar + anchors.bottom: window.bottom + tools: ToolBarLayout { + id: toolBarLayout + ToolButton { + flat: true + iconSource: "toolbar-back" + onClicked: pageStack.depth <= 1 ? Qt.quit() : pageStack.pop() + } + } + } + + Component.onCompleted: { + pageStack.push(Qt.resolvedUrl("MainPage.qml")) + } +} diff --git a/doc/qtcreator.qdoc b/doc/qtcreator.qdoc index 20d06ee2841..43266a0d29b 100644 --- a/doc/qtcreator.qdoc +++ b/doc/qtcreator.qdoc @@ -6165,45 +6165,25 @@ \o Add an invisible \l{http://doc.qt.nokia.com/qtmobility/qml-deviceinfo.html} - {DeviceInfo element} and an + {DeviceInfo element} that contains two signals. The \l{http://doc.qt.nokia.com/4.7/qml-component.html#onCompleted-signal} - {onCompleted signal}, as illustrated by the following code snippet: + {onCompleted} signal starts battery level notification when the + component is initialized. The + \l{http://doc.qt.nokia.com/qtmobility/qml-deviceinfo.html#batteryLevelChanged-signal} + {batteryLevelChanged} signal is called when the battery level + changes. - \code - DeviceInfo { - id: deviceinfo - Component.onCompleted: { - deviceinfo.startBatteryLevelChanged(); - } - } - \endcode + \snippet examples/batterystatus/qml/BatteryStatus/MainPage.qml 0 \o Set an expression as the value of the text property of the Text element to display the battery level as a percentage: - \code - Text { - id: text1 - anchors.centerIn: parent - color: platformStyle.colorNormalLight - text: qsTr("Battery status: %1%").arg(deviceinfo.batteryLevel) - font.pixelSize: 20 - \endcode + \snippet examples/batterystatus/qml/BatteryStatus/MainPage.qml 1 \o Set values for the ProgressBar element to display the battery level on the progress bar: - \code - ProgressBar { - id: progressbar1 - anchors.horizontalCenter: text1.horizontalCenter - anchors.top: text1.bottom - anchors.topMargin: 20 - minimumValue: 0 - maximumValue: 100 - value: deviceinfo.batteryLevel - } - \endcode + \snippet examples/batterystatus/qml/BatteryStatus/MainPage.qml 2 \endlist -- GitLab