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