OSDN Git Service

Doc - update Battery Indicator example
authorLeena Miettinen <riitta-leena.miettinen@nokia.com>
Fri, 8 Oct 2010 11:33:10 +0000 (13:33 +0200)
committerLeena Miettinen <riitta-leena.miettinen@nokia.com>
Fri, 8 Oct 2010 14:27:19 +0000 (16:27 +0200)
Use the new mobile project wizard to create the application.
Update example files and screen shots.

Reviewed-by: ckamm
Reviewed-by: Niels Weber
26 files changed:
doc/examples/batteryindicator/BatteryIndicator.desktop [new file with mode: 0644]
doc/examples/batteryindicator/BatteryIndicator.png [new file with mode: 0644]
doc/examples/batteryindicator/BatteryIndicator.pro
doc/examples/batteryindicator/BatteryIndicator.svg [new file with mode: 0644]
doc/examples/batteryindicator/batteryindicator.cpp [deleted file]
doc/examples/batteryindicator/batteryindicator.h [deleted file]
doc/examples/batteryindicator/batteryindicator.ui [deleted file]
doc/examples/batteryindicator/debian/README [new file with mode: 0644]
doc/examples/batteryindicator/debian/changelog [new file with mode: 0644]
doc/examples/batteryindicator/debian/compat [new file with mode: 0644]
doc/examples/batteryindicator/debian/control [new file with mode: 0644]
doc/examples/batteryindicator/debian/copyright [new file with mode: 0644]
doc/examples/batteryindicator/debian/rules [new file with mode: 0644]
doc/examples/batteryindicator/deployment.pri [new file with mode: 0644]
doc/examples/batteryindicator/main.cpp
doc/examples/batteryindicator/mainwindow.cpp [new file with mode: 0644]
doc/examples/batteryindicator/mainwindow.h [new file with mode: 0644]
doc/examples/batteryindicator/mainwindow.ui [new file with mode: 0644]
doc/images/qtcreator-mobile-intro-and-location.png
doc/images/qtcreator-mobile-project-contents.png
doc/images/qtcreator-mobile-project-qt-versions.png
doc/images/qtcreator-mobile-project-summary.png
doc/images/qtcreator-mobile-project-widgets.png
doc/images/qtcreator-mobile-simulated.png
doc/images/qtcreator-new-mobile-project.png
doc/qtcreator.qdoc

diff --git a/doc/examples/batteryindicator/BatteryIndicator.desktop b/doc/examples/batteryindicator/BatteryIndicator.desktop
new file mode 100644 (file)
index 0000000..84e6ad1
--- /dev/null
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Terminal=false
+Name=BatteryIndicator
+Exec=/opt/usr/bin/BatteryIndicator
+Icon=BatteryIndicator
+X-Window-Icon=
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
diff --git a/doc/examples/batteryindicator/BatteryIndicator.png b/doc/examples/batteryindicator/BatteryIndicator.png
new file mode 100644 (file)
index 0000000..707d5c4
Binary files /dev/null and b/doc/examples/batteryindicator/BatteryIndicator.png differ
index da30a71..dd26e70 100644 (file)
@@ -1,28 +1,32 @@
-#-------------------------------------------------
-#
-# Project created by QtCreator 2010-05-26T16:46:58
-#
-#-------------------------------------------------
+# Add files and directories to ship with the application 
+# by adapting the examples below.
+# file1.source = myfile
+# dir1.source = mydir
+DEPLOYMENTFOLDERS = # file1 dir1
 
-QT       += core gui
+# Avoid auto screen rotation
+#DEFINES += ORIENTATIONLOCK
 
-TARGET = BatteryIndicator
-TEMPLATE = app
+# Needs to be defined for Symbian
+#DEFINES += NETWORKACCESS
 
-
-SOURCES += main.cpp\
-        batteryindicator.cpp
-
-HEADERS  += batteryindicator.h
-
-FORMS    += batteryindicator.ui
+symbian:TARGET.UID3 = 0xE5123A52
 
 CONFIG += mobility
 MOBILITY = systeminfo
 
