Merge remote-tracking branch 'origin/2.6'
2
README
@@ -17,7 +17,7 @@ Compiling Qt Creator
|
||||
Prerequisites:
|
||||
* Qt 4.7.4
|
||||
* On Windows:
|
||||
- ActiveState Active Perl (version 5.8.9 for Symbian development)
|
||||
- ActiveState Active Perl
|
||||
- MinGW 4.4 or later, Visual Studio 2008 or later
|
||||
- jom
|
||||
The Qt SDK provides you with most of the required software.
|
||||
|
||||
@@ -6,30 +6,14 @@ 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()
|
||||
|
||||
|
||||
@@ -1,80 +0,0 @@
|
||||
/***************************************************************************
|
||||
**
|
||||
** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
|
||||
** All rights reserved.
|
||||
** Contact: http://www.qt-project.org/
|
||||
**
|
||||
** 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."
|
||||
**
|
||||
****************************************************************************/
|
||||
//! [3]
|
||||
import QtQuick 1.1
|
||||
import com.nokia.symbian 1.1
|
||||
//! [3]
|
||||
|
||||
//! [4]
|
||||
import QtMobility.systeminfo 1.2
|
||||
//! [4]
|
||||
|
||||
//! [0]
|
||||
Page {
|
||||
id: mainPage
|
||||
|
||||
DeviceInfo {
|
||||
id: deviceinfo
|
||||
monitorBatteryLevelChanges: true
|
||||
}
|
||||
//! [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]
|
||||
}
|
||||
@@ -1,71 +0,0 @@
|
||||
/***************************************************************************
|
||||
**
|
||||
** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
|
||||
** All rights reserved.
|
||||
** Contact: http://www.qt-project.org/
|
||||
**
|
||||
** 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"))
|
||||
}
|
||||
}
|
||||
@@ -6,26 +6,11 @@ DEPLOYMENTFOLDERS = folder_01
|
||||
# Additional import path used to resolve QML modules in Creator's code model
|
||||
QML_IMPORT_PATH =
|
||||
|
||||
symbian:TARGET.UID3 = 0xE506784B
|
||||
|
||||
# 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 +=
|
||||
|
||||
# Add dependency to symbian components
|
||||
# CONFIG += qtquickcomponents
|
||||
|
||||
# The .cpp file which was generated for your project. Feel free to hack it.
|
||||
SOURCES += main.cpp
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 6.4 KiB |
|
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 12 KiB |
BIN
doc/images/qtcreator-playbook-deployment.png
Executable file
|
After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 24 KiB |
BIN
doc/images/qtcreator-qnx-deployment.png
Executable file → Normal file
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 6.5 KiB |
|
Before Width: | Height: | Size: 4.6 KiB |
|
Before Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 8.7 KiB |
|
Before Width: | Height: | Size: 8.4 KiB |
|
Before Width: | Height: | Size: 6.5 KiB |
|
Before Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 3.5 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 63 KiB |
|
Before Width: | Height: | Size: 4.9 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 740 B After Width: | Height: | Size: 905 B |
10536
doc/qt.index
@@ -129,8 +129,8 @@
|
||||
After you download and install Valgrind tools, you can use Callgrind from
|
||||
\QC.
|
||||
|
||||
\note Callgrind is supported locally on Linux and Mac OS. You can run it on
|
||||
a remote host from Windows.
|
||||
\note Callgrind is supported locally on Linux and Mac OS. You can run
|
||||
it on a remote Linux machine or device from any development machine.
|
||||
|
||||
To analyze applications:
|
||||
|
||||
@@ -166,6 +166,21 @@
|
||||
the \gui Callers view and about the called functions in the \gui Callees
|
||||
view.
|
||||
|
||||
Since Debug and Release mode run-time characteristics differ
|
||||
significantly, analytical findings for one mode may or not be
|
||||
relevant for the other. Profiling a Debug mode build
|
||||
often finds a major part of the time being spent in low-level
|
||||
code like container implementations, while the same code
|
||||
does not show up in the profile of a Release build of the
|
||||
same application due to inlining and other optimizations
|
||||
typically done there.
|
||||
|
||||
Many recent compilers allow you to build an optimized application
|
||||
with debug information present at the same time. Typical
|
||||
options for GCC are for instance \c{-g -O2}. It is
|
||||
advisable to use such a setup for Callgrind profiling.
|
||||
|
||||
|
||||
\image qtcreator-valgrind-callgrind.png "Profile view"
|
||||
|
||||
\section1 Selecting Profiling Options
|
||||
|
||||
@@ -135,10 +135,6 @@
|
||||
\o Windows/MSVC
|
||||
\o Microsoft Visual C++ Compiler
|
||||
\o Debugging Tools for Windows/CDB
|
||||
\row
|
||||
\o Symbian
|
||||
\o GCC
|
||||
\o GDB
|
||||
\row
|
||||
\o Maemo, MeeGo
|
||||
\o GCC
|
||||
@@ -174,11 +170,6 @@
|
||||
|
||||
\o RemoteGdbAdapter interacts with the GDB server running on Linux.
|
||||
|
||||
\o CodaGdbAdapter interacts with Symbian devices. The GDB protocol and
|
||||
the GDB serial protocol are used between GDB and the adapter. The
|
||||
target communication framework (TCF) protocol is used between the
|
||||
adapter and the CODA debugging agent running on the device.
|
||||
|
||||
\endlist
|
||||
|
||||
\endomit
|
||||
|
||||
@@ -242,7 +242,7 @@
|
||||
remote machine and a counterpart running on the host side.
|
||||
The probe is either integrated into the running process (e.g. for QML
|
||||
debugging) or runs a separate process (e.g. when using GDB server
|
||||
on embedded Linux, or TRK/CODA on Symbian). The host side typically
|
||||
on embedded Linux). The host side typically
|
||||
consists of \QC itself, often with the help of an external process, such as
|
||||
\if defined(qcmanual)
|
||||
GDB or CDB.
|
||||
@@ -846,10 +846,6 @@
|
||||
\o There is no Python-enabled GDB for Mac OS. Mac OS continues
|
||||
injection with C++ based debugging helpers.
|
||||
|
||||
\o On the Symbian platform, an on-device debugging agent restricts the
|
||||
communication between GDB and the device. Therefore, extracting
|
||||
QObject properties, for example, is not possible.
|
||||
|
||||
\o There is no GDB to communicate with MSVC compiled applications on
|
||||
Windows. So information can be displayed nicely only in a limited
|
||||
fashion by using a cdb extension DLL.
|
||||
@@ -1052,10 +1048,7 @@
|
||||
|
||||
\o \gui{putCallItem(self, name, value, func, *args)} -
|
||||
Uses GDB to call the function \c func on the value specified by
|
||||
\a {value} and output the resulting item. This function is
|
||||
not available when debugging core dumps and it is not available
|
||||
on the Symbian platform due to restrictions imposed by the on-device
|
||||
debugging agent.
|
||||
\a {value} and output the resulting item.
|
||||
|
||||
\o \gui{putItem(self, value)} - The "master function", handling
|
||||
basic types, references, pointers and enums directly, iterates
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
\title Debugging a Qt Quick Example Application
|
||||
|
||||
This section uses the
|
||||
\l{http://doc.qt.nokia.com/4.7/demos-declarative-samegame.html}{Same Game}
|
||||
\l{http://qt-project.org/doc/qt-4.8/demos-declarative-samegame.html}{Same Game}
|
||||
demo application to illustrate how to debug Qt Quick applications in the
|
||||
\gui Debug mode.
|
||||
|
||||
|
||||
@@ -36,8 +36,7 @@
|
||||
Qt 4.8, or later.
|
||||
|
||||
To debug Qt Quick applications running on devices, you must install
|
||||
Qt 4.7.4, or later, libraries on devices. To debug applications on Symbian
|
||||
devices, you must install also QML Viewer on them.
|
||||
Qt 4.7.4, or later, libraries on devices.
|
||||
|
||||
For an example of how to debug Qt Quick Projects, see
|
||||
\l{Debugging a Qt Quick Example Application}.
|
||||
|
||||
@@ -1148,7 +1148,7 @@
|
||||
\gui {Regular Expressions}.
|
||||
Regular expressions used in \QC are modeled on Perl regular
|
||||
expressions. For more information on using regular expressions, see
|
||||
\l {http://doc.qt.nokia.com/4.7/qregexp.html#details}
|
||||
\l {http://qt-project.org/doc/qt-4.8/qregexp.html#details}
|
||||
{Detailed Description} in the QRegExp Class Reference.
|
||||
|
||||
\endlist
|
||||
|
||||
@@ -57,7 +57,8 @@
|
||||
External > Configure}.
|
||||
|
||||
For more information about Qt Linguist, see
|
||||
\l{http://doc.qt.nokia.com/4.7/linguist-manual.html}{Qt Linguist Manual}.
|
||||
\l{http://qt-project.org/doc/qt-4.8/linguist-manual.html}
|
||||
{Qt Linguist Manual}.
|
||||
|
||||
\section1 Using QML Viewer
|
||||
|
||||
|
||||
@@ -177,7 +177,7 @@
|
||||
|
||||
For information on how to prepare your documentation and create a
|
||||
.qch file, see
|
||||
\l{http://doc.qt.nokia.com/4.7/qthelp-framework.html}
|
||||
\l{http://qt-project.org/doc/qt-4.8/qthelp-framework.html}
|
||||
{The Qt Help Framework}.
|
||||
|
||||
\o To add the .qch file to \QC, select \gui Tools > \gui Options >
|
||||
|
||||
@@ -231,10 +231,6 @@
|
||||
\l{http://technet.microsoft.com/en-us/sysinternals/bb896647}{DebugView for Windows}
|
||||
to display output from GUI applications.
|
||||
|
||||
\if defined(qcmanual)
|
||||
\input symbian/creator-faq-debug-output-symbian.qdocinc
|
||||
\endif
|
||||
|
||||
\section1 Questions about New Features
|
||||
|
||||
\bold {Will a requested feature be implemented?}
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
/*!
|
||||
\contentspage index.html
|
||||
\previouspage creator-deployment-symbian.html
|
||||
\previouspage creator-deployment.html
|
||||
\page creator-deployment-maemo.html
|
||||
\nextpage creator-deployment-qnx.html
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
\gui {Remote Directory} field displays the folder where the file is
|
||||
installed on the device. Text in red color indicates that the information is
|
||||
missing. Edit the qmake
|
||||
\l{http://doc.qt.nokia.com/4.8/qmake-variable-reference.html#installs}
|
||||
\l{http://qt-project.org/doc/qt-4.8/qmake-variable-reference.html#installs}
|
||||
{INSTALLS variable} in the project .pro file to add the missing files.
|
||||
|
||||
When you run the application, \QC copies the necessary files to the device
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
/*!
|
||||
\contentspage index.html
|
||||
\previouspage creator-publish-ovi-symbian.html
|
||||
\previouspage creator-publish-ovi.html
|
||||
\page creator-publish-ovi-maemo.html
|
||||
\nextpage creator-publish-ovi-meego.html
|
||||
|
||||
|
||||
@@ -26,11 +26,7 @@
|
||||
\previouspage creator-developing-meego.html
|
||||
\endif
|
||||
\page creator-developing-maemo.html
|
||||
\if defined(qcmanual)
|
||||
\nextpage creator-developing-symbian.html
|
||||
\else
|
||||
\nextpage smartinstaller.html
|
||||
\endif
|
||||
\nextpage creator-developing-qnx.html
|
||||
|
||||
\title Connecting Maemo Devices
|
||||
|
||||
|
||||
@@ -20,11 +20,7 @@
|
||||
/*!
|
||||
|
||||
\contentspage index.html
|
||||
\if defined(qcmanual)
|
||||
\previouspage creator-connecting-mobile.html
|
||||
\else
|
||||
\previouspage creator-developing-symbian.html
|
||||
\endif
|
||||
\page creator-developing-meego.html
|
||||
\if defined(qcmanual)
|
||||
\nextpage creator-developing-generic-linux.html
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
\contentspage index.html
|
||||
\previouspage creator-running-targets.html
|
||||
\page creator-deployment.html
|
||||
\nextpage creator-deployment-symbian.html
|
||||
\nextpage creator-deployment-maemo.html
|
||||
|
||||
\title Deploying to Mobile Devices
|
||||
|
||||
@@ -38,13 +38,6 @@
|
||||
|
||||
\list
|
||||
|
||||
\o \l{Deploying Applications to Symbian Devices}
|
||||
|
||||
When you deploy the application for the \gui{Symbian Device} target,
|
||||
\QC automatically generates a Symbian installation system (SIS) file
|
||||
in the project folder and copies it to the connected device. You can
|
||||
sign the SIS file and wrap it in a Nokia Smart Installer for Symbian
|
||||
package. You can test and debug the application on the device.
|
||||
\o \l{Deploying Applications to Linux-Based Devices}
|
||||
|
||||
When you deploy the application on a Linux-based device target, such
|
||||
@@ -55,9 +48,11 @@
|
||||
Maemo 5 devices.
|
||||
\o \l{Deploying Applications to QNX Devices}
|
||||
|
||||
When you deploy the application on the \gui{QNX} target, \QC generates
|
||||
a BAR package in the build directory and deploys it to the connected
|
||||
device. You can test and debug the application on the device.
|
||||
When you deploy the application on the \gui{QNX} target, depending
|
||||
on your target device, \QC either generates a BAR package in the
|
||||
build directory and deploys it to the connected device, or copies
|
||||
the application files to the connected device. You can test and
|
||||
debug the application on the device.
|
||||
\o \l{Deploying Applications to Android Devices}
|
||||
|
||||
When you deploy the application on the Android target, \QC copies
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
\contentspage index.html
|
||||
\previouspage creator-running-valgrind-remotely.html
|
||||
\page creator-publish-ovi.html
|
||||
\nextpage creator-publish-ovi-symbian.html
|
||||
\nextpage creator-publish-ovi-maemo.html
|
||||
|
||||
\title Publishing
|
||||
|
||||
@@ -45,13 +45,6 @@
|
||||
|
||||
\list
|
||||
|
||||
\o \l{Publishing Qt Content for Symbian Devices}
|
||||
|
||||
The \gui {Publish Qt Symbian Applications to Nokia Store}
|
||||
wizard ensures that your application can be published to Nokia
|
||||
Store by verifying that the the application UID, vendor name,
|
||||
and the capabilities used meet the Nokia Publish criteria.
|
||||
|
||||
\o \l{Publishing Qt Content for MeeGo Harmattan Devices}
|
||||
|
||||
\QC generates installation packages that you can publish to
|
||||
|
||||
@@ -68,7 +68,7 @@
|
||||
be defined in Button.qml. The QML runtime may instantiate this
|
||||
Button component to create Button objects. Alternatively, a
|
||||
component may be defined inside a
|
||||
\l{http://doc.qt.nokia.com/4.7-snapshot/qmlreusablecomponents.html}
|
||||
\l{http://qt-project.org/doc/qt-4.8/qmlreusablecomponents.html}
|
||||
{Component} element.
|
||||
|
||||
\row
|
||||
|
||||
@@ -122,27 +122,6 @@
|
||||
|
||||
\list
|
||||
|
||||
\o Debugging large applications on Symbian devices using the Symbian^3
|
||||
operating system might not work, because the on-device debugging
|
||||
agent might not be able to access memory when the operating system
|
||||
starts paging. This causes breakpoint handling and symbol resolution
|
||||
to fail. For more information, see
|
||||
\l{https://bugreports.qt-project.org/browse/QTCREATORBUG-2158}
|
||||
{QTCREATORBUG-2158}.
|
||||
|
||||
As a workaround, add the following section to the application .pro
|
||||
file to disable paging:
|
||||
|
||||
\code
|
||||
debug {
|
||||
MMP_RULES -= PAGED
|
||||
MMP_RULES *= UNPAGED
|
||||
}
|
||||
\endcode
|
||||
|
||||
\note You must completely clean and rebuild the project for the
|
||||
setting to take effect.
|
||||
|
||||
\o When debugging executables created by the GNU Compiler version 4.5.0
|
||||
(all platforms), some data types will not be displayed in the
|
||||
\gui{Locals and Expressions} view due to missing debug information.
|
||||
|
||||
@@ -65,21 +65,13 @@
|
||||
Developer) to create the device-side end point for USB and WLAN
|
||||
connections.
|
||||
|
||||
\o \l{Connecting Symbian Devices}
|
||||
|
||||
You can run Qt applications on Symbian devices if the software
|
||||
that Qt applications require (typically Qt, Qt Mobility, QtWebkit,
|
||||
and Open C) is installed on the device. On Symbian Anna and later
|
||||
devices, some version of Qt is pre-installed.
|
||||
Install and launch the CODA on-device debugging agent on the
|
||||
devices and connect the devices to the development PC.
|
||||
|
||||
\o \l{Connecting QNX Devices}
|
||||
|
||||
You can connect QNX devices to the development PC to deploy, run and
|
||||
debug applications on them from within \QC. This is currently only
|
||||
supported for BlackBerry Playbook, and requires the BlackBerry NDK
|
||||
to be installed on the development PC.
|
||||
supported for BlackBerry Playbook and QNX Neutrino devices, and
|
||||
requires the BlackBerry NDK or the QNX SDK to be installed on the
|
||||
development PC.
|
||||
|
||||
\o \l{Connecting Android Devices}
|
||||
|
||||
|
||||
@@ -60,7 +60,8 @@
|
||||
|
||||
\QC provides two integrated visual editors, \QMLD and \QD.
|
||||
To create intuitive, modern-looking, fluid user interfaces, you
|
||||
can use \l {http://doc.qt.nokia.com/4.7/qtquick.html}{Qt Quick}.
|
||||
can use \l {http://qt-project.org/doc/qt-4.8/qtquick.html}
|
||||
{Qt Quick}.
|
||||
If you need a traditional user interface that is clearly
|
||||
structured and enforces a platform look and feel, you can use
|
||||
the integrated \QD. For more information, see
|
||||
|
||||
@@ -14,8 +14,6 @@
|
||||
|
||||
\o Generic remote Linux
|
||||
|
||||
\o Symbian
|
||||
|
||||
\o QNX
|
||||
|
||||
\o Android
|
||||
@@ -35,7 +33,6 @@
|
||||
\o Maemo 5
|
||||
\o MeeGo Harmattan
|
||||
\o Generic Remote Linux
|
||||
\o Symbian
|
||||
\o QNX
|
||||
\o Android
|
||||
|
||||
@@ -46,7 +43,6 @@
|
||||
\o Yes
|
||||
\o Yes
|
||||
\o Yes
|
||||
\o Yes
|
||||
\o Yes (see \l{Running on QNX Devices} for limitations)
|
||||
\o Yes
|
||||
|
||||
@@ -57,7 +53,6 @@
|
||||
\o Yes
|
||||
\o Yes
|
||||
\o Yes
|
||||
\o Yes (by using Remote Compiler for building)
|
||||
\o Yes
|
||||
\o Yes
|
||||
\row
|
||||
@@ -67,7 +62,6 @@
|
||||
\o Yes
|
||||
\o Yes
|
||||
\o Yes
|
||||
\o Yes (by using Remote Compiler for building)
|
||||
\o Yes
|
||||
\o Yes
|
||||
\endtable
|
||||
|
||||
@@ -55,9 +55,8 @@
|
||||
\list 1
|
||||
|
||||
\o Select at least \QS and one of the mobile
|
||||
\l{glossary-development-target}{targets} (1), Symbian
|
||||
Device, Maemo 5, or MeeGo Harmattan, depending on the device
|
||||
you develop for.
|
||||
\l{glossary-development-target}{targets} (1), Maemo 5 or
|
||||
MeeGo Harmattan, depending on the device you develop for.
|
||||
|
||||
\o Select \gui {Configure Project} (2).
|
||||
|
||||
@@ -87,17 +86,6 @@
|
||||
can also simulate various mobile functions and create your own
|
||||
scripts.
|
||||
|
||||
\if defined(qcmanual)
|
||||
\o To test the application on a Symbian device, check that the required
|
||||
Qt libraries and a debugging agent are installed on the device. For
|
||||
more information, see \l{Connecting Symbian Devices}.
|
||||
|
||||
\o Click the \gui {Target Selector} and select \gui {Symbian Device}.
|
||||
|
||||
\o Click \gui Run to build the application and run it on the Symbian
|
||||
device.
|
||||
\endif
|
||||
|
||||
\endlist
|
||||
|
||||
*/
|
||||
|
||||
@@ -56,8 +56,4 @@
|
||||
For more information on the options you have, see
|
||||
\l{Specifying Build Settings}.
|
||||
|
||||
\if defined(qcmanual)
|
||||
\input symbian/creator-projects-building-symbian.qdocinc
|
||||
\endif
|
||||
|
||||
*/
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
automates the generation of build configurations so that only a few lines
|
||||
of information are needed to create each configuration. For more
|
||||
information about qmake, see the
|
||||
\l{http://qt.nokia.com/doc/4.7/qmake-manual.html}{qmake Manual}.
|
||||
\l{http://qt-project.org/doc/qt-4.8/qmake-manual.html}{qmake Manual}.
|
||||
|
||||
You can modify the build and run settings for qmake projects in the
|
||||
\gui Projects mode.
|
||||
@@ -68,15 +68,6 @@
|
||||
use \QC as a code editor and to fully control the steps and commands used to
|
||||
build the project.
|
||||
|
||||
\if defined(qcmanual)
|
||||
To develop applications for Symbian devices, you use qmake and the local
|
||||
Symbian compiler (on Windows) or qmake and a compilation service at
|
||||
Nokia Developer (on Linux and Mac OS) to build the applications for the
|
||||
Symbian devices target. The interface to the compilation service,
|
||||
Remote Compiler, is installed as a part of the \QSDK. For more information,
|
||||
see \l{Building with Remote Compiler}.
|
||||
\endif
|
||||
|
||||
You can install mobile device \l{glossary-development-target}{targets}
|
||||
as part of the \QSDK. The build and run settings for the
|
||||
installed targets are set up automatically. However, you might need to
|
||||
@@ -129,13 +120,6 @@
|
||||
interfaces with a custom look and feel and QML and C++ code to
|
||||
implement the application logic
|
||||
|
||||
\o Qt Quick Application for Symbian
|
||||
|
||||
Use Qt Quick Components for Symbian to design a user interface
|
||||
with the platform look and feel. Select this template to develop
|
||||
for Symbian devices that support Qt 4.7.4 or later and have the
|
||||
Qt Quick Components installed
|
||||
|
||||
\o Qt Quick Application for MeeGo Harmattan
|
||||
|
||||
Use Qt Quick Components for MeeGo Harmattan to design a user
|
||||
@@ -325,7 +309,7 @@
|
||||
Qt provides support for integration with OpenGL implementations on all
|
||||
platforms, which allows you to display hardware accelerated 3D graphics
|
||||
alongside a more conventional user interface. For more information, see
|
||||
\l{http://doc.qt.nokia.com/4.7/qtopengl.html}{QtOpenGL Module}.
|
||||
\l{http://qt-project.org/doc/qt-4.8/qtopengl.html}{QtOpenGL Module}.
|
||||
|
||||
You can use the QGLShader class to compile OpenGL shaders written in the
|
||||
OpenGL Shading Language (GLSL) and in the OpenGL/ES Shading Language
|
||||
@@ -379,7 +363,7 @@
|
||||
|
||||
The wizard creates a project file (.pro) that defines a \c subdirs template
|
||||
and the subproject that you add as a value of the
|
||||
\l{http://doc.qt.nokia.com/4.7/qmake-variable-reference.html#subdirs}
|
||||
\l{http://qt-project.org/doc/qt-4.8/qmake-variable-reference.html#subdirs}
|
||||
{SUBDIRS variable}. It also adds all the necessary files for the subproject.
|
||||
|
||||
To add more subprojects, right-click the project name in the \gui Projects
|
||||
|
||||
@@ -89,7 +89,7 @@
|
||||
\endlist
|
||||
|
||||
For more information about the project file settings, see
|
||||
\l{http://doc.qt.nokia.com/4.7/qmake-project-files.html#declaring-other-libraries}
|
||||
\l{http://qt-project.org/doc/qt-4.8/qmake-project-files.html#declaring-other-libraries}
|
||||
{Declaring Other Libraries}.
|
||||
|
||||
\section1 Example of Adding Internal Libraries
|
||||
@@ -127,7 +127,6 @@
|
||||
\code
|
||||
win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../../../projects/mylib/release/ -lmylib
|
||||
else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../../../projects/mylib/debug/ -lmylib
|
||||
else:symbian: LIBS += -lmylib
|
||||
else:unix: LIBS += -L$$OUT_PWD/../../../projects/mylib/ -lmylib
|
||||
|
||||
INCLUDEPATH += $$PWD/../../../projects/mylib
|
||||
@@ -135,7 +134,7 @@
|
||||
|
||||
win32:CONFIG(release, debug|release): PRE_TARGETDEPS += $$OUT_PWD/../../../projects/mylib/release/mylib.lib
|
||||
else:win32:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$OUT_PWD/../../../projects/mylib/debug/mylib.lib
|
||||
else:unix:!symbian: PRE_TARGETDEPS += $$OUT_PWD/../../../projects/mylib/libmylib.a
|
||||
else:unix: PRE_TARGETDEPS += $$OUT_PWD/../../../projects/mylib/libmylib.a
|
||||
\endcode
|
||||
|
||||
\endlist
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
{shadow builds} are used to keep the build specific files separate
|
||||
from the source. You can create separate versions of project files
|
||||
to keep platform-dependent code separate. You can use qmake
|
||||
\l{http://qt.nokia.com/doc/4.7/qmake-tutorial.html#adding-platform-specific-source-files}
|
||||
\l{http://qt-project.org/doc/qt-4.8/qmake-tutorial.html#adding-platform-specific-source-files}
|
||||
{scopes} to select the file to process depending on which platform
|
||||
qmake is run on.
|
||||
|
||||
|
||||
@@ -73,7 +73,6 @@
|
||||
\endlist
|
||||
|
||||
\if defined(qcmanual)
|
||||
\input symbian/creator-projects-qt-versions-symbian.qdocinc
|
||||
\input qnx/creator-projects-qt-version-qnx.qdocinc
|
||||
\endif
|
||||
|
||||
|
||||
@@ -37,8 +37,7 @@
|
||||
|
||||
To run executable files without deploying them first, deselect the
|
||||
\gui {Tools > Options > Project > Always deploy project before running it}
|
||||
option. This allows you to test SIS files that you receive from Nokia
|
||||
Publish or Symbian Signed after you have them signed, for example.
|
||||
option.
|
||||
|
||||
For more information on the options you have, see
|
||||
\l{Specifying Run Settings}.
|
||||
@@ -52,7 +51,6 @@
|
||||
\if defined(qcmanual)
|
||||
\input linux-mobile/creator-projects-running-madde.qdocinc
|
||||
\input linux-mobile/creator-projects-running-generic-linux.qdocinc
|
||||
\input symbian/creator-projects-running-symbian.qdocinc
|
||||
\input qnx/creator-projects-running-qnx.qdocinc
|
||||
\endif
|
||||
|
||||
|
||||
@@ -68,8 +68,6 @@
|
||||
|
||||
\o MeeGo Harmattan
|
||||
|
||||
\o Symbian Devices
|
||||
|
||||
\endlist
|
||||
|
||||
\section1 Starting External Processes
|
||||
|
||||
@@ -50,7 +50,6 @@
|
||||
\input projects/creator-projects-settings-run-desktop.qdocinc
|
||||
\input projects/creator-projects-settings-run-analyze.qdocinc
|
||||
\input projects/creator-projects-settings-run-debug.qdocinc
|
||||
\input symbian/creator-projects-settings-run-symbian.qdocinc
|
||||
\input linux-mobile/creator-projects-settings-run-linux.qdocinc
|
||||
\input qnx/creator-projects-settings-run-qnx.qdocinc
|
||||
\input android/creator-projects-settings-run-android.qdocinc
|
||||
|
||||
@@ -54,23 +54,10 @@
|
||||
|
||||
\o Clang is a C, C++, Objective C, and Objective C++ front-end for the
|
||||
LLVM compiler for Windows, Linux, and Mac OS X.
|
||||
|
||||
\o GCCE (GNU Compiler Collection for Embedded) is an ARM-based
|
||||
compiler used in Symbian OS 9 and distributed together with \QSDK.
|
||||
|
||||
\if defined(qcmanual)
|
||||
\o RVCT is an ARM-based compiler for building applications for Symbian
|
||||
devices (requires a license).
|
||||
|
||||
\o WINSCW is a compiler for building applications that can be run or
|
||||
debugged on the Symbian Emulator. It is distributed together with
|
||||
Symbian SDKs (but not with the \QSDK).
|
||||
\endif
|
||||
|
||||
\endlist
|
||||
|
||||
To build an application using GCC, MinGW, GCCE, or Clang, specify the paths
|
||||
to the directories where the compiler is located and select
|
||||
To build an application using GCC, MinGW, or Clang, specify the paths
|
||||
to the directories where the compiler and debugger are located and select
|
||||
the application binary interface (ABI) version from the list of available
|
||||
versions. You can also create a custom ABI definition.
|
||||
|
||||
@@ -100,12 +87,6 @@
|
||||
|
||||
The other settings to specify depend on the tool chain.
|
||||
|
||||
\if defined(qcmanual)
|
||||
\o For RVCT, select the ARM version to use in the \gui {ARM version}
|
||||
field. RVCT 2.2 is supported on Symbian Anna and earlier. RVCT 4.0 b902
|
||||
or later is required for Symbian Belle.
|
||||
\endif
|
||||
|
||||
\endlist
|
||||
|
||||
\section2 Troubleshooting MinGW Compilation Errors
|
||||
|
||||
@@ -32,18 +32,23 @@
|
||||
|
||||
\title Deploying Applications to QNX Devices
|
||||
|
||||
When you deploy the application on the \gui{QNX} target, \QC generates
|
||||
a BAR package in the build directory and installs it on the connected
|
||||
device. The contents of the BAR package are specified in the \gui{Application
|
||||
Descriptor File}.
|
||||
When you deploy the application on the \gui{QNX} target, depending on your
|
||||
target device, \QC either generates a BAR package and installs it on the
|
||||
connected device, or copies the application files to the device.
|
||||
|
||||
\image qtcreator-qnx-deployment.png "Deploy to device"
|
||||
\section1 Deploying to BlackBerry Devices
|
||||
|
||||
The name of the generated BAR package is shown in the \gui{Bar package}
|
||||
For \gui{BlackBerry} targets, \QC generates a BAR package in the build
|
||||
directory and installs it on the connected device. The contents of the BAR
|
||||
package are specified in the \gui{Application Descriptor File}.
|
||||
|
||||
\image qtcreator-playbook-deployment.png "Deploy to device"
|
||||
|
||||
The name of the generated BAR package is shown in the \gui{Package}
|
||||
setting. If the package already exists, it will be overwritten without
|
||||
prior notification.
|
||||
|
||||
\section1 Application Descriptor File
|
||||
\section2 Application Descriptor File
|
||||
|
||||
The application descriptor file needs to be created manually,
|
||||
or you can use the \gui{Application Descriptor} wizard to have a generic
|
||||
@@ -56,4 +61,23 @@
|
||||
descriptor file. For a full reference, see
|
||||
\l{https://bdsc.webapps.blackberry.com/native/documentation/com.qnx.doc.native_sdk.devguide/com.qnx.doc.native_sdk.devguide/topic/r_blackberry_tablet_dtd_intro.html}
|
||||
{Document Type Definition (DTD) for the application descriptor file}.
|
||||
|
||||
\section1 Deploying to QNX Neutrino Devices
|
||||
|
||||
Deploying applications to a \gui{QNX Neutrino} device is very similar to
|
||||
\l{Deploying Applications to Linux-Based Devices}.
|
||||
|
||||
\image qtcreator-qnx-deployment.png "Deploy to device"
|
||||
|
||||
The files to be installed are listed in the \gui {Deployment} step,
|
||||
the \gui {Files to install for subproject} field. The \gui {Local File Path}
|
||||
field displays the location of the file on the development PC. The
|
||||
\gui {Remote Directory} field displays the folder where the file is
|
||||
installed on the device. Text in red color indicates that the information is
|
||||
missing. Edit the qmake
|
||||
\l{http://doc.qt.nokia.com/4.8/qmake-variable-reference.html#installs}
|
||||
{INSTALLS variable} in the project .pro file to add the missing files.
|
||||
|
||||
When you run the application, \QC copies the necessary files to the device
|
||||
and starts the application on it.
|
||||
*/
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
/*!
|
||||
\contentspage index.html
|
||||
\previouspage creator-developing-symbian.html
|
||||
\previouspage creator-developing-maemo.html
|
||||
\page creator-developing-qnx.html
|
||||
\nextpage creator-developing-android.html
|
||||
|
||||
@@ -77,11 +77,11 @@
|
||||
From the command line:
|
||||
\c{blackberry-nativepackage -installDebugToken ~/.rim/debugtoken.bar -device <device_ip> [-password <device_pass>]}
|
||||
|
||||
\section1 Adding a QNX Device in \QC
|
||||
\section1 Adding a BlackBerry Device in \QC
|
||||
|
||||
Adding a QNX device is done using a wizard in the \gui{Device
|
||||
Adding a BlackBerry device is done using a wizard in the \gui{Device
|
||||
Configurations} options. To launch it, go to \gui{Tools > Options >
|
||||
Linux Devices > Device Configurations > Add... > QNX device > Start
|
||||
Linux Devices > Device Configurations > Add... > BlackBerry Device > Start
|
||||
Wizard}.
|
||||
|
||||
\image qtcreator-qnx-device-configurations-wizard-1.png "Connection details"
|
||||
@@ -113,4 +113,10 @@
|
||||
\gui{Device Configurations} options page.
|
||||
|
||||
\image qtcreator-qnx-device-configurations.png "Device Configurations"
|
||||
|
||||
\section1 Adding a QNX Neutrino Device in \QC
|
||||
|
||||
Adding a QNX Neutrino device is very similar to \l{Connecting Embedded
|
||||
Linux Devices}, except you need to select \gui{QNX Device} in the
|
||||
\gui{Device Configuration} wizard.
|
||||
*/
|
||||
|
||||
@@ -9,13 +9,13 @@
|
||||
|
||||
\image qtcreator-qt4-qtversions-win-qnx.png
|
||||
|
||||
If you have built your own version of Qt for QNX you need to add this manually to Qt Creator
|
||||
using the above dialog:
|
||||
If you have built your own version of Qt for QNX or BlackBerry you need to
|
||||
add this manually to Qt Creator using the above dialog:
|
||||
|
||||
\list 1
|
||||
\o Select \gui {Tools > Options > Build & Run > Qt Versions > Add}.
|
||||
\o Navigate to and select the qmake application that is part of your Qt for QNX build and select
|
||||
\gui {Open}.
|
||||
\o In the \gui {Blackberry Native SDK} field enter the path to your installed Blackberry NDK.
|
||||
\o In the \gui {Blackberry Native SDK} or \gui{QNX SDK} field enter the path to your installed Blackberry NDK or QNX SDK respectively.
|
||||
\o Select \gui {OK}.
|
||||
\endlist
|
||||
|
||||
@@ -7,9 +7,8 @@
|
||||
\o Configure the device and specify a connection to it. For more
|
||||
information, see \l{Connecting QNX Devices}.
|
||||
|
||||
\o Create an Application Descriptor File if it does not already exist.
|
||||
For more information, see \l{Deploying Applications to QNX
|
||||
Devices}.
|
||||
\o If you are running on a BlackBerry device, create an Application
|
||||
Descriptor File if it does not already exist. For more information, see \l{Deploying Applications to QNX Devices}.
|
||||
|
||||
\o Click the \gui Run button.
|
||||
|
||||
@@ -18,10 +17,10 @@
|
||||
\QC uses the compiler specified in the QNX tool chain to build the
|
||||
application.
|
||||
|
||||
\QC generates a BAR package, installs it on the device, and
|
||||
executes the selected application. The application views are displayed on
|
||||
the device. Command-line output is visible in the \QC
|
||||
\gui {Application Output} view.
|
||||
If you are running on a BlackBerry device, \QC generates a BAR package,
|
||||
installs it on the device, and executes the selected application. The
|
||||
application views are displayed on the device. Command-line output is
|
||||
visible in the \QC \gui {Application Output} view.
|
||||
|
||||
\note Debugging is currently only fully supported on Linux and Mac OS.
|
||||
It is not possible to insert breakpoints during runtime on Windows.
|
||||
@@ -29,9 +28,10 @@
|
||||
\section2 Troubleshooting Errors
|
||||
|
||||
For the command-line output to show up in the \gui{Application Output}
|
||||
view, \QC needs to be able to establish an SSH connection to the device.
|
||||
view when running on a BlackBerry device, \QC needs to be able to establish
|
||||
an SSH connection to the device.
|
||||
This is only possible if QNX Momentics is not running, and the SSH key
|
||||
configured for the device is a 4096-bit key.
|
||||
|
||||
If these conditions are not met, you will get an error message saying debug
|
||||
output cannot be shown.
|
||||
output cannot be shown.
|
||||
|
||||
@@ -1,13 +1,16 @@
|
||||
\section2 Specifying Run Settings for QNX Devices
|
||||
|
||||
To run and debug an application on a QNX device, you must create connections
|
||||
from the development PC to the device. Click \gui {Manage device configurations}
|
||||
to create a connection. For more information, see \l{Connecting QNX
|
||||
Devices}.
|
||||
To run and debug an application on a QNX or BlackBerry device, you must
|
||||
create connections from the development PC to the device. Click
|
||||
\gui {Manage device configurations} to create a connection. For more
|
||||
information, see \l{Connecting QNX Devices}.
|
||||
|
||||
\image qtcreator-qnx-run-settings.png "Run settings for QNX devices"
|
||||
|
||||
When you run the application on the QNX device, \QC first creates a BAR package
|
||||
When you run the application on the BlackBerry device, \QC first creates a BAR package
|
||||
using the settings in the Application Descriptor File. The default is to create the
|
||||
BAR package in the build directory. The BAR package is then deployed onto the
|
||||
selected device. For more information, see \l{Deploying Applications to QNX Devices}.
|
||||
|
||||
Specifying run settings for QNX Neutrino devices is very similar to
|
||||
\l{Specifying Run Settings for Linux-Based Devices}.
|
||||
@@ -107,7 +107,6 @@
|
||||
\o \list
|
||||
\o \bold {\l{Publishing}}
|
||||
\list
|
||||
\o \l{Publishing Qt Content for Symbian Devices}
|
||||
\o \l{Publishing Qt Content for MeeGo Harmattan Devices}
|
||||
\o \l{Publishing Qt Content for Maemo Devices}
|
||||
\o \l{Publishing Maemo Applications to Extras-devel}
|
||||
@@ -237,7 +236,6 @@
|
||||
\o \l{Running on Multiple Targets}
|
||||
\o \l{Deploying to Mobile Devices}
|
||||
\list
|
||||
\o \l{Deploying Applications to Symbian Devices}
|
||||
\o \l{Deploying Applications to Linux-Based Devices}
|
||||
\o \l{Deploying Applications to QNX Devices}
|
||||
\o \l{Deploying Applications to Android Devices}
|
||||
@@ -247,7 +245,6 @@
|
||||
\o \l{Connecting MeeGo Harmattan Devices}
|
||||
\o \l{Connecting Embedded Linux Devices}
|
||||
\o \l{Connecting Maemo Devices}
|
||||
\o \l{Connecting Symbian Devices}
|
||||
\o \l{Connecting QNX Devices}
|
||||
\o \l{Connecting Android Devices}
|
||||
\endlist
|
||||
@@ -282,7 +279,6 @@
|
||||
\endlist
|
||||
\o \l{Publishing}
|
||||
\list
|
||||
\o \l{Publishing Qt Content for Symbian Devices}
|
||||
\o \l{Publishing Qt Content for Maemo Devices}
|
||||
\o \l{Publishing Qt Content for MeeGo Harmattan Devices}
|
||||
\o \l{Publishing Maemo Applications to Extras-devel}
|
||||
|
||||
@@ -4,9 +4,6 @@
|
||||
|
||||
\list
|
||||
|
||||
\o In the \gui {Qt version} field, select a Qt version that has support
|
||||
for QML.
|
||||
|
||||
\o In the \gui Arguments field, you can specify command line arguments
|
||||
to be passed to the executable.
|
||||
|
||||
|
||||
@@ -90,9 +90,11 @@
|
||||
A user interface is only a part of an application, and not really useful by itself.
|
||||
You can use Qt or JavaScript to implement the application logic. For more information on
|
||||
using JavaScript, see
|
||||
\l {http://doc.qt.nokia.com/4.7/qdeclarativejavascript.html} {Integrating JavaScript}.
|
||||
\l {http://qt-project.org/doc/qt-4.8/qdeclarativejavascript.html}
|
||||
{Integrating JavaScript}.
|
||||
|
||||
For an example of how to use JavaScript to develop a game, see the
|
||||
\l {http://doc.qt.nokia.com/4.7/qml-advtutorial.html} {QML Advanced Tutorial}.
|
||||
\l {http://qt-project.org/doc/qt-4.8/qml-advtutorial.html}
|
||||
{QML Advanced Tutorial}.
|
||||
|
||||
*/
|
||||
|
||||
@@ -27,17 +27,16 @@
|
||||
\contentspage index.html
|
||||
\previouspage creator-tutorials.html
|
||||
\page creator-qml-application.html
|
||||
\nextpage creator-qml-components-example.html
|
||||
|
||||
\title Creating a Qt Quick Application
|
||||
|
||||
\note To complete this tutorial, you must have Qt 4.7 or later installed.
|
||||
|
||||
This tutorial uses built-in QML elements and illustrates basic concepts of
|
||||
\l {http://doc.qt.nokia.com/4.7/qtquick.html}{Qt Quick}.
|
||||
\l {http://qt-project.org/doc/qt-4.8/qtquick.html}{Qt Quick}.
|
||||
|
||||
This tutorial describes how to use the \QC to implement the
|
||||
\l{http://doc.qt.nokia.com/4.7/declarative-animation-states.html}
|
||||
\l{http://qt-project.org/doc/qt-4.8/declarative-animation-states.html}
|
||||
{states and transitions example application}. The example application
|
||||
displays a Qt logo that moves between three rectangles on the page when you
|
||||
click them.
|
||||
|
||||
@@ -92,7 +92,7 @@
|
||||
\endlist
|
||||
|
||||
To create a graphical button that scales beautifully without using vector
|
||||
graphics, use the \l{http://doc.qt.nokia.com/4.7/qml-borderimage.html}
|
||||
graphics, use the \l{http://qt-project.org/doc/qt-4.8/qml-borderimage.html}
|
||||
{Border Image} element. For more information, see
|
||||
\l{Creating Scalable Buttons and Borders}.
|
||||
|
||||
@@ -108,7 +108,7 @@
|
||||
|
||||
\title Creating Scalable Buttons and Borders
|
||||
|
||||
You can use the \l{http://doc.qt.nokia.com/4.7/qml-borderimage.html}
|
||||
You can use the \l{http://qt-project.org/doc/qt-4.8/qml-borderimage.html}
|
||||
{Border Image} element to display an image, such as a PNG file, as a border
|
||||
and a background.
|
||||
|
||||
|
||||
@@ -42,33 +42,34 @@
|
||||
|
||||
\list
|
||||
|
||||
\o \l{http://doc.qt.nokia.com/4.7/qml-borderimage.html}{Border Image}
|
||||
\o \l{http://qt-project.org/doc/qt-4.8/qml-borderimage.html}
|
||||
{Border Image}
|
||||
uses an image as a border or background.
|
||||
|
||||
\o \l{http://doc.qt.nokia.com/4.7/qml-image.html}{Image}
|
||||
\o \l{http://qt-project.org/doc/qt-4.8/qml-image.html}{Image}
|
||||
adds a bitmap to the scene. You can stretch and tile images.
|
||||
|
||||
\o \l{http://doc.qt.nokia.com/4.7/qml-item.html}{Item}
|
||||
\o \l{http://qt-project.org/doc/qt-4.8/qml-item.html}{Item}
|
||||
is the most basic of all visual items in QML. Even though it has no
|
||||
visual appearance, it defines all the properties that are common
|
||||
across visual items, such as the x and y position, width and height,
|
||||
anchoring, and key handling.
|
||||
|
||||
\o \l{http://doc.qt.nokia.com/4.7/qml-rectangle.html}{Rectangle}
|
||||
\o \l{http://qt-project.org/doc/qt-4.8/qml-rectangle.html}{Rectangle}
|
||||
adds a rectangle that is painted with a solid fill color and an
|
||||
optional border. You can also use the radius property to create
|
||||
rounded rectangles.
|
||||
|
||||
\o \l{http://doc.qt.nokia.com/4.7/qml-text.html}{Text}
|
||||
\o \l{http://qt-project.org/doc/qt-4.8/qml-text.html}{Text}
|
||||
adds formatted read-only text.
|
||||
|
||||
\o \l{http://doc.qt.nokia.com/4.7/qml-textedit.html}{Text Edit}
|
||||
\o \l{http://qt-project.org/doc/qt-4.8/qml-textedit.html}{Text Edit}
|
||||
adds a single line of editable formatted text that can be validated.
|
||||
|
||||
\o \l{http://doc.qt.nokia.com/4.7/qml-textinput.html}{Text Input}
|
||||
\o \l{http://qt-project.org/doc/qt-4.8/qml-textinput.html}{Text Input}
|
||||
adds a single line of editable plain text that can be validated.
|
||||
|
||||
\o \l{http://doc.qt.nokia.com/4.7-snapshot/qml-webview.html}{Web View}
|
||||
\o \l{http://qt-project.org/doc/qt-4.8/qml-webview.html}{Web View}
|
||||
adds web content to a canvas.
|
||||
|
||||
\endlist
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
application wizards import Qt Quick 1.1, and therefore, you can use them
|
||||
without changes if you target only platforms that run Qt 4.7.4 (such as
|
||||
MeeGo or the desktop). If you also target platforms that run Qt 4.7.3
|
||||
(such as Maemo and S60 5th Edition), you must change the import statement to
|
||||
(such as Maemo), you must change the import statement to
|
||||
import Qt Quick 1.0.
|
||||
\endif
|
||||
|
||||
@@ -121,7 +121,7 @@
|
||||
\endlist
|
||||
|
||||
The \c import statement in the beginning of the .qml file specifies the
|
||||
\l{http://doc.qt.nokia.com/4.7/qdeclarativemodules.html}{Qt modules} to
|
||||
\l{http://qt-project.org/doc/qt-4.8/qdeclarativemodules.html}{Qt modules} to
|
||||
import. Each Qt module contains a set of default elements. Specify a version
|
||||
to get the features you want.
|
||||
|
||||
@@ -137,9 +137,7 @@
|
||||
|
||||
\note We recommend that you use the \gui {Qt Quick Application for
|
||||
MeeGo Harmattan} template when you develop for MeeGo Harmattan
|
||||
devices and the \gui {Qt Quick Application for Symbian} template
|
||||
when you develop for Symbian devices that support Qt 4.7.4, or
|
||||
later.
|
||||
devices.
|
||||
|
||||
The \gui{Introduction and Project Location} dialog opens.
|
||||
|
||||
@@ -174,25 +172,11 @@
|
||||
application behaves when the orientation of the device display
|
||||
rotates between portrait and landscape, and then click \gui Next.
|
||||
|
||||
\note This dialog opens only if you select \gui Maemo5 or
|
||||
\gui {Symbian Device} target in the \gui {Target Setup} dialog. On
|
||||
\note This dialog opens only if you select \gui Maemo5
|
||||
target in the \gui {Target Setup} dialog. On
|
||||
Harmattan, the Qt Quick Components for MeeGo provide native-looking
|
||||
rotation.
|
||||
|
||||
The \gui {Symbian Specific} dialog opens.
|
||||
|
||||
\image qmldesigner-new-project-symbian-options.png "Symbian Specific dialog"
|
||||
|
||||
\o In the \gui {Application icon (.svg)} field, select an application
|
||||
icon for the \gui {Symbian Device} target, or use the default icon.
|
||||
|
||||
\o In the \gui {Target UID3} field, specify the \l{Application UID}, or
|
||||
use the default UID.
|
||||
|
||||
\note \QC generates a UID for testing the application on a device.
|
||||
You need to change the UID when you deliver the application for
|
||||
public use.
|
||||
|
||||
\o Click \gui Next.
|
||||
|
||||
The \gui {Harmattan Specific} dialog opens.
|
||||
@@ -217,7 +201,7 @@
|
||||
\endlist
|
||||
|
||||
\QC creates the necessary boilerplate files. Some of the files are
|
||||
specific to the Symbian, Maemo, or MeeGo Harmattan platform.
|
||||
specific to the Maemo or MeeGo Harmattan platform.
|
||||
|
||||
\section1 Importing QML Applications
|
||||
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
\section1 Managing Element Hierarchy
|
||||
|
||||
The \gui Navigator pane displays the
|
||||
\l{http://doc.qt.nokia.com/4.7/qdeclarativeelements.html}{QML elements}
|
||||
\l{http://qt-project.org/doc/qt-4.8/qdeclarativeelements.html}{QML elements}
|
||||
in the current QML file and their relationships. Elements (1) are listed in a
|
||||
tree structure, below their parent (2).
|
||||
|
||||
@@ -109,7 +109,7 @@
|
||||
|
||||
\section2 Setting the Stacking Order
|
||||
|
||||
The \l{http://doc.qt.nokia.com/4.7/qml-item.html#z-prop}{z property} of an
|
||||
The \l{http://qt-project.org/doc/qt-4.8/qml-item.html#z-prop}{z property} of an
|
||||
element determines its position in relation to its sibling elements in the
|
||||
element hierarchy. By default, elements with a higher stacking value are
|
||||
drawn on top of siblings with a lower stacking value. Elements with the same
|
||||
@@ -151,11 +151,6 @@
|
||||
|
||||
\list
|
||||
|
||||
\if defined(qcmanual)
|
||||
\o \c {import com.nokia.symbian 1.0} for Symbian (Qt 4.7)
|
||||
\o \c {import com.nokia.symbian 1.1} for Symbian (Qt 4.8)
|
||||
\endif
|
||||
|
||||
\o \c {import com.nokia.meego 1.0} for MeeGo
|
||||
|
||||
\endlist
|
||||
@@ -241,7 +236,7 @@
|
||||
|
||||
\section2 Setting Expressions
|
||||
|
||||
\l{http://doc.qt.nokia.com/4.7/propertybinding.html}{Property binding} is a
|
||||
\l{http://qt-project.org/doc/qt-4.8/propertybinding.html}{Property binding} is a
|
||||
declarative way of specifying the value of a property.
|
||||
Binding allows a property value to be expressed as an JavaScript expression
|
||||
that defines the value relative to other property values or data accessible
|
||||
@@ -258,7 +253,7 @@
|
||||
To remove expressions, select \gui Reset in the context menu.
|
||||
|
||||
For more information on the JavaScript environment provided by QML, see
|
||||
\l{http://doc.qt.nokia.com/4.7/qdeclarativejavascript.html}
|
||||
\l{http://qt-project.org/doc/qt-4.8/qdeclarativejavascript.html}
|
||||
{Integrating JavaScript}.
|
||||
|
||||
\section2 Marking Text Elements for Translation
|
||||
@@ -331,7 +326,7 @@
|
||||
\section2 Setting Anchors and Margins
|
||||
|
||||
In addition to arranging elements in a grid, row, or column, you can use
|
||||
\l{http://doc.qt.nokia.com/4.7/qml-anchor-layout.html}{anchors} to lay out
|
||||
\l{http://qt-project.org/doc/qt-4.8/qml-anchor-layout.html}{anchors} to lay out
|
||||
screens. In an anchor-based layout, each item can be thought of as having a
|
||||
set of invisible \e anchor lines: top, bottom, left, right, fill, horizontal
|
||||
center, vertical center, and baseline.
|
||||
@@ -389,7 +384,7 @@
|
||||
a time.
|
||||
|
||||
For more information on Transform elements, see
|
||||
\l {http://doc.qt.nokia.com/4.7/qml-transform.html}{QML Transform Element}.
|
||||
\l {http://qt-project.org/doc/qt-4.8/qml-transform.html}{QML Transform Element}.
|
||||
|
||||
\section1 Adding States
|
||||
|
||||
@@ -428,7 +423,7 @@
|
||||
\endlist
|
||||
|
||||
The \gui State pane displays the different
|
||||
\l{http://doc.qt.nokia.com/4.7/qdeclarativestates.html}{states}
|
||||
\l{http://qt-project.org/doc/qt-4.8/qdeclarativestates.html}{states}
|
||||
of the component in the Qt Quick Designer.
|
||||
|
||||
\image qmldesigner-transitions.png "State pane"
|
||||
|
||||
@@ -38,9 +38,9 @@
|
||||
|
||||
When you write a QML module or use QML from a C++ application you typically
|
||||
register new types with
|
||||
\l{http://doc.qt.nokia.com/4.8/qdeclarativeengine.html#qmlRegisterType}
|
||||
\l{http://qt-project.org/doc/qt-4.8/qdeclarativeengine.html#qmlRegisterType}
|
||||
{qmlRegisterType} or expose some class instances with
|
||||
\l{http://doc.qt.nokia.com/4.8/qdeclarativecontext.html#setContextProperty}
|
||||
\l{http://qt-project.org/doc/qt-4.8/qdeclarativecontext.html#setContextProperty}
|
||||
{setContextProperty}. The \QC C++ code model now scans for these calls and
|
||||
tells the QML code model about them. This means that properties are
|
||||
displayed during code completion and the JavaScript code checker does not
|
||||
@@ -56,7 +56,7 @@
|
||||
For Qt 4.8 and later, one or more \c qmltypes files can be listed in the
|
||||
\c qmldir file under the \c typeinfo header. These files will be read in
|
||||
addition to \c{plugins.qmltypes}. For more information, see
|
||||
\l{http://doc.qt.nokia.com/4.8/qdeclarativemodules.html#writing-a-qmldir-file}
|
||||
\l{http://qt-project.org/doc/qt-4.8/qdeclarativemodules.html#writing-a-qmldir-file}
|
||||
{Writing a qmldir File}.
|
||||
|
||||
\section1 Generating qmltypes Files
|
||||
|
||||
@@ -64,23 +64,23 @@
|
||||
\section1 Using Data Models
|
||||
|
||||
You can create the following types of views to organize items provided by
|
||||
\l{http://doc.qt.nokia.com/4.7/qdeclarativemodels.html}{data models}:
|
||||
\l{http://qt-project.org/doc/qt-4.8/qdeclarativemodels.html}{data models}:
|
||||
|
||||
\list
|
||||
|
||||
\o \l{http://doc.qt.nokia.com/4.7/qml-gridview.html}{Grid View}
|
||||
\o \l{http://qt-project.org/doc/qt-4.8/qml-gridview.html}{Grid View}
|
||||
provides a grid vizualization of a model.
|
||||
|
||||
\o \l{http://doc.qt.nokia.com/4.7/qml-listview.html}{List View}
|
||||
\o \l{http://qt-project.org/doc/qt-4.8/qml-listview.html}{List View}
|
||||
provides a list vizualization of a model.
|
||||
|
||||
\o \l{http://doc.qt.nokia.com/4.7/qml-pathview.html}{Path View}
|
||||
\o \l{http://qt-project.org/doc/qt-4.8/qml-pathview.html}{Path View}
|
||||
visualizes the contents of a model along a path.
|
||||
|
||||
\endlist
|
||||
|
||||
When you add a Grid View, List View, or Path View element, the
|
||||
\l{http://doc.qt.nokia.com/4.7/qml-listmodel.html}{ListModel} and the
|
||||
\l{http://qt-project.org/doc/qt-4.8/qml-listmodel.html}{ListModel} and the
|
||||
delegate component that creates an instance for each item in the model are
|
||||
added automatically. You can edit element properties
|
||||
\if defined(qcmanual)
|
||||
@@ -95,17 +95,17 @@
|
||||
|
||||
\list
|
||||
|
||||
\o \l{http://doc.qt.nokia.com/4.7-snapshot/qml-column.html}{Column}
|
||||
\o \l{http://qt-project.org/doc/qt-4.8-snapshot/qml-column.html}{Column}
|
||||
arranges its child items vertically.
|
||||
|
||||
\o \l{http://doc.qt.nokia.com/4.7-snapshot/qml-row.html}{Row}
|
||||
\o \l{http://qt-project.org/doc/qt-4.8-snapshot/qml-row.html}{Row}
|
||||
arranges its child items horizontally.
|
||||
|
||||
\o \l{http://doc.qt.nokia.com/4.7-snapshot/qml-grid.html}{Grid}
|
||||
\o \l{http://qt-project.org/doc/qt-4.8-snapshot/qml-grid.html}{Grid}
|
||||
arranges its child items so that they are aligned in a grid and
|
||||
are not overlapping.
|
||||
|
||||
\o \l{http://doc.qt.nokia.com/4.7-snapshot/qml-flow.html}{Flow}
|
||||
\o \l{http://qt-project.org/doc/qt-4.8-snapshot/qml-flow.html}{Flow}
|
||||
arranges its child items side by side, wrapping as necessary.
|
||||
|
||||
\endlist
|
||||
@@ -211,14 +211,15 @@
|
||||
use different types of animated transitions. For example, you can animate
|
||||
changes to property values and colors. You can use rotation animation to
|
||||
control the direction of rotation. For more information, see
|
||||
\l{http://doc.qt.nokia.com/4.7/qdeclarativeanimation.html}{QML Animation}.
|
||||
\l{http://qt-project.org/doc/qt-4.8/qdeclarativeanimation.html}
|
||||
{QML Animation}.
|
||||
|
||||
You can use the \c ParallelAnimation element to start several animations at
|
||||
the same time. Or use the \c SequentialAnimation element to run them one
|
||||
after another.
|
||||
|
||||
You can use the code editor to specify transitions. For more information,
|
||||
see \l{http://doc.qt.nokia.com/4.7/qml-transition.html}
|
||||
see \l{http://qt-project.org/doc/qt-4.8/qml-transition.html}
|
||||
{QML Transition Element}.
|
||||
|
||||
*/
|
||||
@@ -237,18 +238,18 @@
|
||||
|
||||
\list
|
||||
|
||||
\o \l{http://doc.qt.nokia.com/4.7/qml-flickable.html}{Flickable}
|
||||
\o \l{http://qt-project.org/doc/qt-4.8/qml-flickable.html}{Flickable}
|
||||
items can be flicked horizontally or vertically.
|
||||
|
||||
\o \l{http://doc.qt.nokia.com/4.7/qml-flipable.html}{Flipable}
|
||||
\o \l{http://qt-project.org/doc/qt-4.8/qml-flipable.html}{Flipable}
|
||||
items can be flipped between their front and back sides by using
|
||||
rotation, state, and transition.
|
||||
|
||||
\o \l{http://doc.qt.nokia.com/4.7/qml-focusscope.html}{Focus Scope}
|
||||
\o \l{http://qt-project.org/doc/qt-4.8/qml-focusscope.html}{Focus Scope}
|
||||
assists in keyboard focus handling when building reusable QML
|
||||
components.
|
||||
|
||||
\o \l{http://doc.qt.nokia.com/4.7/qml-mousearea.html}{Mouse Area}
|
||||
\o \l{http://qt-project.org/doc/qt-4.8/qml-mousearea.html}{Mouse Area}
|
||||
enables simple mouse handling.
|
||||
|
||||
\endlist
|
||||
|
||||
@@ -49,8 +49,8 @@
|
||||
\section1 Previewing Images
|
||||
|
||||
The Qt Quick Toolbar for images allows you to edit the properties of
|
||||
\l{http://doc.qt.nokia.com/latest/qml-borderimage.html}{Border Image}
|
||||
and \l{http://doc.qt.nokia.com/latest/qml-image.html}{Image} components.
|
||||
\l{http://qt-project.org/doc/qt-4.8/qml-borderimage.html}{Border Image}
|
||||
and \l{http://qt-project.org/doc/qt-4.8/qml-image.html}{Image} components.
|
||||
You can scale and tile the images, replace them with other images,
|
||||
preview them, and change the image margins.
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
\section1 Formatting Text
|
||||
|
||||
The Qt Quick Toolbar for text allows you to edit the properties of
|
||||
\l{http://doc.qt.nokia.com/latest/qml-text.html}{Text} components.
|
||||
\l{http://qt-project.org/doc/qt-4.8/qml-text.html}{Text} components.
|
||||
You can change the font family and size as well as text formatting, style,
|
||||
alignment, and color.
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
\section1 Previewing Animation
|
||||
|
||||
The Qt Quick Toolbar for animation allows you to edit the properties of
|
||||
\l{http://doc.qt.nokia.com/4.7/qml-propertyanimation.html}
|
||||
\l{http://qt-project.org/doc/qt-4.8/qml-propertyanimation.html}
|
||||
{PropertyAnimation} components and the components that inherit it. You can
|
||||
change the easing curve type and duration. For some curves, you can also
|
||||
specify amplitude, period, and overshoot values.
|
||||
@@ -92,7 +92,7 @@
|
||||
\section1 Editing Rectangles
|
||||
|
||||
The Qt Quick Toolbar for rectangles allows you to edit the properties of
|
||||
\l{http://doc.qt.nokia.com/4.7/qml-rectangle.html}{Rectangle}
|
||||
\l{http://qt-project.org/doc/qt-4.8/qml-rectangle.html}{Rectangle}
|
||||
components. You can change the fill and border colors and add
|
||||
gradients.
|
||||
|
||||
|
||||
@@ -1,370 +0,0 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** This file is part of Qt Creator
|
||||
**
|
||||
** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
|
||||
**
|
||||
** Contact: http://www.qt-project.org/
|
||||
**
|
||||
**
|
||||
** GNU Free Documentation License
|
||||
**
|
||||
** Alternatively, this file may be used under the terms of the GNU Free
|
||||
** Documentation License version 1.3 as published by the Free Software
|
||||
** Foundation and appearing in the file included in the packaging of this
|
||||
** file.
|
||||
**
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
// **********************************************************************
|
||||
// NOTE: the sections are not ordered by their logical order to avoid
|
||||
// reshuffling the file each time the index order changes (i.e., often).
|
||||
// Run the fixnavi.pl script to adjust the links to the index order.
|
||||
// **********************************************************************
|
||||
|
||||
/*!
|
||||
\contentspage index.html
|
||||
\previouspage creator-deployment.html
|
||||
\page creator-deployment-symbian.html
|
||||
\nextpage creator-deployment-maemo.html
|
||||
|
||||
\title Deploying Applications to Symbian Devices
|
||||
|
||||
This section describes how to create installation packages that meet the
|
||||
requirements for installing applications to Symbian devices.
|
||||
|
||||
\section1 Creating SIS Files
|
||||
|
||||
When you deploy the application for the \gui{Symbian Device} target, \QC
|
||||
automatically generates a Symbian installation system (SIS) file
|
||||
in the project folder. You can deliver the installation file to users for
|
||||
installation on Symbian devices.
|
||||
|
||||
The name of the installation file is displayed in the \gui {Installation file}
|
||||
field in the \gui {Run Settings}. In the \gui {Installation drive} field, select the drive on the device
|
||||
to install the application to. To suppress notifications on the device during the
|
||||
installation, select the \gui {Silent installation} check box. If the silent
|
||||
installation fails, \QC attempts installation again, this time displaying
|
||||
notifications and error messages.
|
||||
|
||||
To create a SIS package without copying it to the device (for example, to submit it
|
||||
to \e {Application Signing Services for Nokia Store} or \e {Symbian Signed}),
|
||||
create a deploy configuration that contains only the
|
||||
\gui {Create SIS Package} step.
|
||||
|
||||
\image qtcreator-run-settings-create.png "Create SIS Package step"
|
||||
|
||||
|
||||
\section1 Signing SIS Files
|
||||
|
||||
Only installation files signed with a certificate and private key are
|
||||
allowed to be installed onto Symbian devices. By default, \QC
|
||||
self-signs the installation file. This self-signing allows you to install
|
||||
the application on a mobile device but places limits on what you can do
|
||||
with the installation file, including:
|
||||
\list
|
||||
\o Self-signed applications cannot access the more sensitive
|
||||
\l{Capabilities and Signing}{capabilities} of the mobile device.
|
||||
\o Security warnings will be displayed when you install the self-signed
|
||||
application on a mobile device.
|
||||
\o Self-signed applications cannot be published to Nokia
|
||||
Store.
|
||||
\endlist
|
||||
|
||||
To get around these limitations, you need to go through the Symbian Signed
|
||||
or Application Signing Services for Nokia Store. The Symbian Signed organisation
|
||||
manages a public key
|
||||
infrastructure to provide public authentication of the information in the
|
||||
application signing certificates. Their security partner can validate your
|
||||
certificate and give you a Publisher ID. Then, when you sign an
|
||||
application, other people can be confident that the information in your
|
||||
certificate is correct and that the application does actually come from you.
|
||||
|
||||
Application Signing Services for Nokia Store is a variant of the Symbian
|
||||
Signed certification provided by Nokia
|
||||
Publish. It is limited to the Basic and System capability sets
|
||||
(Express Signing). Participants can submit an unsigned SIS file to Nokia
|
||||
Publish for signing. For more information about how
|
||||
to participate, see
|
||||
\l {http://www.developer.nokia.com/Community/Wiki/Guide_to_Publishing_Qt_Applications_to_the_Ovi_Store}{Guide to Publishing Qt Applications to the Nokia Store}.
|
||||
|
||||
There are also options that do not require you to get a Publisher ID. For
|
||||
more detail about how the Symbian Signed process works, see
|
||||
\l{https://www.symbiansigned.com}{Symbian Signed}.
|
||||
|
||||
When you have your own certificate and private key, you can specify them in
|
||||
the \gui{Create SIS Package} step in the \gui {Run Settings}.
|
||||
|
||||
\image qtcreator-qt4-symbian-signing.png
|
||||
|
||||
|
||||
If your private key is protected by a passphrase, \QC asks you for the
|
||||
passphrase when the package is signed and offers to store it. However, storing
|
||||
passphrases in \QC presents a security risk. To make \QC forget
|
||||
all saved passphrases, click \gui {Reset Passphrases}.
|
||||
|
||||
\section2 Capabilities and Signing
|
||||
|
||||
Capabilities allow the Symbian platform to control access by applications to
|
||||
the functionality provided by the platform APIs. Access to capabilities is
|
||||
determined by the device configuration and how the application has been signed.
|
||||
|
||||
Symbian Signed offers the following signing options depending on the
|
||||
capabilities that the application accesses:
|
||||
|
||||
\list
|
||||
|
||||
\o \bold{Express signed} for applications that access only user and system
|
||||
capabilities.
|
||||
|
||||
\o \bold{Certified signed} for applications that access also restricted or
|
||||
device manufacturer capabilities.
|
||||
|
||||
\note You need to request the rights to access device manufacturer
|
||||
capabilities from the manufacturer.
|
||||
|
||||
\endlist
|
||||
|
||||
For more information about how to choose the appropriate signing option and
|
||||
how you can check which capabilities you need, see
|
||||
\l{https://www.symbiansigned.com}{Symbian Signed}
|
||||
and
|
||||
\l{http://doc.qt.nokia.com/4.7/platform-notes-symbian.html#required-capabilities}{Required Capabilities for Qt Applications}.
|
||||
|
||||
For more information on how to define capabilities for a project, see
|
||||
\l{http://doc.qt.nokia.com/4.7/qmake-platform-notes.html#capabilities}{Capabilities}.
|
||||
|
||||
\note In Qt 4.7.1 and later, if you select the \gui {Self-signed certificate}
|
||||
option, the SIS generation process checks that the package can be self-signed.
|
||||
If problems are found, it attempts to fix the package. If fixes cannot be made,
|
||||
a message appears in the \gui {Compile Output} view.
|
||||
|
||||
The following modifications can be made:
|
||||
|
||||
\list
|
||||
|
||||
\o Package UID is changed to an UID from the unprotected range (if it was
|
||||
from the protected range).
|
||||
|
||||
\o Vendor ID is set to zero on all binaries included in the package file.
|
||||
|
||||
\o All restricted and device manufacturer capabilities are removed from all
|
||||
libraries included in the package file.
|
||||
|
||||
\endlist
|
||||
|
||||
The application UID or capabilities used in executables (.exe) cannot be changed,
|
||||
because that would break the application. If the executables use protected UIDs
|
||||
or restricted or device manufacturer capabilities, signing fails and an error
|
||||
message appears in the \gui {Compile Output} view.
|
||||
|
||||
\section1 Creating Smart Installer for Symbian Packages
|
||||
|
||||
You can run Qt applications on Symbian devices if the software that Qt
|
||||
applications require (typically Qt, Qt Mobility, QtWebkit, and Open C) is
|
||||
installed on the device. On Symbian^3 and later devices, some version of Qt
|
||||
is pre-installed. On earlier devices, you must install the modules that Qt
|
||||
applications require. Nokia Smart Installer for Symbian makes it easier
|
||||
for users to install Qt applications to Symbian phones by checking whether the device contains
|
||||
the necessary software and by installing the missing pieces.
|
||||
|
||||
For this to work, the Nokia Smart Installer must be packaged with the Qt application. The
|
||||
application SIS file must first be Symbian Signed or signed by the Application
|
||||
Signing Services for Nokia Store. The capabilities used in the applications
|
||||
determine, which signing option must be selected. The wrapper package must be signed using
|
||||
either the same option or a more extensive option than the application SIS.
|
||||
|
||||
\note If you use the Application Signing Services for Nokia Store, you can submit an unsigned
|
||||
wrapper package to Nokia Publish. For more information, see
|
||||
\l{Publishing Qt Content for Symbian Devices}.
|
||||
|
||||
You can either install the Nokia Smart Installer for Symbian as part of
|
||||
the \QSDK, or download and install it from the
|
||||
\l{http://www.developer.nokia.com/Community/Wiki/Nokia_Smart_Installer_for_Symbian}{Nokia Smart Installer for Symbian}
|
||||
wiki.
|
||||
|
||||
To package Nokia Smart Installer with the application, select the \gui {Create Smart Installer
|
||||
package} check box. This ensures that up-to-date and appropriate versions of Qt and its
|
||||
dependencies are installed on devices. Further, it reduces the file size of the application you
|
||||
publish, because you do not have to deliver the required libraries.
|
||||
|
||||
Nokia has reserved the following UIDs to be used with Nokia Smart Installer for Symbian:
|
||||
|
||||
\list
|
||||
|
||||
\o 0xA000D7CE for self-signed applications
|
||||
\o 0x2002CCCF for Nokia Store or Symbian Signed packages
|
||||
|
||||
\endlist
|
||||
|
||||
\section2 Creating Self-signed Smart Installer Packages
|
||||
|
||||
To create a self-signed Nokia Smart Installer for Symbian wrapped .sis file,
|
||||
you must use an UID from the unprotected UID range, provided by Symbian Signed
|
||||
and the wrapper package UID value 0xA000D7CE. If you used the \QC project
|
||||
wizard to create the project, this wrapper package UID is used by default.
|
||||
|
||||
\list 1
|
||||
|
||||
\o Make sure that the source directory is clean. For example, if you use Git,
|
||||
enter the following command:
|
||||
|
||||
\c {git clean -dfx}
|
||||
|
||||
\o Click \gui Projects to edit the \gui {Build Settings} for the
|
||||
\gui {Symbian Device} target.
|
||||
|
||||
\o Select the \gui Release configuration.
|
||||
|
||||
\o Open the \gui {Run Settings}.
|
||||
|
||||
\o In the \gui {Create SIS Package} step, select \gui {Self-signed certificate}.
|
||||
|
||||
\o In the \gui {Deploy SIS Package} step, click \gui {Remove Item} (1) to
|
||||
skip the step of copying the SIS file to a device. The SIS file is created
|
||||
in the project folder.
|
||||
|
||||
\image qtcreator-remove-deploy-step.png "Removing deploy steps"
|
||||
|
||||
\o To package Nokia Smart Installer for Symbian with the application, select
|
||||
the \gui {Create Smart Installer package} check box.
|
||||
|
||||
\o Edit the project .pro file to use the correct UIDs for the application and
|
||||
the wrapper package, as illustrated by the following code snippet:
|
||||
|
||||
\code
|
||||
symbian {
|
||||
TARGET.UID3 = 0xE4DE5D27
|
||||
DEPLOYMENT.installer_header=0xA000D7CE
|
||||
|
||||
vendorinfo = \
|
||||
"%{\"CustomVendor-EN\"}" \
|
||||
":\"CustomVendor\""
|
||||
|
||||
my_deployment.pkg_prerules = vendorinfo
|
||||
DEPLOYMENT += my_deployment
|
||||
}
|
||||
\endcode
|
||||
|
||||
\o Choose \gui {Build > Run Project}.
|
||||
|
||||
\endlist
|
||||
|
||||
\QC automatically generates a wrapper package in the project folder.
|
||||
|
||||
\section2 Creating Symbian Signed Smart Installer Packages
|
||||
|
||||
If the application uses functions that require advanced capabilities (AllFiles,
|
||||
DRM, TCB, CommDD, DiskAdmin, NetworkControl, MultimediaDD), you must use the
|
||||
standard Symbian Signed process to have the application Symbian Signed. Depending
|
||||
on the capabilities used, you may use either the Express Signed or the Certified
|
||||
Signed path, or the manufacturer-specific channel (for AllFiles, DRM, and TCB).
|
||||
|
||||
\list 1
|
||||
|
||||
\o Make sure that the source directory is clean. For example, if you use Git,
|
||||
enter the following command:
|
||||
|
||||
\c {git clean -dfx}
|
||||
|
||||
\o Click \gui Projects to edit the \gui {Build Settings} for the
|
||||
\gui {Symbian Device} target.
|
||||
|
||||
\o Select the \gui Release configuration.
|
||||
|
||||
\o Open the \gui {Run Settings}.
|
||||
|
||||
\o In the \gui {Create SIS Package} step, specify the developer certificate
|
||||
and key in the \gui {Custom certificate} and \gui {Key file} fields.
|
||||
|
||||
\o In the \gui {Deploy SIS Package} step, click \gui {Remove Item} to
|
||||
skip the step of copying the SIS file to a device. The SIS file is created
|
||||
in the project folder.
|
||||
|
||||
\o Edit the project .pro file to use the correct UIDs and vendor information
|
||||
for the application, as illustrated by the following code snippet:
|
||||
|
||||
\code
|
||||
symbian {
|
||||
TARGET.UID3 = 0x2000D7D1
|
||||
DEPLOYMENT.installer_header=0x2002CCCF
|
||||
|
||||
vendorinfo = \
|
||||
"%{\"CustomVendor-EN\"}" \
|
||||
":\"CustomVendor\""
|
||||
|
||||
my_deployment.pkg_prerules = vendorinfo
|
||||
DEPLOYMENT += my_deployment
|
||||
}
|
||||
\endcode
|
||||
|
||||
\o Choose \gui {Build > Run Project}.
|
||||
|
||||
\o Submit the created .sis file to Symbian Signed for certification.
|
||||
|
||||
\note Ensure that your application complies with the Symbian Signed
|
||||
Test Criteria before submitting the file for certification. Also, if the file is
|
||||
intended for Nokia Store publishing, verify that the application complies with Nokia
|
||||
Store publishing requirements.
|
||||
|
||||
\o After receiving the .sis file from Symbian Signed, copy it over the old
|
||||
application.sis.
|
||||
|
||||
\note The instructions below assume that you have installed \QSDK.
|
||||
|
||||
\o To package Nokia Smart Installer for Symbian with the application, choose
|
||||
\gui {Start > Qt SDK > Symbian > Qt for Symbian Command Prompt}
|
||||
to open the Qt command line environment.
|
||||
|
||||
\o Change to the project directory. For example:
|
||||
|
||||
\c{cd C:\Sources\Application}
|
||||
|
||||
\o To create a Smart Installer wrapper package, enter the following
|
||||
command:
|
||||
|
||||
\c {C:\Sources\Application> make ok_installer_sis QT_SIS_CERTIFICATE=publisherid.cer QT_SIS_KEY=publisherid.key}
|
||||
|
||||
\o Submit the created wrapped .sis file, application_installer.sis, to
|
||||
Symbian Signed. Express Signed is a suitable signing option for the wrapper
|
||||
package. The capabilities used in the application do not play a role here,
|
||||
because the wrapper package is already signed.
|
||||
|
||||
\endlist
|
||||
|
||||
\QC automatically generates a wrapper package in the project folder.
|
||||
|
||||
\note Ensure that your application complies with the requirements before submitting
|
||||
the file to Nokia Store.
|
||||
|
||||
For more information about the qmake DEPLOYMENT variable, see
|
||||
\l{http://doc.qt.nokia.com/4.7/qmake-variable-reference.html#deployment}{qmake Variable Reference}.
|
||||
|
||||
For more information about the Nokia Smart Installer, see the
|
||||
\l{http://doc.qt.nokia.com/smart-installer/index.html}{Nokia Smart Installer for Symbian Manual}.
|
||||
|
||||
Note: Nokia Smart Installer for Symbian is only available on Windows.
|
||||
|
||||
\section1 Application UID
|
||||
|
||||
A UID is a globally unique identifier that is used to
|
||||
uniquely identify, for example, an object or file type. In Symbian development,
|
||||
objects are identified by compound identifiers that are constructed from three
|
||||
UIDs, namely UID1, UID2, and UID3. UID1 and UID2 specify the category of an
|
||||
object, whereas UID3 identifies a particular object, such as an application.
|
||||
|
||||
When you create a \gui {Mobile Qt Application}, \QC adds a UID3 suitable for
|
||||
development and debugging automatically to the application .pro file. However, to
|
||||
distribute your application and get it Symbian Signed, you must apply for a UID
|
||||
from Symbian Signed, which manages the allocation of UIDs. You can request UIDs either one
|
||||
at a time or as preallocated blocks on the \l{https://www.symbiansigned.com/app/page}{Symbian Signed}
|
||||
web site.
|
||||
|
||||
If you use the Nokia Signed process, Nokia Publisher Support allocates the UID for you.
|
||||
|
||||
Replace the testing UID with the distribution UID in the .pro file before you
|
||||
build the final installation package. For more information, see
|
||||
\l{http://doc.qt.nokia.com/4.7/qmake-platform-notes.html#unique-identifiers}{Unique Identifiers}.
|
||||
|
||||
*/
|
||||
@@ -1,13 +0,0 @@
|
||||
\bold {On Symbian OS}: \c qDebug() and related functions use the native
|
||||
\c RDebug::Print functionality.
|
||||
|
||||
When you use the Symbian emulator on Windows, the output is redirected to
|
||||
standard debug output. To view it, you can use a Windows debug output
|
||||
viewer, such as the DebugView for Windows.
|
||||
|
||||
On devices, the \c RDebug output is intercepted by \e CODA or \e {App TRK}
|
||||
and then propagated to \QC, which displays it in the
|
||||
\gui {Application Output} pane.
|
||||
|
||||
Symbian OS provides no support for differentiating between standard output
|
||||
and error output.
|
||||
@@ -1,25 +0,0 @@
|
||||
\section1 Building for Symbian
|
||||
|
||||
The tool chain for building applications locally on the development PC for
|
||||
the \gui {Symbian Device} target is only supported on Windows.
|
||||
If you develop on Linux or Mac OS, you must use the Remote Compiler
|
||||
interface to a compilation service at Nokia Developer. For more information,
|
||||
see \l{Building with Remote Compiler}.
|
||||
|
||||
\section2 Troubleshooting Build Issues
|
||||
|
||||
If you cannot build the application for a Symbian device, check that:
|
||||
|
||||
\list
|
||||
|
||||
\o You selected the Symbian Device target to build the application.
|
||||
|
||||
\o You selected the correct Qt version to build the application.
|
||||
For more information, see \l{Selecting Qt for Symbian Versions}.
|
||||
|
||||
\endlist
|
||||
|
||||
\section1 Building for Symbian Emulator
|
||||
|
||||
\QC does not create release configurations for the \gui {Symbian Emulator}
|
||||
target, because Symbian Emulator supports only debug builds.
|
||||
@@ -1,22 +0,0 @@
|
||||
\section2 Setting Up Qt for Symbian Versions
|
||||
|
||||
If you install Qt for Symbian as a part of \QSDK, it is automatically
|
||||
detected by \QC. If you install other Symbian SDKs and register them
|
||||
with devices.exe, \QC automatically detects the Qt version.
|
||||
The \gui {S60 SDK} field displays the path to the directory where
|
||||
the Symbian SDK is located.
|
||||
|
||||
If the selected Qt version was built using the SBSv2 build system, that
|
||||
is available for Symbian OS 9.5 based SDKs, \QC builds your projects
|
||||
using this build system. The \gui {SBS v2 directory} field displays the
|
||||
path to the directory where the SBS executable (for
|
||||
example, sbs.bat on Windows) is located.
|
||||
|
||||
To view Qt for Symbian version settings, select \gui {Tools > Options >
|
||||
Build & Run > Qt Versions}.
|
||||
|
||||
\image qtcreator-qt4-qtversions-win-symbian.png
|
||||
|
||||
For more information about how to add tool chains for using the GCCE and
|
||||
WINSCW compilers, see \l{Adding Tool Chains}.
|
||||
|
||||
@@ -1,96 +0,0 @@
|
||||
\section1 Running on Symbian
|
||||
|
||||
\list 1
|
||||
|
||||
\o Build and run the application for \l{Running on Qt Simulator}
|
||||
{\QS}.
|
||||
|
||||
\o If no problems are found, build and run the application for a
|
||||
device.
|
||||
|
||||
\o To test functionality that uses Symbian APIs, you can build and
|
||||
run the application for Symbian Emulator.
|
||||
|
||||
\endlist
|
||||
|
||||
\section2 Running on a Device
|
||||
|
||||
\list 1
|
||||
|
||||
\o Install the required software on the device. For more information,
|
||||
see \l{Connecting Symbian Devices}.
|
||||
|
||||
\o Connect the device to the development PC through a USB cable.
|
||||
The target selector displays a green check mark when a device is
|
||||
connected.
|
||||
|
||||
\image qtcreator-qt4-symbian-device-connected.png
|
||||
|
||||
The tool tip of the target selector shows more details about the
|
||||
actual device that will be used when you run your application.
|
||||
|
||||
\o Start the CODA debugging agent on the device.
|
||||
|
||||
\note If you use CODA over an USB connection, it starts up
|
||||
automatically when you connect the device to the development PC.
|
||||
|
||||
\o Click the \gui Run button.
|
||||
|
||||
\endlist
|
||||
|
||||
You can connect several devices to your development PC simultaneously.
|
||||
In the details of the run configuration for the \gui{Symbian Device} target,
|
||||
select the device to run your application on.
|
||||
|
||||
When your application is ready for delivery to users, specify run settings
|
||||
for creating the final SIS installation packages. For more information,
|
||||
see \l{Creating SIS Files}.
|
||||
|
||||
If you cannot run the application on a device, check that:
|
||||
|
||||
\list
|
||||
|
||||
\o The Nokia USB drivers that come with \e{PC Suite} or \e{Ovi Suite}
|
||||
have been installed on the development PC.
|
||||
|
||||
\o The device is connected through USB cable in \e{PC Suite} mode.
|
||||
|
||||
\o The CODA debugging agent is installed on the device and it is
|
||||
running with the status \e connected.
|
||||
|
||||
\note If you use the CODA debugging agent over WLAN, you must enter
|
||||
the WLAN address and port number in \QC, separated by a colon (:).
|
||||
For example: 192.167.0.100:1534
|
||||
|
||||
\o The device is detected and selected in the \gui {Run Settings}.
|
||||
|
||||
\endlist
|
||||
|
||||
If this does not help to solve your problem, search the
|
||||
qt-creator@trolltech.com mailing list archives or provide feedback to us via
|
||||
the methods described on the
|
||||
\l{http://developer.qt.nokia.com/wiki/Category:Tools::QtCreator}
|
||||
{\QC Development Wiki}.
|
||||
|
||||
\section2 Running on Symbian Emulator
|
||||
|
||||
Select the \gui{Symbian Emulator} target as the active one, and build and
|
||||
run your project.
|
||||
|
||||
If you cannot run the application in the emulator, check that:
|
||||
|
||||
\list
|
||||
|
||||
\o You selected the \gui{Symbian Emulator} target for your application.
|
||||
|
||||
\o If you cannot select \gui {Symbian Emulator} as target, check that
|
||||
Carbide.c++ is installed correctly and that the path to the
|
||||
Carbide.c++ installation directory is specified for the WINSCW tool
|
||||
chain in the \gui{Compiler path} field in \gui {Tools > Options >
|
||||
Tool Chains}.
|
||||
|
||||
\o If the emulator process cannot be started, try closing \QC and
|
||||
starting the application directly from your file manager. Having
|
||||
done this, \QC should be able to run your projects in the emulator.
|
||||
|
||||
\endlist
|
||||
@@ -1,31 +0,0 @@
|
||||
\section2 Specifying Run Settings for Symbian Devices
|
||||
|
||||
\QC automatically detects Symbian devices that are connected to the
|
||||
development PC with a USB cable. If only one device is detected, the
|
||||
application is deployed to it and run on it. If multiple devices are
|
||||
connected to the PC, make sure that the correct device is selected in the
|
||||
\gui {Symbian Device} run settings for your project.
|
||||
|
||||
You can also pass command line arguments to your application on the device.
|
||||
Press the \gui{Device info button} to get more information about the
|
||||
selected device, such as the CPU type and the running debugging agent
|
||||
version.
|
||||
|
||||
\image qtcreator-symbian-run-settings.png "Run settings for Symbian devices"
|
||||
|
||||
To use the CODA debugging agent over a WLAN connection, enter the WLAN
|
||||
address of the device and the port number to use, separated by a colon (:),
|
||||
in the \gui WLAN field. For example: 192.167.0.100:1534
|
||||
|
||||
When you deploy the application for the \gui{Symbian Device} target, \QC
|
||||
generates a Symbian installation system (SIS) file in the project folder
|
||||
and copies it to the device that is connected to the development PC. If no
|
||||
device is connected, you must remove the \gui {Deploy SIS Package} step
|
||||
to create the package. Click \gui {Remove Item} (1) to skip the step.
|
||||
|
||||
\image qtcreator-remove-deploy-step.png "Removing deploy steps"
|
||||
|
||||
When you are ready to publish the application to Nokia Store or some other
|
||||
channel, you must make sure that the SIS file meets the requirements for
|
||||
publishing and installing applications on Symbian devices. For more
|
||||
information, see \l{Deploying Applications to Symbian Devices}.
|
||||
@@ -1,99 +0,0 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** This file is part of Qt Creator
|
||||
**
|
||||
** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
|
||||
**
|
||||
** Contact: http://www.qt-project.org/
|
||||
**
|
||||
**
|
||||
** GNU Free Documentation License
|
||||
**
|
||||
** Alternatively, this file may be used under the terms of the GNU Free
|
||||
** Documentation License version 1.3 as published by the Free Software
|
||||
** Foundation and appearing in the file included in the packaging of this
|
||||
** file.
|
||||
**
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
// **********************************************************************
|
||||
// NOTE: the sections are not ordered by their logical order to avoid
|
||||
// reshuffling the file each time the index order changes (i.e., often).
|
||||
// Run the fixnavi.pl script to adjust the links to the index order.
|
||||
// **********************************************************************
|
||||
|
||||
/*!
|
||||
\contentspage index.html
|
||||
\previouspage creator-publish-ovi.html
|
||||
\page creator-publish-ovi-symbian.html
|
||||
\nextpage creator-publish-ovi-maemo.html
|
||||
|
||||
\title Publishing Qt Content for Symbian Devices
|
||||
|
||||
The \gui {Publish Qt Symbian Applications to Nokia Store} wizard allows you
|
||||
to check that your application can be published to Nokia Store. It checks
|
||||
that the application UID, vendor name, and the capabilities used meet the
|
||||
\l{http://support.publish.nokia.com/?p=64}{Nokia Publish criteria}.
|
||||
|
||||
You can use the
|
||||
\l{http://www.developer.nokia.com/Distribute/Packaging_and_signing.xhtml}
|
||||
{Application Signing Services for Nokia Store} to get your application
|
||||
Express Signed for free by Nokia. Submit an unsigned SIS file (with the
|
||||
\l{Application UID}{application UID} that you receive from Nokia Publisher
|
||||
Support) to the \l{https://publish.ovi.com/login}{Nokia Publish tool}.
|
||||
|
||||
If you use Symbian Signed UIDs or the application uses functions that
|
||||
require advanced \l{Capabilities and Signing}{capabilities}, you must use
|
||||
the standard Symbian Signed process to have the application Symbian Signed
|
||||
(using the Certified Signed path or the manufacturer-specific channel).
|
||||
For more information, see \l{Deploying Applications to Symbian Devices}.
|
||||
|
||||
To use the publishing wizard:
|
||||
|
||||
\list 1
|
||||
|
||||
\o Select \gui Projects to select the Qt version to build the
|
||||
application. For more information, see
|
||||
\l{Selecting Qt for Symbian Versions}.
|
||||
|
||||
\o Select the \gui {Symbian Device} build target for your project.
|
||||
|
||||
\o Choose \gui {Build > Publish Project}.
|
||||
|
||||
\o Select \gui {Publish Qt Symbian Applications to Nokia Store}, and then
|
||||
select \gui {Start Wizard}.
|
||||
|
||||
\o Select the Qt version and device type to build against and click
|
||||
\gui Next. We recommend that you select a release configuration.
|
||||
|
||||
\o The wizard checks the information in the project file against the
|
||||
Nokia Publish criteria and indicates possible problems. You can fix
|
||||
some of the problems in the wizard.
|
||||
|
||||
\image qtcreator-publishing-wizard-symbian.png "Project File Checks dialog"
|
||||
|
||||
\o Select \gui Commit to save changes and create the .sis file. The
|
||||
.sis file is packaged with Nokia Smart Installer for Symbian.
|
||||
|
||||
\o Choose \gui {Open Containing Folder} to open the folder where the
|
||||
.sis file was created.
|
||||
|
||||
\o Submit the created .sis file to Nokia Publish as a Qt Content item.
|
||||
|
||||
\endlist
|
||||
|
||||
\note After you change the application UID, you must use the developer
|
||||
certificate-key pair that you receive from Nokia Publisher Support for testing
|
||||
the application on devices. The following error message is displayed on the
|
||||
device if you use UIDs from the trusted range (0x2xxxxxxx) in a self-signed
|
||||
application: \gui {Unable to install a trusted application from a trusted
|
||||
supplier.} For more
|
||||
information, see \l{http://www.developer.nokia.com/Community/Wiki/UID}{UID}.
|
||||
|
||||
If you try to use more capabilites than the certificate permits, the
|
||||
following error message is displayed on the device: \gui {Requested
|
||||
application access not granted.} For example, if you try to install a
|
||||
self-signed application that uses a system capability.
|
||||
|
||||
*/
|
||||
@@ -1,229 +0,0 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** This file is part of Qt Creator
|
||||
**
|
||||
** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
|
||||
**
|
||||
** Contact: http://www.qt-project.org/
|
||||
**
|
||||
**
|
||||
** GNU Free Documentation License
|
||||
**
|
||||
** Alternatively, this file may be used under the terms of the GNU Free
|
||||
** Documentation License version 1.3 as published by the Free Software
|
||||
** Foundation and appearing in the file included in the packaging of this
|
||||
** file.
|
||||
**
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
// **********************************************************************
|
||||
// NOTE: the sections are not ordered by their logical order to avoid
|
||||
// reshuffling the file each time the index order changes (i.e., often).
|
||||
// Run the fixnavi.pl script to adjust the links to the index order.
|
||||
// **********************************************************************
|
||||
|
||||
/*!
|
||||
\contentspage index.html
|
||||
\previouspage creator-qml-application.html
|
||||
\page creator-qml-components-example.html
|
||||
\nextpage creator-writing-program.html
|
||||
|
||||
\title Using Qt Quick Components
|
||||
|
||||
\note To complete this tutorial, you must install the Qt Quick Components
|
||||
for Symbian and the Symbian Anna target as part of the \QSDK. In addition,
|
||||
you must install the Qt Quick Components on the test device.
|
||||
|
||||
This tutorial describes how to use \QC to create a small Qt
|
||||
application, Battery Status, that uses the System Information
|
||||
Mobility API to fetch battery information from the device.
|
||||
|
||||
\image qtcreator-symbian-components-example.png "Mobile example"
|
||||
|
||||
The user interface for the application is designed using Qt Quick Components
|
||||
for Symbian. This enforces a platform look and feel for Symbian Anna devices.
|
||||
|
||||
\section1 Creating the Project
|
||||
|
||||
\list 1
|
||||
|
||||
\o Select \gui{File > New File or Project > Applications > Qt Quick
|
||||
Application for Symbian > Choose}.
|
||||
|
||||
\o In the \gui{Name} field, type \bold {BatteryStatus}.
|
||||
|
||||
\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}.
|
||||
|
||||
\o Select \gui {Symbian Device} and \gui {\QS} targets, and
|
||||
then click \gui{Next}.
|
||||
|
||||
\note Targets are listed if you installed the appropriate
|
||||
development environment, for example, as part of the \QSDK. You can
|
||||
add targets later in the \gui Projects mode.
|
||||
|
||||
\o Select \gui Next in the following dialogs to use the default
|
||||
settings.
|
||||
|
||||
\note \QC contains a default program icon and generates an
|
||||
\l{Application UID}, for testing the application on a device. You
|
||||
only need to change the icon and UID if you deliver the application
|
||||
for public use.
|
||||
|
||||
\o Review the project settings, and click \gui{Finish} to create the
|
||||
project.
|
||||
|
||||
\endlist
|
||||
|
||||
\QC generates the necessary files that contain boiler plate code. The
|
||||
wizard creates an application that uses
|
||||
\l{http://doc.qt.nokia.com/qt-components-symbian/qt-components-pages-and-navigation-overview.html}
|
||||
{page-based application navigation}.
|
||||
|
||||
Modify the files as described in the following sections.
|
||||
|
||||
\section1 Declaring the Qt Mobility API
|
||||
|
||||
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:
|
||||
|
||||
\code
|
||||
|
||||
CONFIG += mobility
|
||||
MOBILITY = systeminfo
|
||||
|
||||
\endcode
|
||||
|
||||
Each Mobility API has its corresponding value that you have to add
|
||||
as a value of MOBILITY to use the API. For a list of the APIs and the
|
||||
corresponding values that you can assign to MOBILITY, see the
|
||||
\l {http://doc.qt.nokia.com/qtmobility/quickstart.html}{Quickstart Example}.
|
||||
|
||||
\section1 Adding Import Statements
|
||||
|
||||
The wizard adds the import statements for Qt Quick and the Qt Quick
|
||||
Components for Symbian to the MainPage.qml file:
|
||||
|
||||
\snippet examples/batterystatus/qml/BatteryStatus/MainPage.qml 3
|
||||
|
||||
To use the Qt Mobility APIs, you must add the import statements for the
|
||||
Qt Mobility APIs that you use. This example uses the System Info API, so you
|
||||
must import it, as illustrated by the following code snippet:
|
||||
|
||||
\snippet examples/batterystatus/qml/BatteryStatus/MainPage.qml 4
|
||||
|
||||
Use the values as you can assign to MOBILITY also to construct import
|
||||
statements.
|
||||
|
||||
\section1 Creating the Main View
|
||||
|
||||
Qt Creator generates a default QML file that you can modify to create the
|
||||
main view of the application. It displays a progress bar and a text label
|
||||
that indicate the battery status.
|
||||
|
||||
\list 1
|
||||
|
||||
\o Click \gui Design to open MainPage.qml in \QMLD.
|
||||
|
||||
\o In the \gui Navigator pane, select the \gui Text element to edit its
|
||||
properties in the \gui Properties pane.
|
||||
|
||||
\o In the \gui Text field, change the text from \bold {Hello World!}
|
||||
to \gui {Battery status: 1%}.
|
||||
|
||||
\o In the \gui Library view, \gui Items tab, select the
|
||||
\gui ProgressBar element, drag and drop it to the canvas, and edit
|
||||
its properties.
|
||||
|
||||
\image qtcreator-symbian-components-example-ui.png "Qt Quick Components for Symbian"
|
||||
|
||||
\list 1
|
||||
|
||||
\o Click \gui {Layout}, and then click the top anchor button.
|
||||
|
||||
\o In the \gui Target field, select \gui text1, to anchor the
|
||||
progress bar to the bottom of the text field.
|
||||
|
||||
\o In the \gui Margin field, select 20.
|
||||
|
||||
\o Click the horizontal anchor button, and select \gui text1 in
|
||||
the \gui Target field to anchor the progress bar
|
||||
horizontally to the text field.
|
||||
|
||||
\o To check that the application can be built and run, select
|
||||
\gui {\QS} as the target and click the
|
||||
\inlineimage qtcreator-run.png
|
||||
button.
|
||||
|
||||
\endlist
|
||||
|
||||
\endlist
|
||||
|
||||
\section1 Fetching Battery Status
|
||||
|
||||
To fetch the battery status, open MainPage.qml in the code editor and add
|
||||
some code to it:
|
||||
|
||||
\list 1
|
||||
|
||||
\o Add an invisible
|
||||
\l{http://doc.qt.nokia.com/qtmobility/qml-deviceinfo.html}
|
||||
{DeviceInfo element} that sets the
|
||||
\l{http://doc.qt.nokia.com/qtmobility/qml-deviceinfo.html}
|
||||
{monitorBatteryLevelChanges} property to true. It uses the
|
||||
\c monitorBatteryLevelChanges signal to keep up with changes in the
|
||||
battery level.
|
||||
|
||||
\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:
|
||||
|
||||
\snippet examples/batterystatus/qml/BatteryStatus/MainPage.qml 1
|
||||
|
||||
\o Set values for the ProgressBar element to display the battery level
|
||||
on the progress bar:
|
||||
|
||||
\snippet examples/batterystatus/qml/BatteryStatus/MainPage.qml 2
|
||||
|
||||
\endlist
|
||||
|
||||
|
||||
\section1 Compiling and Running Your Program
|
||||
|
||||
Now that you have all the necessary code, select \gui {\QS}
|
||||
as the target and click the
|
||||
\inlineimage qtcreator-run.png
|
||||
button to build your program and run it in \QS.
|
||||
|
||||
In \QS, run the runOutOfBattery.qs example script to see the value
|
||||
change in the Battery Status application. Select \gui {Scripting > examples
|
||||
> runOutOfBattery.qs > Run Selected Script}.
|
||||
|
||||
\image qtcreator-symbian-components-example-simulated.png "Mobile example in Qt Simulator"
|
||||
|
||||
\section1 Testing on a Symbian Device
|
||||
|
||||
You also need to test the application on real devices. Before you can
|
||||
start testing on Symbian devices, you must connect them to the development
|
||||
PC by using a USB cable and install the necessary software on them.
|
||||
|
||||
\list 1
|
||||
|
||||
\o Install Qt libraries, Qt mobile libraries, Qt Quick components for
|
||||
Symbian, and a debugging agent on the device. For more information,
|
||||
see \l{Connecting Symbian Devices}.
|
||||
|
||||
\o Start the CODA debugging agent on the device.
|
||||
|
||||
\o Click the \gui {Target Selector} and select \gui {Symbian Device}.
|
||||
|
||||
\o Click \gui Run to build the application for the Symbian device.
|
||||
|
||||
\endlist
|
||||
|
||||
*/
|
||||
@@ -1,310 +0,0 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** This file is part of Qt Creator
|
||||
**
|
||||
** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
|
||||
**
|
||||
** Contact: http://www.qt-project.org/
|
||||
**
|
||||
**
|
||||
** GNU Free Documentation License
|
||||
**
|
||||
** Alternatively, this file may be used under the terms of the GNU Free
|
||||
** Documentation License version 1.3 as published by the Free Software
|
||||
** Foundation and appearing in the file included in the packaging of this
|
||||
** file.
|
||||
**
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
/*!
|
||||
\contentspage index.html
|
||||
\if defined(qcmanual)
|
||||
\previouspage creator-developing-maemo.html
|
||||
\else
|
||||
\previouspage sdk-gs.html
|
||||
\endif
|
||||
\page creator-developing-symbian.html
|
||||
\if defined(qcmanual)
|
||||
\nextpage creator-developing-qnx.html
|
||||
\else
|
||||
\nextpage creator-developing-meego.html
|
||||
\endif
|
||||
|
||||
\title Connecting Symbian Devices
|
||||
|
||||
When you install \QSDK, the build and run settings for Symbian devices
|
||||
are set up automatically in \QC. You only need to install and launch
|
||||
the \l{Using On-device Debugging Agents}{CODA on-device debugging agent}
|
||||
on the devices and connect the devices to the development PC.
|
||||
|
||||
Make sure that \l{http://www.nokia.com/ovisuite}{Ovi Suite} or
|
||||
\l{http://www.nokia.com/pcsuite}{PC Suite} is installed on the development PC.
|
||||
Connect the device to the development PC with an USB cable in
|
||||
Ovi Suite or PC Suite Mode. This setting is in the device USB settings.
|
||||
If you have not previously used the device with Ovi Suite
|
||||
or PC Suite, all the necessary drivers are installed automatically.
|
||||
This takes approximately one minute.
|
||||
|
||||
You can run Qt applications on Symbian devices if the software that Qt
|
||||
applications require (typically Qt, Qt Mobility, QtWebkit, and Open C) is
|
||||
installed on the device. On Symbian Anna and later devices, some version of Qt
|
||||
is pre-installed. For more information, see
|
||||
\l{http://developer.qt.nokia.com/wiki/Support_for_Symbian#4ebe3e7733f9c23c76ac25559fc814a1}
|
||||
{Device Configurations}.
|
||||
|
||||
To deploy applications to earlier devices, you can package
|
||||
the application with Nokia Smart Installer for Symbian to automatically
|
||||
install the modules that Qt applications require. For more information about
|
||||
which Qt modules are supported on-demand for different Symbian device
|
||||
models, see
|
||||
\l{http://www.developer.nokia.com/Community/Wiki/Nokia_Smart_Installer_for_Symbian}
|
||||
{Nokia Smart Installer for Symbian}.
|
||||
|
||||
The tool chain for building applications locally on the development PC for
|
||||
the \gui {Symbian Device} target is only supported on Windows.
|
||||
If you develop on Linux or Mac OS, you must use the Remote Compiler
|
||||
interface to a compilation service at Nokia Developer. You can install
|
||||
Remote Compiler as part of the \QSDK. For more information, see
|
||||
\if defined(qcmanual)
|
||||
\l{Building with Remote Compiler}.
|
||||
\else
|
||||
\l{http://doc.qt.nokia.com/qtcreator/creator-remote-compiler.html}
|
||||
{Building with Remote Compiler}.
|
||||
\endif
|
||||
|
||||
|
||||
For more information about developing applications for the Symbian
|
||||
platform, select \gui {Help > Index} and look for \gui {Platform Notes},
|
||||
or see
|
||||
\l{http://doc.qt.nokia.com/4.8/platform-notes-symbian.html}
|
||||
{Platform Notes - Symbian}.
|
||||
|
||||
\section1 Using On-device Debugging Agents
|
||||
|
||||
To run and debug applications on Symbian devices from \QC, you must
|
||||
install the CODA on-device debugging agent on the device.
|
||||
|
||||
Support for the App TRK on-device debugging agent has been removed from
|
||||
\QC 2.3. Only CODA is supported Qt SDK 1.1.3 onward. It offers the following
|
||||
benefits:
|
||||
|
||||
\list
|
||||
|
||||
\o Extensive error information
|
||||
|
||||
\o Debugging over WLAN
|
||||
|
||||
\o Extensive information about the device
|
||||
|
||||
\endlist
|
||||
|
||||
\note CODA does not support debugging over a Bluetooth connection.
|
||||
|
||||
\section2 Installing Debugging Agents
|
||||
|
||||
The CODA installation package is delivered together with \QSDK. You can
|
||||
find it in the \QSDK installation folder in the
|
||||
\c{\Symbian\sis\<target>\CODA} folder. On Windows, you can use \gui Start
|
||||
menu commands to install CODA on Symbian devices.
|
||||
|
||||
\section1 Setting Up Qt Creator
|
||||
|
||||
When you run \QC after installing the Symbian SDK and Qt for
|
||||
Symbian, the installed SDKs and their corresponding Qt versions are
|
||||
automatically detected. For each detected Symbian SDK with Qt, a special entry
|
||||
is made in the Qt version management settings in \gui{Tools} >
|
||||
\gui{Options} > \gui{Build & Run} > \gui{Qt Versions}.
|
||||
|
||||
If you manually add a Qt version for Symbian, you must
|
||||
also manually specify the Symbian SDK to use for this version.
|
||||
|
||||
For more information about adding Qt versions and tool chains, see
|
||||
\if defined(qcmanual)
|
||||
\l{Setting Up Qt for Symbian Versions} and \l{Adding Tool Chains}.
|
||||
\else
|
||||
\l{http://doc.qt.nokia.com/qtcreator/creator-project-qmake.html#setting-up-qt-for-symbian-versions}
|
||||
{Setting Up Qt for Symbian Versions} and
|
||||
\l{http://doc.qt.nokia.com/qtcreator/creator-tool-chains.html}
|
||||
{Adding Tool Chains}.
|
||||
\endif
|
||||
|
||||
|
||||
\section1 Building and Running Applications
|
||||
|
||||
You can test your application on a device by building and running
|
||||
it from \QC for the \gui {Symbian Device} target.
|
||||
|
||||
\list 1
|
||||
|
||||
\o Connect the device to the development PC through a USB cable.
|
||||
The target selector displays a green check mark when a
|
||||
device is connected.
|
||||
|
||||
\image qtcreator-qt4-symbian-device-connected.png
|
||||
|
||||
The tool tip of the target selector shows more details about the actual
|
||||
device that will be used when you run your application.
|
||||
|
||||
\o Start the CODA debugging agent on the device.
|
||||
|
||||
\o Select \gui Options to select USB as connection type.
|
||||
|
||||
\o Click \gui Projects to edit the \gui {Build Settings} for the
|
||||
\gui {Symbian Device} target. Select the Qt version to use for building
|
||||
the application. For more information, see
|
||||
\l{Selecting Qt for Symbian Versions}.
|
||||
|
||||
\o Click the \gui Run button in \QC.
|
||||
|
||||
\endlist
|
||||
|
||||
\section2 Selecting Qt for Symbian Versions
|
||||
|
||||
When you select the Qt for Symbian version to build the application with, consider
|
||||
which version provides the application with the widest support on different
|
||||
Symbian platforms. The binary compatibility promise of Qt and Symbian means
|
||||
that applications that are built against Qt 4.6.3 also run on Qt 4.7.3.
|
||||
Similarly, applications that are supported on S60 5th Edition are also
|
||||
supported
|
||||
on Symbian Anna and Belle. However, dependencies, such as Qt Quick or Qt Mobility API
|
||||
versions might restrict the choice of Qt versions that you have.
|
||||
|
||||
If you use Qt Quick in the application, you can use \gui {S60 5th Edition
|
||||
Qt 4.7.3} to build it. The application is supported on both S60 5th Edition
|
||||
and Symbian Anna and Belle devices. However, if you only target Symbian
|
||||
Anna and Belle, you can use the state of art Qt in the \gui {Symbian Anna
|
||||
Qt 4.7.4} target to build the application. This allows you to re-use the
|
||||
application for MeeGo Harmattan devices.
|
||||
|
||||
If you want to use the native Symbian Belle APIs and make sure that the
|
||||
application created for earlier Symbian platforms work on Belle as well,
|
||||
use \gui {Symbian Belle Qt 4.7.4} to build them. You cannot run such
|
||||
applications on Symbian Anna or earlier Symbian platforms.
|
||||
|
||||
\note The \QSDK only contains the latest tool chains available for
|
||||
developing applications for a particular Symbian platform. The Qt 4.6.3 for
|
||||
Symbian and Qt 4.7.3 for Symbian^3 and Symbian Anna targets have been
|
||||
removed from \QSDK 1.1.4. To develop for those targets, use \QSDK 1.1.2.
|
||||
|
||||
If you use native Symbian APIs, you must check that they are available on
|
||||
the target devices. For more information about the API differences between
|
||||
Symbian platforms, see the \bold {Symbian
|
||||
Reference Documentation for Qt}, which is delivered together with \QSDK
|
||||
and which you can view in the \gui Help mode.
|
||||
|
||||
You can use a set of ready-made UI components called Qt Quick Components
|
||||
for Symbian that enforce a Nokia UI look and feel. \QSDK updates the Qt
|
||||
Quick Components to version 1.1 that contains usability and other
|
||||
improvements. All devices that support Qt Quick Components for Symbian
|
||||
support version 1.1.
|
||||
|
||||
The following table summarizes the supported configurations for each Qt
|
||||
version available in \QC build settings:
|
||||
|
||||
\table
|
||||
\header
|
||||
\o Qt Version
|
||||
\o Qt Quick
|
||||
\o Qt Quick Components
|
||||
\o Qt Mobility Version
|
||||
\o Native Symbian C++ APIs
|
||||
\o Qt OpenGL Support
|
||||
\row
|
||||
\o S60 5th Edition Qt 4.7.3 (online installer only)
|
||||
\o 1.0
|
||||
\o No
|
||||
\o 1.1.3
|
||||
\o No
|
||||
\o No
|
||||
\row
|
||||
\o Symbian Anna Qt 4.7.4
|
||||
\o 1.1
|
||||
\o 1.1
|
||||
\o 1.2
|
||||
\o Yes (Symbian Anna APIs)
|
||||
\o Yes
|
||||
\row
|
||||
\o Symbian Belle Qt 4.7.4 (online installer only)
|
||||
\o 1.1
|
||||
\o 1.1
|
||||
\o 1.2
|
||||
\o Yes (Symbian Belle APIs)
|
||||
\o Yes
|
||||
\endtable
|
||||
|
||||
\section2 Developing Applications Using Qt 4.6.3 or Qt 4.7.3 for Symbian
|
||||
|
||||
S60 3rd Edition devices support only Qt 4.6.3, not Qt 4.7 or later. Further,
|
||||
support for the App TRK on-device debugging agent has been removed from
|
||||
\QC 2.3. Only CODA is supported from Qt SDK 1.1.3 onward, and CODA does not
|
||||
support S60 3rd Edition. Therefore, you can no longer run and debug
|
||||
applications from \QC on S60 3rd Edition devices.
|
||||
|
||||
The tool chains for developing applications using Qt 4.6.3 for Symbian
|
||||
and Qt 4.7.3 for Symbian^ 3 and Symbian Anna have been removed from \QSDK
|
||||
1.1.4. To develop such applications,
|
||||
\l{http://qt.nokia.com/downloads/downloads}
|
||||
{download and use \QSDK version 1.1.2} instead. It contains Qt 4.6.3 for
|
||||
Symbian and Qt 4.7.4 for Symbian support for Symbian devices with
|
||||
the Application TRK debug agent.
|
||||
|
||||
\note Problems may arise if you install multiple instances of Qt SDK on the
|
||||
same development PC using the same user account. Use separate user accounts
|
||||
to install them or install them on separate development PCs.
|
||||
|
||||
\note Do not update \QSDK 1.1.2 with the \QSDK update tool, because
|
||||
the updater removes App TRK support.
|
||||
|
||||
In general, if you use only Qt 4.6 APIs in the application, you
|
||||
can use \gui {S60 5th Edition Qt 4.6.3} to build it. The application is
|
||||
supported on both S60 5th Edition and later devices.
|
||||
|
||||
The following table summarizes the supported configurations for each Qt
|
||||
version available in \QC build settings if you installed \QSDK 1.1.2.
|
||||
|
||||
\table
|
||||
\header
|
||||
\o Qt Version
|
||||
\o Qt Quick
|
||||
\o Qt Quick Components
|
||||
\o Qt Mobility Version
|
||||
\o Native Symbian C++ APIs
|
||||
\o Qt OpenGL Support
|
||||
\row
|
||||
\o Qt 4.6.3 for Symbian^1 (S60 5th Edition)
|
||||
\o No
|
||||
\o No
|
||||
\o 1.0.2
|
||||
\o No
|
||||
\o No
|
||||
\row
|
||||
\o Qt 4.6.3 for Symbian^3
|
||||
\o No
|
||||
\o No
|
||||
\o 1.0.2
|
||||
\o Yes (Symbian^3 APIs)
|
||||
\o No
|
||||
\row
|
||||
\o Qt 4.7.3 for Symbian^3 and Symbian Anna
|
||||
\o 1.0
|
||||
\o 1.0
|
||||
\o 1.1.3
|
||||
\o Yes (Symbian Anna APIs)
|
||||
\o Yes
|
||||
\endtable
|
||||
|
||||
\section1 Advanced Development with Symbian SDK
|
||||
|
||||
For normal Qt application development, \QSDK provides all you need even if
|
||||
the application needs native Symbian OS API access.
|
||||
|
||||
However, for more advanced Symbian application development, Nokia provides
|
||||
the \l{http://www.developer.nokia.com/carbide_cpp}{Carbide C++ IDE} and
|
||||
\l{http://www.developer.nokia.com/Resources/Tools_and_downloads/Other/Symbian_SDKs/}
|
||||
{Symbian C++ SDKs}. You can use them also for Qt application development.
|
||||
For example, these SDKs provide Symbian device emulators that are built
|
||||
mostly from the software that the actual devices are running. Therefore,
|
||||
they provide much closer emulation of the device than \QS.
|
||||
|
||||
*/
|
||||
@@ -25,7 +25,6 @@
|
||||
|
||||
/*!
|
||||
\contentspage index.html
|
||||
\previouspage creator-qml-components-example.html
|
||||
\page creator-writing-program.html
|
||||
\nextpage creator-project-managing.html
|
||||
|
||||
@@ -33,7 +32,7 @@
|
||||
|
||||
This tutorial describes how to use \QC to create a small Qt application,
|
||||
Text Finder. It is a simplified version of the QtUiTools
|
||||
\l{http://doc.qt.nokia.com/4.7/uitools-textfinder.html}{Text Finder}
|
||||
\l{http://qt-project.org/doc/qt-4.8/uitools-textfinder.html}{Text Finder}
|
||||
example. The application user interface is constructed from Qt widgets by
|
||||
using \QD. The application logic is written in C++ by using the code editor.
|
||||
|
||||
@@ -197,7 +196,7 @@
|
||||
\endlist
|
||||
|
||||
For more information about designing forms with \QD, see the
|
||||
\l{http://doc.qt.nokia.com/4.7/designer-manual.html}{Qt Designer Manual}.
|
||||
\l{http://qt-project.org/doc/qt-4.8/designer-manual.html}{Qt Designer Manual}.
|
||||
|
||||
\section2 Completing the Header File
|
||||
|
||||
@@ -231,7 +230,7 @@
|
||||
|
||||
\o Add code to load a text file using QFile, read it with QTextStream,
|
||||
and then display it on \c{textEdit} with
|
||||
\l{http://doc.qt.nokia.com/4.7/qtextedit.html#plainText-prop}
|
||||
\l{http://qt-project.org/doc/qt-4.8/qtextedit.html#plainText-prop}
|
||||
{setPlainText()}.
|
||||
This is illustrated by the following code snippet:
|
||||
|
||||
@@ -244,7 +243,8 @@
|
||||
|
||||
\o For the \c{on_findButton_clicked()} slot, add code to extract the
|
||||
search string and use the
|
||||
\l{http://doc.qt.nokia.com/4.7/qtextedit.html#find}{find()} function
|
||||
\l{http://qt-project.org/doc/qt-4.8/qtextedit.html#find}{find()}
|
||||
function
|
||||
to look for the search string within the text file. This is
|
||||
illustrated by the following code snippet:
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
\image qtcreator-formedit.png
|
||||
|
||||
For more information about \QD, see the
|
||||
\l{http://doc.qt.nokia.com/4.7/designer-manual.html}{Qt Designer Manual}.
|
||||
\l{http://qt-project.org/doc/qt-4.8/designer-manual.html}{Qt Designer Manual}.
|
||||
|
||||
Generally, the integrated \QD contains the same functions as the standalone
|
||||
\QD. The following sections describe the differences.
|
||||
|
||||
@@ -42,8 +42,8 @@
|
||||
and to change the default plugin path, see \l{How to Create Qt Plugins}.
|
||||
|
||||
For more information about how to create plugins for \QD, see
|
||||
\l{http://doc.qt.nokia.com/4.7/designer-using-custom-widgets.html}
|
||||
{Creating and Using Components for Qt Designer}.
|
||||
\l{http://qt-project.org/doc/qt-4.8/designer-using-custom-widgets.html}
|
||||
{Using Custom Widgets with Qt Designer}.
|
||||
|
||||
\section1 Locating Qt Designer Plugins
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
\QC uses its own set of Qt Libraries located in the bundle, and therefore,
|
||||
you need to configure the \QD plugins that you want to use with \QC.
|
||||
Fore more information about how to deploy applications on Mac OS, see
|
||||
\l{http://doc.qt.nokia.com/4.7/deployment-mac.html}
|
||||
\l{http://qt-project.org/doc/qt-4.8/deployment-mac.html}
|
||||
{Deploying an Application on Mac OS X}.
|
||||
|
||||
The following example illustrates how to configure version 5.2.1 of the
|
||||
|
||||
@@ -1,11 +1,7 @@
|
||||
TEMPLATE = subdirs # XXX: Avoid call the linker
|
||||
TARGETPATH = Qt/labs/components/custom
|
||||
|
||||
symbian {
|
||||
INSTALL_IMPORTS = /resource/qt/imports
|
||||
} else {
|
||||
INSTALL_IMPORTS = $$[QT_INSTALL_IMPORTS]
|
||||
}
|
||||
INSTALL_IMPORTS = $$[QT_INSTALL_IMPORTS]
|
||||
|
||||
QML_FILES = \
|
||||
qmldir \
|
||||
@@ -43,7 +39,3 @@ lessThan(QT_MAJOR_VERSION, 5):qmldirs.sources = $$QML_DIRS
|
||||
qmldirs.path = $$INSTALL_IMPORTS/$$TARGETPATH
|
||||
|
||||
INSTALLS += qmlfiles qmldirs
|
||||
|
||||
symbian {
|
||||
DEPLOYMENT += qmlfiles qmldirs
|
||||
}
|
||||
|
||||
@@ -22,7 +22,6 @@ Project {
|
||||
"src/libs/qmljs/qmljs.qbs",
|
||||
"src/libs/qmldebug/qmldebug.qbs",
|
||||
"src/libs/qtcomponents/styleitem/styleitem.qbs",
|
||||
"src/libs/symbianutils/symbianutils.qbs",
|
||||
"src/libs/ssh/ssh.qbs",
|
||||
"src/libs/utils/process_stub.qbs",
|
||||
"src/libs/utils/process_ctrlc_stub.qbs",
|
||||
|
||||
@@ -141,33 +141,32 @@ def expensiveDowncast(value):
|
||||
|
||||
typeCache = {}
|
||||
|
||||
class TypeInfo:
|
||||
def __init__(self, type):
|
||||
self.type = type
|
||||
self.reported = False
|
||||
|
||||
|
||||
def lookupType(typestring):
|
||||
typeInfo = typeCache.get(typestring)
|
||||
global typeCache
|
||||
global typesToReport
|
||||
type = typeCache.get(typestring)
|
||||
#warn("LOOKUP 1: %s -> %s" % (typestring, type))
|
||||
if not typeInfo is None:
|
||||
return typeInfo.type
|
||||
if not type is None:
|
||||
return type
|
||||
|
||||
if typestring == "void":
|
||||
type = gdb.lookup_type(typestring)
|
||||
typeCache[typestring] = TypeInfo(type)
|
||||
typeCache[typestring] = type
|
||||
typesToReport[typestring] = type
|
||||
return type
|
||||
|
||||
if typestring.find("(anon") != -1:
|
||||
# gdb doesn't like
|
||||
# '(anonymous namespace)::AddAnalysisMessageSuppressionComment'
|
||||
#typeCache[typestring] = None
|
||||
typeCache[typestring] = TypeInfo(type)
|
||||
typeCache[typestring] = type
|
||||
typesToReport[typestring] = type
|
||||
return None
|
||||
|
||||
try:
|
||||
type = gdb.parse_and_eval("{%s}&main" % typestring).type
|
||||
typeCache[typestring] = TypeInfo(type)
|
||||
typeCache[typestring] = type
|
||||
typesToReport[typestring] = type
|
||||
return type
|
||||
except:
|
||||
pass
|
||||
@@ -207,7 +206,8 @@ def lookupType(typestring):
|
||||
type = lookupType(ts[0:-1])
|
||||
if not type is None:
|
||||
type = type.pointer()
|
||||
typeCache[typestring] = TypeInfo(type)
|
||||
typeCache[typestring] = type
|
||||
typesToReport[typestring] = type
|
||||
return type
|
||||
|
||||
try:
|
||||
@@ -233,6 +233,8 @@ def lookupType(typestring):
|
||||
|
||||
# This could still be None as gdb.lookup_type("char[3]") generates
|
||||
# "RuntimeError: No type named char[3]"
|
||||
typeCache[typestring] = type
|
||||
typesToReport[typestring] = type
|
||||
return type
|
||||
|
||||
def cleanAddress(addr):
|
||||
@@ -906,15 +908,18 @@ registerCommand("bbedit", bbedit)
|
||||
#
|
||||
#######################################################################
|
||||
|
||||
typesToReport = {}
|
||||
|
||||
def bb(args):
|
||||
output = 'data=[' + "".join(Dumper(args).output) + '],typeinfo=['
|
||||
for typeName, typeInfo in typeCache.iteritems():
|
||||
if not typeInfo.reported:
|
||||
output += '{name="' + base64.b64encode(typeName)
|
||||
output += '",size="' + str(typeInfo.type.sizeof) + '"},'
|
||||
typeInfo.reported = True
|
||||
output += ']';
|
||||
return output
|
||||
global typesToReport
|
||||
typesToReport = {}
|
||||
output = Dumper(args).output
|
||||
output.append('],typeinfo=[')
|
||||
for name, type in typesToReport.iteritems():
|
||||
output.append('{name="%s",size="%s"}'
|
||||
% (base64.b64encode(name), type.sizeof))
|
||||
output.append(']')
|
||||
return "".join(output)
|
||||
|
||||
|
||||
def p1(args):
|
||||
@@ -960,6 +965,8 @@ class Dumper:
|
||||
self.formats = {}
|
||||
self.expandedINames = ""
|
||||
|
||||
self.output.append('data=[')
|
||||
|
||||
options = []
|
||||
varList = []
|
||||
watchers = ""
|
||||
@@ -1054,7 +1061,7 @@ class Dumper:
|
||||
pass
|
||||
|
||||
for item in locals:
|
||||
value = downcast(item.value)
|
||||
value = downcast(item.value) if self.useDynamicType else item.value
|
||||
with OutputSafer(self):
|
||||
self.anonNumber = -1
|
||||
|
||||
@@ -1351,6 +1358,7 @@ class Dumper:
|
||||
type = value.type.unqualified()
|
||||
typeName = str(type)
|
||||
tryDynamic &= self.useDynamicType
|
||||
lookupType(typeName) # Fill type cache
|
||||
|
||||
# FIXME: Gui shows references stripped?
|
||||
#warn(" ")
|
||||
@@ -1370,17 +1378,18 @@ class Dumper:
|
||||
except:
|
||||
pass
|
||||
|
||||
try:
|
||||
# Dynamic references are not supported by gdb, see
|
||||
# http://sourceware.org/bugzilla/show_bug.cgi?id=14077.
|
||||
# Find the dynamic type manually using referenced_type.
|
||||
value = value.referenced_value()
|
||||
value = value.cast(value.dynamic_type)
|
||||
self.putItem(value)
|
||||
self.putBetterType("%s &" % value.type)
|
||||
return
|
||||
except:
|
||||
pass
|
||||
if tryDynamic:
|
||||
try:
|
||||
# Dynamic references are not supported by gdb, see
|
||||
# http://sourceware.org/bugzilla/show_bug.cgi?id=14077.
|
||||
# Find the dynamic type manually using referenced_type.
|
||||
value = value.referenced_value()
|
||||
value = value.cast(value.dynamic_type)
|
||||
self.putItem(value)
|
||||
self.putBetterType("%s &" % value.type)
|
||||
return
|
||||
except:
|
||||
pass
|
||||
|
||||
try:
|
||||
# FIXME: This throws "RuntimeError: Attempt to dereference a
|
||||
|
||||
@@ -2211,39 +2211,6 @@ def qdump__boost__posix_time__time_duration(d, item):
|
||||
d.putNumChild(0)
|
||||
|
||||
|
||||
#######################################################################
|
||||
#
|
||||
# Symbian
|
||||
#
|
||||
#######################################################################
|
||||
|
||||
def encodeSymbianString(base, size):
|
||||
s = ""
|
||||
for i in xrange(size):
|
||||
val = int(base[i])
|
||||
if val == 9:
|
||||
s += "5c007400" # \t
|
||||
else:
|
||||
s += "%02x%02x" % (val % 256, val / 256)
|
||||
return s
|
||||
|
||||
def qdump__TBuf(d, value):
|
||||
size = value["iLength"] & 0xffff
|
||||
base = value["iBuf"]
|
||||
max = numericTemplateArgument(value.type, 0)
|
||||
check(0 <= size and size <= max)
|
||||
d.putNumChild(0)
|
||||
d.putValue(encodeSymbianString(base, size), Hex4EncodedLittleEndian)
|
||||
|
||||
def qdump__TLitC(d, value):
|
||||
size = value["iTypeLength"] & 0xffff
|
||||
base = value["iBuf"]
|
||||
max = numericTemplateArgument(value.type, 0)
|
||||
check(0 <= size and size <= max)
|
||||
d.putNumChild(0)
|
||||
d.putValue(encodeSymbianString(base, size), Hex4EncodedLittleEndian)
|
||||
|
||||
|
||||
#######################################################################
|
||||
#
|
||||
# SSE
|
||||
|
||||
@@ -4,20 +4,11 @@
|
||||
QT += declarative script
|
||||
INCLUDEPATH += $$PWD/include
|
||||
|
||||
symbian {
|
||||
LIBNAME = QmlJSDebugger.lib
|
||||
windows:CONFIG(debug, debug|release) {
|
||||
LIBNAME = QmlJSDebuggerd
|
||||
} else {
|
||||
windows:CONFIG(debug, debug|release) {
|
||||
LIBNAME = QmlJSDebuggerd
|
||||
} else {
|
||||
LIBNAME = QmlJSDebugger
|
||||
}
|
||||
LIBNAME = QmlJSDebugger
|
||||
}
|
||||
LIBS += -L$$PWD -l$$LIBNAME
|
||||
|
||||
symbian {
|
||||
# Work around bug in gcce toolchain (QTCREATORBUG-5589)
|
||||
LIBS += -lusrt2_2.lib
|
||||
}
|
||||
|
||||
DEFINES += QMLJSDEBUGGER
|
||||
|
||||
@@ -19,11 +19,7 @@ SOURCES += $$PWD/qmlruntime.cpp \
|
||||
RESOURCES = $$PWD/browser/browser.qrc \
|
||||
$$PWD/startup/startup.qrc
|
||||
|
||||
symbian:!contains(S60_VERSION, 3.1):!contains(S60_VERSION, 3.2) {
|
||||
SOURCES += $$PWD/deviceorientation_symbian.cpp
|
||||
FORMS = $$PWD/recopts.ui \
|
||||
$$PWD/proxysettings.ui
|
||||
} else:maemo5 {
|
||||
maemo5 {
|
||||
QT += dbus
|
||||
HEADERS += $$PWD/texteditautoresizer_maemo5.h
|
||||
SOURCES += $$PWD/deviceorientation_maemo5.cpp
|
||||
|
||||
@@ -8,20 +8,6 @@ DEPLOYMENTFOLDERS = folder_01
|
||||
# TOUCH_OPTIMIZED_NAVIGATION #
|
||||
DEFINES += TOUCH_OPTIMIZED_NAVIGATION
|
||||
|
||||
# TARGETUID3 #
|
||||
symbian:TARGET.UID3 = 0xE1111234
|
||||
|
||||
# Allow network access on Symbian
|
||||
# NETWORKACCESS #
|
||||
symbian:TARGET.CAPABILITY += NetworkServices
|
||||
|
||||
# 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
|
||||
|
||||
# If your application uses the Qt Mobility libraries, uncomment the following
|
||||
# lines and add the respective components to the MOBILITY variable.
|
||||
# CONFIG += mobility
|
||||
|
||||
@@ -140,17 +140,6 @@ void Html5ApplicationViewer::loadUrl(const QUrl &url)
|
||||
|
||||
void Html5ApplicationViewer::setOrientation(ScreenOrientation orientation)
|
||||
{
|
||||
#if defined(Q_OS_SYMBIAN)
|
||||
// If the version of Qt on the device is < 4.7.2, that attribute won't work
|
||||
if (orientation != ScreenOrientationAuto) {
|
||||
const QStringList v = QString::fromLatin1(qVersion()).split(QLatin1Char('.'));
|
||||
if (v.count() == 3 && (v.at(0).toInt() << 16 | v.at(1).toInt() << 8 | v.at(2).toInt()) < 0x040702) {
|
||||
qWarning("Screen orientation locking only supported with Qt 4.7.2 and above");
|
||||
return;
|
||||
}
|
||||
}
|
||||
#endif // Q_OS_SYMBIAN
|
||||
|
||||
Qt::WidgetAttribute attribute;
|
||||
switch (orientation) {
|
||||
#if QT_VERSION < 0x040702
|
||||
@@ -183,9 +172,7 @@ void Html5ApplicationViewer::setOrientation(ScreenOrientation orientation)
|
||||
|
||||
void Html5ApplicationViewer::showExpanded()
|
||||
{
|
||||
#if defined(Q_OS_SYMBIAN) || defined(Q_WS_SIMULATOR)
|
||||
showFullScreen();
|
||||
#elif defined(Q_WS_MAEMO_5)
|
||||
#if defined(Q_WS_MAEMO_5)
|
||||
showMaximized();
|
||||
#else
|
||||
show();
|
||||
|
||||
@@ -31,7 +31,7 @@ public:
|
||||
void loadFile(const QString &fileName);
|
||||
void loadUrl(const QUrl &url);
|
||||
|
||||
// Note that this will only have an effect on Symbian and Fremantle.
|
||||
// Note that this will only have an effect on Fremantle.
|
||||
void setOrientation(ScreenOrientation orientation);
|
||||
|
||||
void showExpanded();
|
||||
|
||||