-symbian {
-    TARGET.UID3 = 0xecbd72d7
-    # TARGET.CAPABILITY += 
-    TARGET.EPOCSTACKSIZE = 0x14000
-    TARGET.EPOCHEAPSIZE = 0x020000 0x800000
-}
+SOURCES += main.cpp mainwindow.cpp
+HEADERS += mainwindow.h
+FORMS += mainwindow.ui
+
+# Please do not modify the following two lines. Required for deployment.
+include(deployment.pri)
+qtcAddDeployment()
+
+OTHER_FILES += \
+    debian/changelog \
+    debian/compat \
+    debian/control \
+    debian/copyright \
+    debian/README \
+    debian/rules
diff --git a/doc/examples/batteryindicator/BatteryIndicator.svg b/doc/examples/batteryindicator/BatteryIndicator.svg
new file mode 100644 (file)
index 0000000..566acfa
--- /dev/null
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   height="44px"
+   version="1.1"
+   viewBox="0 0 44 44"
+   width="44px"
+   x="0px"
+   y="0px"
+   id="svg2"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="qt.svg">
+  <metadata
+     id="metadata18">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs16">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 22 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="44 : 22 : 1"
+       inkscape:persp3d-origin="22 : 14.666667 : 1"
+       id="perspective2836" />
+  </defs>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1920"
+     inkscape:window-height="1020"
+     id="namedview14"
+     showgrid="false"
+     inkscape:zoom="21.454545"
+     inkscape:cx="49.412871"
+     inkscape:cy="21.894358"
+     inkscape:window-x="-4"
+     inkscape:window-y="-4"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="g3" />
+  <g
+     transform="matrix(0.18308778,0,0,0.18308778,6.6100946,3.2385199)"
+     id="g3">
+    <path
+       d="M 43.09,0.3586 C 40.94,0.0036 38.84,-0.0824 36.81,0.0776 31.968136,0.39505671 27.122677,0.73638425 22.28,1.0696 9.62,2.0816 0,12.4996 0,26.8896 l 0,169.7 14.19,13.2 28.87,-209.42 0.03,-0.011 z"
+       style="fill:#006225"
+       id="path5"
+       sodipodi:nodetypes="cccccccc" />
+    <path
+       d="m 174.4,160 c 0,12.5 -7.75,24.07 -17.57,25.77 L 14.23,209.73 V 25.93 C 14.23,9.21 27.57,-2.27 43.12,0.3 l 131.3,21.52 v 138.2 z"
+       style="fill:#80c342"
+       id="path7" />
+    <path
+       d="m 154.9,80.96 -12.96,-0.598 0,0.278 6.945,0.32 6.016,0 z"
+       style="fill:#006225"
+       id="path11" />
+    <path
+       d="m 144.6,135.6 c 0.66,0.328 1.43,0.476 2.351,0.476 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 h -6.015 c -1.821,0.832 -3.532,1.457 -5.176,1.848 z"
+       style="fill:#006225"
+       id="path13" />
+    <path
+       id="path17"
+       style="fill:#ffffff"
+       d="m 91.15,132.4 c 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -4.34,0 -7.68,2.535 -10.01,7.625 -2.52,5.543 -3.793,17.04 -3.793,34.44 0,16.82 1.238,28.75 3.734,35.75 2.356,6.672 5.879,9.976 10.5,9.976 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 m 17.98,3.75 c -4.117,9.707 -10.39,16.06 -18.99,19 0.867,4.449 2.176,7.441 3.922,9.019 1.351,1.211 3.433,1.821 6.222,1.821 0.805,0 1.668,-0.055 2.59,-0.157 v 13.12 l -5.961,0.782 c -1.758,0.23 -3.426,0.343 -5.004,0.343 -5.218,0 -9.445,-1.265 -12.62,-3.824 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 1.629,0 3.309,0.102 5.043,0.305 11.95,1.375 20.62,7.016 26.26,16.79 5.535,9.562 8.254,23.27 8.254,41.26 0,16.48 -2,29.45 -6.043,39.02 z M 130.4,45.91 l 11.52,1.238 0,20.21 12.96,0.914 0,12.68 -12.96,-0.598 0,46.33 c 0,4.032 0.445,6.625 1.34,7.789 0.8,1.067 2.046,1.594 3.71,1.594 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 v 11.65 c -5.136,2.258 -10.18,3.598 -15.12,4.02 -0.718,0.055 -1.41,0.086 -2.078,0.086 -4.48,0 -7.906,-1.301 -10.25,-3.934 -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.535 L 118.046,79.25 V 65.66 l 7.586,0.547 4.773,-20.3 z" />
+    <path
+       d="m 100.3,166 c 0.809,0 1.672,-0.055 2.59,-0.157 H 98.054 C 98.73,165.949 99.507,166 100.3,166 z"
+       style="fill:#006225"
+       id="path19" />
+    <path
+       id="path21"
+       style="fill:#006225"
+       d="m 84.85,63.98 c 2.336,5.997 3.484,16.92 3.484,32.81 0,17.7 -1.16,29.57 -3.512,35.62 -1.894,4.879 -4.527,7.902 -7.863,9.07 0.965,0.368 1.992,0.551 3.078,0.551 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -1.09,0 -2.117,0.16 -3.082,0.481 h -0.004 c 3.601,1.121 6.379,4.215 8.336,9.261 z m -2.344,114.3 c -0.113,-0.05 -0.227,-0.105 -0.336,-0.16 -0.012,-0.004 -0.023,-0.012 -0.035,-0.015 -0.102,-0.051 -0.207,-0.106 -0.309,-0.157 -0.019,-0.011 -0.039,-0.019 -0.058,-0.031 -0.09,-0.051 -0.184,-0.098 -0.278,-0.148 -0.027,-0.016 -0.054,-0.036 -0.086,-0.051 -0.082,-0.043 -0.164,-0.09 -0.242,-0.137 -0.039,-0.023 -0.078,-0.047 -0.113,-0.07 -0.07,-0.039 -0.145,-0.082 -0.215,-0.125 -0.047,-0.031 -0.094,-0.059 -0.14,-0.09 -0.059,-0.039 -0.118,-0.074 -0.176,-0.113 -0.059,-0.039 -0.114,-0.075 -0.168,-0.114 -0.051,-0.031 -0.102,-0.066 -0.149,-0.097 -0.066,-0.047 -0.132,-0.094 -0.195,-0.137 -0.039,-0.027 -0.078,-0.055 -0.113,-0.082 -0.078,-0.055 -0.153,-0.113 -0.231,-0.172 -0.023,-0.016 -0.05,-0.035 -0.078,-0.055 -0.098,-0.078 -0.199,-0.156 -0.297,-0.234 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 h -6.351 c -10.15,0.008 -18.22,3.977 -24,12.04 -6.855,9.563 -10.34,24.64 -10.34,45.07 0,18.95 2.547,33.44 7.551,43.34 4.934,9.75 12.05,15.56 21.19,17.5 1.989,9.641 5.09,16.16 9.297,19.54 3.176,2.559 7.403,3.824 12.62,3.824 0.098,0 0.199,0 0.297,-0.004 h 5.539 c -3.406,-0.05 -6.383,-0.66 -8.906,-1.828 L 82.498,178.28 z M 128.4,145.6 c -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.57 l -6.226,-0.285 v -13.59 h -6.016 v 3.035 c 0.871,3.273 1.555,6.82 2.063,10.64 l 4.164,0.192 v 51.36 c 0,6.723 1.367,11.62 4.09,14.67 2.343,2.633 5.765,3.934 10.25,3.934 h 6.015 c -4.48,0 -7.906,-1.301 -10.25,-3.934 z m 2.043,-99.66 -6.016,0 -4.668,19.88 5.911,0.422 4.773,-20.3 z" />
+  </g>
+</svg>
diff --git a/doc/examples/batteryindicator/batteryindicator.cpp b/doc/examples/batteryindicator/batteryindicator.cpp
deleted file mode 100644 (file)
index 8ddb695..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-#include "batteryindicator.h"
-#include "ui_batteryindicator.h"
-
-//! [2]
-BatteryIndicator::BatteryIndicator(QWidget *parent) :
-    QDialog(parent),
-    ui(new Ui::BatteryIndicator),
-    deviceInfo(NULL)
-{
-    ui->setupUi(this);
-    setupGeneral();
-}
-//! [2]
-
-BatteryIndicator::~BatteryIndicator()
-{
-    delete ui;
-}
-
-//! [1]
-void BatteryIndicator::setupGeneral()
-{
-    deviceInfo = new QSystemDeviceInfo(this);
-
-    ui->batteryLevelBar->setValue(deviceInfo->batteryLevel());
-
-    connect(deviceInfo, SIGNAL(batteryLevelChanged(int)),
-            ui->batteryLevelBar, SLOT(setValue(int)));
-}
-//! [1]
diff --git a/doc/examples/batteryindicator/batteryindicator.h b/doc/examples/batteryindicator/batteryindicator.h
deleted file mode 100644 (file)
index 50a1b93..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-#ifndef BATTERYINDICATOR_H
-#define BATTERYINDICATOR_H
-
-#include <QDialog>
-
-//! [1]
-#include <QSystemInfo>
-//! [1]
-
-//! [2]
-QTM_USE_NAMESPACE
-//! [2]
-
-namespace Ui {
-    class BatteryIndicator;
-}
-
-class BatteryIndicator : public QDialog
-{
-    Q_OBJECT
-
-public:
-    explicit BatteryIndicator(QWidget *parent = 0);
-    ~BatteryIndicator();
-
-//! [3]
-private:
-    Ui::BatteryIndicator *ui;
-    void setupGeneral();
-
-    QSystemDeviceInfo *deviceInfo;
-//! [3]
-};
-
-#endif // BATTERYINDICATOR_H
diff --git a/doc/examples/batteryindicator/batteryindicator.ui b/doc/examples/batteryindicator/batteryindicator.ui
deleted file mode 100644 (file)
index 3e62af2..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>BatteryIndicator</class>
- <widget class="QDialog" name="BatteryIndicator">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>800</width>
-    <height>480</height>
-   </rect>
-  </property>
-  <property name="windowTitle">
-   <string>BatteryIndicator</string>
-  </property>
-  <widget class="QProgressBar" name="batteryLevelBar">
-   <property name="geometry">
-    <rect>
-     <x>10</x>
-     <y>10</y>
-     <width>118</width>
-     <height>23</height>
-    </rect>
-   </property>
-   <property name="value">
-    <number>24</number>
-   </property>
-  </widget>
- </widget>
- <layoutdefault spacing="6" margin="11"/>
- <resources/>
- <connections/>
-</ui>
diff --git a/doc/examples/batteryindicator/debian/README b/doc/examples/batteryindicator/debian/README
new file mode 100644 (file)
index 0000000..69fa63a
--- /dev/null
@@ -0,0 +1,6 @@
+The Debian Package batteryindicator
+----------------------------
+
+Comments regarding the Package
+
+ -- unknown <>  Tue, 05 Oct 2010 12:01:24 +0200
diff --git a/doc/examples/batteryindicator/debian/changelog b/doc/examples/batteryindicator/debian/changelog
new file mode 100644 (file)
index 0000000..ff9ebf3
--- /dev/null
@@ -0,0 +1,5 @@
+batteryindicator (0.0.1) unstable; urgency=low
+
+  * Initial Release.
+
+ -- unknown <>  Tue, 05 Oct 2010 12:01:24 +0200
diff --git a/doc/examples/batteryindicator/debian/compat b/doc/examples/batteryindicator/debian/compat
new file mode 100644 (file)
index 0000000..7f8f011
--- /dev/null
@@ -0,0 +1 @@
+7
diff --git a/doc/examples/batteryindicator/debian/control b/doc/examples/batteryindicator/debian/control
new file mode 100644 (file)
index 0000000..a414f05
--- /dev/null
@@ -0,0 +1,13 @@
+Source: batteryindicator
+Section: user/hidden
+Priority: optional
+Maintainer: unknown <>
+Build-Depends: debhelper (>= 5), libqt4-dev
+Standards-Version: 3.7.3
+Homepage: <insert the upstream URL, if relevant>
+
+Package: batteryindicator
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: <insert up to 60 chars description>
+ <insert long description, indented with spaces>
diff --git a/doc/examples/batteryindicator/debian/copyright b/doc/examples/batteryindicator/debian/copyright
new file mode 100644 (file)
index 0000000..3656176
--- /dev/null
@@ -0,0 +1,40 @@
+This package was debianized by unknown <> on
+Tue, 05 Oct 2010 12:01:24 +0200.
+
+It was downloaded from <url://example.com>
+
+Upstream Author(s):
+
+    <put author's name and email here>
+    <likewise for another author>
+
+Copyright:
+
+    <Copyright (C) YYYY Name OfAuthor>
+    <likewise for another author>
+
+License:
+
+    This package is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This package is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this package; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+
+On Debian systems, the complete text of the GNU General
+Public License can be found in `/usr/share/common-licenses/GPL'.
+
+The Debian packaging is (C) 2010, unknown <> and
+is licensed under the GPL, see above.
+
+
+# Please also look if there are files or directories which have a
+# different copyright/license attached and list them here.
diff --git a/doc/examples/batteryindicator/debian/rules b/doc/examples/batteryindicator/debian/rules
new file mode 100644 (file)
index 0000000..69d5d22
--- /dev/null
@@ -0,0 +1,91 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+# Sample debian/rules that uses debhelper.
+# This file was originally written by Joey Hess and Craig Small.
+# As a special exception, when this file is copied by dh-make into a
+# dh-make output file, you may use that output file without restriction.
+# This special exception was added by Craig Small in version 0.37 of dh-make.
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+
+
+
+
+configure: configure-stamp
+configure-stamp:
+       dh_testdir
+       # Add here commands to configure the package.
+
+       touch configure-stamp
+
+
+build: build-stamp
+
+build-stamp: configure-stamp  
+       dh_testdir
+
+       # Add here commands to compile the package.
+       $(MAKE)
+       #docbook-to-man debian/batteryindicator.sgml > batteryindicator.1
+
+       touch $@
+
+clean: 
+       dh_testdir
+       dh_testroot
+       rm -f build-stamp configure-stamp
+
+       # Add here commands to clean up after the build process.
+       $(MAKE) clean
+
+       dh_clean 
+
+install: build
+       dh_testdir
+       dh_testroot
+       dh_clean -k 
+       dh_installdirs
+
+       # Add here commands to install the package into debian/batteryindicator.
+       $(MAKE) INSTALL_ROOT="$(CURDIR)"/debian/batteryindicator install
+
+
+# Build architecture-independent files here.
+binary-indep: build install
+# We have nothing to do by default.
+
+# Build architecture-dependent files here.
+binary-arch: build install
+       dh_testdir
+       dh_testroot
+       dh_installchangelogs 
+       dh_installdocs
+       dh_installexamples
+#      dh_install
+#      dh_installmenu
+#      dh_installdebconf       
+#      dh_installlogrotate
+#      dh_installemacsen
+#      dh_installpam
+#      dh_installmime
+#      dh_python
+#      dh_installinit
+#      dh_installcron
+#      dh_installinfo
+       dh_installman
+       dh_link
+       # dh_strip
+       dh_compress
+       dh_fixperms
+#      dh_perl
+#      dh_makeshlibs
+       dh_installdeb
+       # dh_shlibdeps
+       dh_gencontrol
+       dh_md5sums
+       dh_builddeb
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install configure
diff --git a/doc/examples/batteryindicator/deployment.pri b/doc/examples/batteryindicator/deployment.pri
new file mode 100644 (file)
index 0000000..7b7f728
--- /dev/null
@@ -0,0 +1,93 @@
+# checksum 0x2bb3 version 0x10001
+# This file should not be edited.
+# Future versions of Qt Creator might offer updated versions of this file.
+
+defineTest(qtcAddDeployment) {
+for(deploymentfolder, DEPLOYMENTFOLDERS) {
+    item = item$${deploymentfolder}
+    itemsources = $${item}.sources
+    $$itemsources = $$eval($${deploymentfolder}.source)
+    itempath = $${item}.path
+    $$itempath= $$eval($${deploymentfolder}.target)
+    export($$itemsources)
+    export($$itempath)
+    DEPLOYMENT += $$item
+}
+
+MAINPROFILEPWD = $$PWD
+
+symbian {
+    ICON = $${TARGET}.svg
+    TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
+    contains(DEFINES, ORIENTATIONLOCK):LIBS += -lavkon -leikcore -leiksrv -lcone
+    contains(DEFINES, NETWORKACCESS):TARGET.CAPABILITY += NetworkServices
+} else:win32 {
+    !isEqual(PWD,$$OUT_PWD) {
+        copyCommand = @echo Copying application data...
+        for(deploymentfolder, DEPLOYMENTFOLDERS) {
+            source = $$eval($${deploymentfolder}.source)
+            pathSegments = $$split(source, /)
+            sourceAndTarget = $$MAINPROFILEPWD/$$source $$OUT_PWD/$$eval($${deploymentfolder}.target)/$$last(pathSegments)
+            copyCommand += && $(COPY_DIR) $$replace(sourceAndTarget, /, \\)
+        }
+        copydeploymentfolders.commands = $$copyCommand
+        first.depends = $(first) copydeploymentfolders
+        export(first.depends)
+        export(copydeploymentfolders.commands)
+        QMAKE_EXTRA_TARGETS += first copydeploymentfolders
+    }
+} else:unix {
+    maemo5 {
+        installPrefix = /opt/usr
+        desktopfile.path = /usr/share/applications/hildon       
+    } else {
+        installPrefix = /usr/local
+        desktopfile.path = /usr/share/applications
+        !isEqual(PWD,$$OUT_PWD) {
+            copyCommand = @echo Copying application data...
+            for(deploymentfolder, DEPLOYMENTFOLDERS) {
+                macx {
+                    target = $$OUT_PWD/$${TARGET}.app/Contents/Resources/$$eval($${deploymentfolder}.target)
+                } else {
+                    target = $$OUT_PWD/$$eval($${deploymentfolder}.target)
+                }
+                copyCommand += && $(MKDIR) $$target
+                copyCommand += && $(COPY_DIR) $$MAINPROFILEPWD/$$eval($${deploymentfolder}.source) $$target
+            }
+            copydeploymentfolders.commands = $$copyCommand
+            first.depends = $(first) copydeploymentfolders
+            export(first.depends)
+            export(copydeploymentfolders.commands)
+            QMAKE_EXTRA_TARGETS += first copydeploymentfolders
+        }
+    }
+    for(deploymentfolder, DEPLOYMENTFOLDERS) {
+        item = item$${deploymentfolder}
+        itemfiles = $${item}.files
+        $$itemfiles = $$eval($${deploymentfolder}.source)
+        itempath = $${item}.path
+        $$itempath = $${installPrefix}/share/$${TARGET}/$$eval($${deploymentfolder}.target)
+        export($$itemfiles)
+        export($$itempath)
+        INSTALLS += $$item
+    }
+    icon.files = $${TARGET}.png
+    icon.path = /usr/share/icons/hicolor/64x64/apps
+    desktopfile.files = $${TARGET}.desktop
+    target.path = $${installPrefix}/bin
+    export(icon.files)
+    export(icon.path)
+    export(desktopfile.files)
+    export(desktopfile.path)
+    export(target.path)
+    INSTALLS += desktopfile icon target
+}
+
+export (ICON)
+export (INSTALLS)
+export (DEPLOYMENT)
+export (TARGET.EPOCHEAPSIZE)
+export (TARGET.CAPABILITY)
+export (LIBS)
+export (QMAKE_EXTRA_TARGETS)
+}
index 4d85d5c..4476d2f 100644 (file)
@@ -1,18 +1,23 @@
+#include "mainwindow.h"
+
 #include <QtGui/QApplication>
-#include "batteryindicator.h"
 
 int main(int argc, char *argv[])
 {
-    QApplication a(argc, argv);
-    BatteryIndicator w;
+    QApplication app(argc, argv);
+
+    MainWindow mainWindow;
+    mainWindow.setOrientation(MainWindow::Auto);
 
 //! [0]
-#if defined(Q_WS_S60)
-    w.showMaximized();
+#ifdef Q_OS_SYMBIAN
+    mainWindow.showFullScreen();
+#elif defined(Q_WS_MAEMO_5)
+    mainWindow.showMaximized();
 #else
-    w.show();
+    mainWindow.show();
 #endif
 //! [0]
 
-    return a.exec();
+    return app.exec();
 }
diff --git a/doc/examples/batteryindicator/mainwindow.cpp b/doc/examples/batteryindicator/mainwindow.cpp
new file mode 100644 (file)
index 0000000..82263cf
--- /dev/null
@@ -0,0 +1,77 @@
+// checksum 0xd429 version 0x10001
+#include "mainwindow.h"
+#include "ui_mainwindow.h"
+
+#include <QtCore/QCoreApplication>
+
+#if defined(Q_OS_SYMBIAN) && defined(ORIENTATIONLOCK)
+#include <eikenv.h>
+#include <eikappui.h>
+#include <aknenv.h>
+#include <aknappui.h>
+#endif // Q_OS_SYMBIAN && ORIENTATIONLOCK
+
+//! [2]
+MainWindow::MainWindow(QWidget *parent):
+    QMainWindow(parent),
+    ui(new Ui::MainWindow),
+    deviceInfo(NULL)
+{
+    ui->setupUi(this);
+    setupGeneral();
+}
+//! [2]
+
+MainWindow::~MainWindow()
+{
+    delete ui;
+}
+
+//! [1]
+void MainWindow::setupGeneral()
+{
+    deviceInfo = new QSystemDeviceInfo(this);
+
+    ui->batteryLevelBar->setValue(deviceInfo->batteryLevel());
+
+    connect(deviceInfo, SIGNAL(batteryLevelChanged(int)),
+            ui->batteryLevelBar, SLOT(setValue(int)));
+}
+//! [1]
+
+void MainWindow::setOrientation(Orientation orientation)
+{
+#ifdef Q_OS_SYMBIAN
+    if (orientation != Auto) {
+#if defined(ORIENTATIONLOCK)
+        const CAknAppUiBase::TAppUiOrientation uiOrientation =
+                (orientation == LockPortrait) ? CAknAppUi::EAppUiOrientationPortrait
+                    : CAknAppUi::EAppUiOrientationLandscape;
+        CAknAppUi* appUi = dynamic_cast<CAknAppUi*> (CEikonEnv::Static()->AppUi());
+        TRAPD(error,
+            if (appUi)
+                appUi->SetOrientationL(uiOrientation);
+        );
+#else // ORIENTATIONLOCK
+        qWarning("'ORIENTATIONLOCK' needs to be defined on Symbian when locking the orientation.");
+#endif // ORIENTATIONLOCK
+    }
+#elif defined(Q_WS_MAEMO_5)
+    Qt::WidgetAttribute attribute;
+    switch (orientation) {
+    case LockPortrait:
+        attribute = Qt::WA_Maemo5PortraitOrientation;
+        break;
+    case LockLandscape:
+        attribute = Qt::WA_Maemo5LandscapeOrientation;
+        break;
+    case Auto:
+    default:
+        attribute = Qt::WA_Maemo5AutoOrientation;
+        break;
+    }
+    setAttribute(attribute, true);
+#else // Q_OS_SYMBIAN
+    Q_UNUSED(orientation);
+#endif // Q_OS_SYMBIAN
+}
diff --git a/doc/examples/batteryindicator/mainwindow.h b/doc/examples/batteryindicator/mainwindow.h
new file mode 100644 (file)
index 0000000..fe21971
--- /dev/null
@@ -0,0 +1,42 @@
+// checksum 0xa940 version 0x10001
+#ifndef MAINWINDOW_H
+#define MAINWINDOW_H
+
+#include <QtGui/QMainWindow>
+
+//! [1]
+#include <QSystemInfo>
+//! [1]
+
+//! [2]
+QTM_USE_NAMESPACE
+//! [2]
+
+namespace Ui {
+    class MainWindow;
+}
+
+class MainWindow : public QMainWindow
+{
+public:
+    enum Orientation {
+        LockPortrait,
+        LockLandscape,
+        Auto
+    };
+
+    MainWindow(QWidget *parent = 0);
+    ~MainWindow();
+
+    void setOrientation(Orientation orientation);
+
+//! [3]
+private:
+    Ui::MainWindow *ui;
+    void setupGeneral();
+
+    QSystemDeviceInfo *deviceInfo;
+//! [3]
+};
+
+#endif // MAINWINDOW_H
diff --git a/doc/examples/batteryindicator/mainwindow.ui b/doc/examples/batteryindicator/mainwindow.ui
new file mode 100644 (file)
index 0000000..5b9ccdb
--- /dev/null
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>MainWindow</class>
+ <widget class="QMainWindow" name="MainWindow">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>200</width>
+    <height>320</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>MainWindow</string>
+  </property>
+  <widget class="QWidget" name="centralWidget">
+   <layout class="QHBoxLayout" name="horizontalLayout">
+    <item>
+     <widget class="QProgressBar" name="batteryLevelBar">
+      <property name="value">
+       <number>24</number>
+      </property>
+     </widget>
+    </item>
+   </layout>
+  </widget>
+  <widget class="QMenuBar" name="menuBar">
+   <property name="geometry">
+    <rect>
+     <x>0</x>
+     <y>0</y>
+     <width>200</width>
+     <height>21</height>
+    </rect>
+   </property>
+  </widget>
+  <widget class="QToolBar" name="mainToolBar">
+   <attribute name="toolBarArea">
+    <enum>TopToolBarArea</enum>
+   </attribute>
+   <attribute name="toolBarBreak">
+    <bool>false</bool>
+   </attribute>
+  </widget>
+  <widget class="QStatusBar" name="statusBar"/>
+ </widget>
+ <layoutdefault spacing="6" margin="11"/>
+ <resources/>
+ <connections/>
+</ui>
index 5ca057b..dc78f7b 100644 (file)
Binary files a/doc/images/qtcreator-mobile-intro-and-location.png and b/doc/images/qtcreator-mobile-intro-and-location.png differ
index a41ef63..da21d4b 100644 (file)
Binary files a/doc/images/qtcreator-mobile-project-contents.png and b/doc/images/qtcreator-mobile-project-contents.png differ
index d7593b2..5e8e23a 100644 (file)
Binary files a/doc/images/qtcreator-mobile-project-qt-versions.png and b/doc/images/qtcreator-mobile-project-qt-versions.png differ
index c1f2a1b..744f35c 100644 (file)
Binary files a/doc/images/qtcreator-mobile-project-summary.png and b/doc/images/qtcreator-mobile-project-summary.png differ
index cdd61eb..ee6f379 100644 (file)
Binary files a/doc/images/qtcreator-mobile-project-widgets.png and b/doc/images/qtcreator-mobile-project-widgets.png differ
index a498fdc..3769f24 100644 (file)
Binary files a/doc/images/qtcreator-mobile-simulated.png and b/doc/images/qtcreator-mobile-simulated.png differ
index b47951d..fc9408c 100644 (file)
Binary files a/doc/images/qtcreator-new-mobile-project.png and b/doc/images/qtcreator-new-mobile-project.png differ
index dd89a48..3904228 100644 (file)
         \o In the \gui {Create in} field, enter the path for the project files. For example,
         \c {C:\Qt\examples}, and then click \gui{Next}.
 
-        The \gui{Select Required Qt Versions} dialog opens.
+        The \gui{Qt Versions} dialog opens.
 
-        \image qtcreator-mobile-project-qt-versions.png "Select Required Qt Versions dialog"
+        \image qtcreator-mobile-project-qt-versions.png "Qt Versions dialog"
 
         \o Select \gui Maemo, \gui {Qt Simulator}, and \gui {Symbian Device} targets,
         and click \gui{Next}.
 
         \note Targets are listed if you installed the appropriate development
-        environment, for example, as part of the Nokia Qt SDK.
+        environment, for example, as part of the Nokia Qt SDK. You can add targets
+        later in the \gui Projects mode.
 
-        The \gui{Class Information} dialog opens.
-
-        \image qtcreator-mobile-class-info.png "Class Information dialog"
-
-        \o In the \gui{Class Name} field, type \bold {BatteryIndicator} as the class name.
+        The \gui {Application Options} dialog opens.
 
-        \o In the \gui{Base Class} list, select \bold {QDialog} as the base class type.
+        \image qtcreator-mobile-project-app-options.png "Application Options dialog"
 
-        \note The \gui{Header File}, \gui{Source File} and \gui{Form File} fields are
-        automatically updated to match the name of the class.
+        \o In the \gui {Orientation behavior} field, determine how the application
+        behaves when the orientation of the device display rotates between portrait
+        and landscape, and then click \gui{Next}.
 
-        \o Click \gui{Next}.
+        \note Qt Creator contains a default program icon and generates a UID for testing
+        the application on a device. You only need to specify the \gui {Symbian Specific}
+        and \gui {Maemo Specific} settings if you deliver the application for public use.
 
         The \gui{Project Management} dialog opens.
 
 
     \list
 
-        \o batteryindicator.h
-        \o batteryindicator.cpp
-        \o main.cpp
-        \o batteryindicator.ui
         \o BatteryIndicator.pro
+        \o main.cpp
+        \o BatteryIndicator.svg
+        \o BatteryIndicator.png
+        \o BatteryIndicator.desktop
+        \o deployment.pri
+        \o mainwindow.cpp
+        \o mainwindow.ui
+        \o mainwindow.h
+        \o templates for debian deployment files
 
     \endlist
 
     \image qtcreator-mobile-project-contents.png "Project contents"
 
     The files come with the necessary boiler plate code that you must
-    modify, as described in the following sections. You do not need
-    to change the main.cpp file.
+    modify, as described in the following sections.
 
     \section1 Declaring the Qt Mobility API
 
-    The \gui New wizard automatically adds information to the .pro file
-    that you need when you use the Qt Mobility APIs or develop applications
-    for Symbian devices. You must modify the information to declare the
-    Qt Mobility APIs that you use.
+    To use the Qt Mobility APIs or develop applications for Symbian
+    devices, you must modify the .pro file to declare the Qt Mobility APIs
+    that you use.
 
     This example uses the System Info API, so you must declare it, as
     illustrated by the following code snippet:
     corresponding values that you can assign to MOBILITY, see the
     \l {http://doc.qt.nokia.com/qtmobility-1.0/quickstart.html}{Quickstart Example}.
 
-    The following code snippet shows information that is needed for
-    applications developed for Symbian device. Qt Creator generated
-    the UID for testing the application on a device. You only need
-    to change the UID and capabilities if you deliver the application
-    for public use and need to have it Symbian Signed.
-
-    \code
-
-    symbian {
-        TARGET.UID3 = 0xecbd72d7
-        # TARGET.CAPABILITY +=
-        TARGET.EPOCSTACKSIZE = 0x14000
-        TARGET.EPOCHEAPSIZE = 0x020000 0x800000
-    }
-
-    \endcode
-
     \section1 Designing the User Interface
 
     \list 1
 
-        \o In the \gui{Editor} mode, double-click the batteryindicator.ui
+        \o In the \gui{Editor} mode, double-click the mainwindow.ui
         file in the \gui{Projects} view to launch the integrated \QD.
 
         \o Drag and drop a \gui{Progress Bar} (\l{http://doc.qt.nokia.com/4.7/qprogressbar.html}{QProgressBar})
         \o In the \gui Properties pane, change the \gui objectName to
         \bold batteryLevelBar.
 
-        \o Right-click the \gui BatteryIndicator object and select
+        \o Right-click the \gui MainWindow object and select
         \gui {Lay Out > Lay Out Horizontally} to ensure that the battery
         indicator widget size is adjusted correctly on Maemo devices.
 
-        To adjust widget size correctly on Qt Simulator, remove the condition
-        from the main.cpp file (displayed in the following code snippet) and just
-        leave the \c {w.showMaximized();} line:
-
-        \snippet examples/batteryindicator/main.cpp 0
-
-
     \endlist
 
     \section1 Completing the Header File
 
-    The batteryindicator.h file contains some of the necessary #includes, a
+    The mainwindow.h file contains some of the necessary #includes, a
     constructor, a destructor, and the \c{Ui} object. You must include
     the System Info header file, add a shortcut to the mobility name
     space, and add a private function to update the battery level value in
 
     \list 1
 
-        \o In the \gui{Projects} view, double-click the \c{batteryindicator.h} file
+        \o In the \gui{Projects} view, double-click the \c{mainwindow.h} file
         to open it for editing.
 
         \o Include the System Info header file, as illustrated by the following
         code snippet:
 
-        \snippet examples/batteryindicator/batteryindicator.h 1
+        \snippet examples/batteryindicator/mainwindow.h 1
 
         \o Add a shortcut to the mobility name space, as illustrated by the
         following code snippet:
 
-        \snippet examples/batteryindicator/batteryindicator.h 2
+        \snippet examples/batteryindicator/mainwindow.h 2
 
         \o Declare a private function in the \c{private} section, after the
-        \c{Ui::BatteryIndicator} function, as illustrated by the following code
+        \c{Ui::MainWindow} function, as illustrated by the following code
         snippet:
 
-        \snippet examples/batteryindicator/batteryindicator.h 3
+        \snippet examples/batteryindicator/mainwindow.h 3
 
     \endlist
 
     \section1 Completing the Source File
 
     Now that the header file is complete, move on to the source file,
-    batteryindicator.cpp.
+    mainwindow.cpp.
 
     \list 1
 
-        \o In the \gui{Projects} view, double-click the batteryindicator.cpp file
+        \o In the \gui{Projects} view, double-click the mainwindow.cpp file
         to open it for editing.
 
         \o Create a QSystemDeviceInfo object and set its value. Then connect the signal
         that indicates that battery level changed to the \c setValue
         slot of the progress bar. This is illustrated by the following code snippet:
 
-        \snippet examples/batteryindicator/batteryindicator.cpp 1
+        \snippet examples/batteryindicator/mainwindow.cpp 1
 
         \o Use the constructor to set initial values and make sure that the
          created object is in a defined state, as illustrated by the following
          code snippet:
 
-         \snippet examples/batteryindicator/batteryindicator.cpp 2
+         \snippet examples/batteryindicator/mainwindow.cpp 2
 
     \endlist
 
 
     \list 1
 
-        \o Install Qt 4.6.2 libraries, the Qt mobile libraries, and the TRK
+        \o Install Qt libraries, Qt mobile libraries, and the TRK
         debugging application on the device. For more information,
         see \l{Setting Up Development Environment for Symbian}.
 
         configurations by clicking \gui {Device}. You can also simulate various
         mobile functions and create your own scripts.
 
-        \o To test the application on a Symbian device install Qt 4.6.2
+        \o To test the application on a Symbian device install Qt libraries
         and the TRK debugging application on the device. For more information,
         see \l{Setting Up Development Environment for Symbian}.