summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/src/appicon.qdoc15
-rw-r--r--doc/src/examples.qdoc1
-rw-r--r--doc/src/examples/htmlinfo.qdoc59
-rw-r--r--doc/src/installation.qdoc110
-rw-r--r--doc/src/plugins-howto.qdoc14
-rw-r--r--doc/src/qmake-manual.qdoc427
-rw-r--r--doc/src/qnamespace.qdoc31
-rw-r--r--doc/src/s60-introduction.qdoc84
-rw-r--r--doc/src/snippets/code/doc_src_appicon.qdoc4
-rw-r--r--doc/src/snippets/code/doc_src_installation.qdoc31
-rw-r--r--doc/src/snippets/code/doc_src_qmake-manual.qdoc119
-rw-r--r--doc/src/snippets/code/doc_src_s60-introduction.qdoc16
12 files changed, 883 insertions, 28 deletions
diff --git a/doc/src/appicon.qdoc b/doc/src/appicon.qdoc
index 4d29337..a0fdbab 100644
--- a/doc/src/appicon.qdoc
+++ b/doc/src/appicon.qdoc
@@ -223,4 +223,19 @@
installed in the appropriate locations for GNOME.
The GNOME developer website is at \l{http://developer.gnome.org/}.
+
+ \section1 Setting the Application Icon on S60 platforms
+
+ In order to set application icon for S60 application you need SVG-T icon.
+ How to create such SVG-T, please refer to
+ \l{http://wiki.forum.nokia.com/index.php/How_to_create_application_icon(SVG)_in_S60_3rd_edition/}
+
+ Once you have icon in correct format and assuming you are using
+ \c qmake to generate your makefiles, you only need to add a single
+ line to your \c .pro project file. For example, if the name of your
+ icon file is \c{myapp.svg}, and your project file is \c{myapp.pro},
+ add this line to \c{myapp.pro}:
+
+ \snippet doc/src/snippets/code/doc_src_appicon.qdoc 5
+
*/
diff --git a/doc/src/examples.qdoc b/doc/src/examples.qdoc
index 29c6c0b..2d57389 100644
--- a/doc/src/examples.qdoc
+++ b/doc/src/examples.qdoc
@@ -384,6 +384,7 @@
\list
\o \l{xml/dombookmarks}{DOM Bookmarks}
+ \o \l{xml/htmlinfo}{HTML Info}
\o \l{xml/saxbookmarks}{SAX Bookmarks}
\o \l{xml/streambookmarks}{QXmlStream Bookmarks}\raisedaster
\o \l{xml/rsslisting}{RSS-Listing}
diff --git a/doc/src/examples/htmlinfo.qdoc b/doc/src/examples/htmlinfo.qdoc
new file mode 100644
index 0000000..bf95486
--- /dev/null
+++ b/doc/src/examples/htmlinfo.qdoc
@@ -0,0 +1,59 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the $MODULE$ of the Qt Toolkit.
+**
+** $TROLLTECH_DUAL_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example xml/htmlinfo
+ \title XML HTML Info Example
+
+ The XML HTML Info example provides a simple command line utility that
+ scans the current directory for HTML files and prints statistics about
+ them to standard out.
+
+ \note Standard out is redirected on some platforms. On Symbian using Open
+ C \c stdout is by default directed to the console window, but this window
+ may not always be visible. To redirect to a file instead, locate the \c
+ c:\\system\\data\\config.ini file (on either the emulator or the device)
+ and change \c STDOUT to point to \c MEDIA4. This will redirect the console
+ to \c c:\\system\\data\\out.txt.
+
+ The files are parsed using a QXmlStreamReader object. If the file does
+ not contain a well-formed XML document, a description of the error is
+ printed to the standard error console.
+
+ \section1 Basic Operation
+
+ The main function of the example uses QDir to access files in the current
+ directory that match either "*.htm" or "*.html". For each file found,
+ the \c parseHtmlFile() function is called.
+
+ Reading XML is handled by an instance of the QXmlStreamReader class, which
+ operates on the input file object:
+
+ \snippet examples/xml/htmlinfo/main.cpp 0
+
+ The work of parsing and the XML and extracting statistics is done in a
+ while loop, and is driven by input from the reader:
+
+ \snippet examples/xml/htmlinfo/main.cpp 1
+
+ If more input is available, the next token from the input file is read
+ and parsed. The program then looks for the specific element types,
+ "title", "a", and "p", and stores information about them.
+
+ When there is no more input, the loop terminates. If an error occurred,
+ information is written to the standard out file via a stream, and the
+ example exits:
+
+ \snippet examples/xml/htmlinfo/main.cpp 2
+
+ If no error occurred, the example prints some statistics from the data
+ gathered in the loop, and then exits.
+*/
diff --git a/doc/src/installation.qdoc b/doc/src/installation.qdoc
index 925a195..85ea20c 100644
--- a/doc/src/installation.qdoc
+++ b/doc/src/installation.qdoc
@@ -499,6 +499,116 @@ in the \l{Qt for Windows CE Requirements} document.
We hope you will enjoy using Qt. Good luck!
*/
+/*! \page install-S60.html
+
+\title Installing Qt on S60
+\ingroup installation
+\ingroup qts60
+\brief How to install Qt on S60.
+
+\list 1
+ \o Install needed IDE and SDKs
+
+ Make sure you have the following installed:
+ \list
+ \o \l{http://www.forum.nokia.com/main/resources/tools_and_sdks/carbide_cpp/}{Carbide.c++ v2.0.0 or higher}
+ \o \l{http://www.forum.nokia.com/main/resources/tools_and_sdks/S60SDK/}{S60 Platform SDK 3rd Edition FP1 or higher}
+ \o \l{http://www.forum.nokia.com/main/resources/technologies/openc_cpp/}{Open C/C++ for S60 3rd Edition} (automatically included in 3.2 and higher)
+ \endlist
+
+ These instructions assume the above tools are installed and
+ that the enviroment variables for your compiler are set correctly.
+
+ \note Users of \bold{S60 Platform SDK 3rd Edition FP1} also need special updates. The update can be found
+ \l{http://pepper.troll.no/s60prereleases/patches/}{here}.
+
+ \note The wsini.ini provided with the \bold{S60 Platform SDK 5th Edition v0.9}
+ needs to be updated for correct font rendering in the emulator. The update can be found
+ \l{http://pepper.troll.no/s60prereleases/patches/}{here}.
+
+ \o Install Qt
+
+ Uncompress the package into the directory you want Qt installed,
+ e.g. \c{C:\Qt\%VERSION%}.
+
+ \note Qt must be installed on the same drive as the S60 SDK you are
+ using, and the install path must not contain any spaces.
+
+ \o Environment variables
+
+ In order to build and use Qt, the \c PATH environment variable needs
+ to be extended:
+
+ \snippet doc/src/snippets/code/doc_src_installation.qdoc 18
+
+ This is done by adding \c{c:\Qt\%VERSION%\bin} to the \c PATH variable.
+
+ On Windows the PATH can be extended by navigating to
+ "Control Panel->System->Advanced->Environment variables".
+
+ In addition, you must configure the environment for use with the S60
+ emulator. This is done by locating the Carbide.c++ submenu on the Start
+ menu, and choosing "Configure environment for WINSCW command line".
+
+ \o Configure Qt
+
+ To configure Qt for S60, do:
+
+ \snippet doc/src/snippets/code/doc_src_installation.qdoc 23
+
+ For other options, type \c{configure -help} to get a list of all available
+ options.
+
+ \o Build Qt
+
+ The Qt libraries comes pre-built for real devices.
+ If you are using a 3.x S60 SDK, install \c{qts60binaries\3.x\qtlibs-%VERSION%.exe}
+ into the S60 SDK root directory. For example: \c{C:\Symbian\9.2\S60_3rd_FP1_2\}
+ If you are using a 5.0 S60 SDK, install \c{qts60binaries\5.0\qtlibs-%VERSION%.exe}
+ into the S60 SDK root directory. For example: \c{C:\S60\devices\S60_5th_Edition_SDK_v0.9\}
+
+ To build Qt for the emulator, type:
+
+ \snippet doc/src/snippets/code/doc_src_installation.qdoc 24
+
+ Congratulations, Qt is now ready to use.
+
+ \o Running Qt demos
+
+ We've included a subset of the Qt demos in this package for you
+ to try out. An excellent starting point is the "fluidlauncher"
+ demo. To run the demo on a real device, you first have to install
+ the Qt libraries on the device.
+ For 3.x devices install \c{qts60binaries\3.x\qt_libs_armv5_udeb.sisx}
+ For 5.0 devices install \c{qts60binaries\5.0\qt_libs_armv5_udeb.sisx}
+ included in this package to the device. Then type:
+
+ \snippet doc/src/snippets/code/doc_src_installation.qdoc 25
+
+ This will create a self-signed \c fluidlauncher_gcce_udeb.sisx and
+ install it to your device.
+
+ \note You can specify your own certificate and key files as additional parameters to
+ \c createpackage if default ones are not suitable.
+
+ To run the demos on the emulator simply run:
+
+ \snippet doc/src/snippets/code/doc_src_installation.qdoc 27
+
+ Or, if you need to supply arguments to the program, navigate to
+ \c{%EPOCROOT%\Epoc32\release\winscw\udeb\} and start any of the
+ Qt demos located there, for example:
+
+ \snippet doc/src/snippets/code/doc_src_installation.qdoc 26
+
+ For more information about building and running Qt programs on S60,
+ see \l{S60 - Introduction to using Qt}.
+
+ We hope you will enjoy using Qt.
+
+\endlist
+
+*/
/*!
\page requirements.html
\title General Qt Requirements
diff --git a/doc/src/plugins-howto.qdoc b/doc/src/plugins-howto.qdoc
index 2c2b031..95710f6 100644
--- a/doc/src/plugins-howto.qdoc
+++ b/doc/src/plugins-howto.qdoc
@@ -187,6 +187,20 @@
The \l{Style Plugin Example} shows how to implement a plugin
that extends the QStylePlugin base class.
+ \note In Symbian all binaries must be located in the directory \\sys\\bin,
+ so each Qt plugin has a stub with the same basename as the plugin dll
+ and suffix ".qtplugin" to make Qt extension plugins work similarly to
+ other platforms.
+ When trying to locate the plugin, Qt actually looks for the stub
+ instead of the plugin binary. While plugin stub files have the
+ suffix ".qtplugin", they can still be loaded also by specifying a filename
+ with the normal library suffix ".dll" for QPluginLoader, so normally application
+ developer doesn't need to care about the different suffix of the stub.
+ In Symbian the default plugin stubs path is \\resource\\qt\\plugins.
+ Because of the way applications can be installed
+ on ROM or various other drives in Symbian, all available drives are
+ searched for that path when looking for plugins.
+
\section1 The Lower-Level API: Extending Qt Applications
Not only Qt itself but also Qt application can be extended
diff --git a/doc/src/qmake-manual.qdoc b/doc/src/qmake-manual.qdoc
index 172bc60..ff56dad 100644
--- a/doc/src/qmake-manual.qdoc
+++ b/doc/src/qmake-manual.qdoc
@@ -883,6 +883,89 @@
This is discussed in more detail in the
\l{Deploying an Application on Windows#Visual Studio 2005 Onwards}
{deployment guide for Windows}.
+
+
+ \section1 S60
+
+ Features specific to this platform include handling of static data,
+ capabilities, stack and heap size, compiler specific options, and unique
+ identifiers for the application or library.
+
+ \section2 Handling of static data
+
+ If the application uses any static data, the build system needs to be
+ informed about it. This is because Symbian tries to save memory if no
+ static data is in use.
+
+ To specify that static data support is desired, add this to the project file:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 129
+
+ The default value is zero.
+
+ \section2 Stack and heap size
+
+ Symbian uses predefined sizes for stacks and heaps. If an
+ application exceeds either limit, it may crash or fail to complete its
+ task. Crashes that seem to have no reason can often be traced back to
+ insufficient stack and/or heap sizes.
+
+ The stack size has a maximum value, whereas the heap size has a
+ minimum and a maximum value, all specified in bytes. The minimum value
+ prevents the application from starting if that amount of memory is not available. The
+ minimum and maximum values are separated by a space. For example:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 130
+
+ The default values depend on the version of the S60 SDK you're using.
+
+ \section2 Compiler specific options
+
+ General compiler options can as usual be set using \c QMAKE_CFLAGS and \c QMAKE_CXXFLAGS.
+ In order to set specific compiler options, \c QMAKE_CFLAGS.<compiler> and
+ \c QMAKE_CXXFLAGS.<compiler> can be used. \c <compiler> can be either \c CW for the WINSCW
+ architecture (emulator), or \c ARMCC for the ARMv5 architecture (hardware).
+
+ Here is an example:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 131
+
+ \section2 Unique identifiers
+
+ Symbian applications may have unique identifiers attached to them.
+ Here is how to define them in a project file:
+
+ There are four types of IDs supported: \c UID2, \c UID3, \c SID, and \c VID. They
+ are specified like this:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 132
+
+ If \c UID2 is not specified, it defaults to the same value as \c UID3.
+ If \c UID3 is not specified, qmake will automatically generate a \c UID3
+ suitable for development and debugging. This value should be manually
+ specified for applications that are to be released. In order to optain
+ an official UID, please contact Nokia. Both \c SID and \c VID default to empty values.
+
+ For more information about unique identifiers and their meaning for
+ Symbian applications, please refer to the
+ \l{http://www.symbian.com/developer/techlib/v9.2docs/doc_source/ToolsAndUtilities/BuildTools/UsingUids.guide.html}{respective S60 SDK documentation}.
+
+ \section2 Capabilities
+
+ Capabilities define extra priviledges for the application, such as the
+ ability to list all files on the file system. Capabilities are defined
+ in the project file like this:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 133
+
+ It is also possible to specify which capabilities \e not to have,
+ by first specifying \c ALL and then list the unwanted capabilities
+ with a minus in front of them, like this:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 134
+
+ For more information about capabilities, please refer to the
+ \l{http://www.symbian.com/developer/techlib/v9.2docs/doc_source/guide/platsecsdk/index.html}{respective S60 SDK documentation}.
*/
/*!
@@ -973,6 +1056,32 @@
\tableofcontents{3}
+ \target BLD_INF_RULES
+ \section1 BLD_INF_RULES
+
+ \e {This is only used on Symbian.}
+
+ Generic \c bld.inf file content can be specified with \c BLD_INF_RULES variables.
+ The section of \c bld.inf file where each rule goes is appended to
+ \c BLD_INF_RULES with a dot.
+
+ For example:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 146
+
+ This will add the specified statements to the \c prj_exports section of the
+ generated \c bld.inf file.
+
+ It is also possible to add multiple rows in a single block. Each double
+ quoted string will be placed on a new row in the generated \c bld.inf file.
+
+ For example:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 143
+
+ Any rules you define will be added after automatically generated
+ rules in each section.
+
\target CONFIG
\section1 CONFIG
@@ -1123,6 +1232,20 @@
The build process for bundles is also influenced by
the contents of the \l{#QMAKE_BUNDLE_DATA}{QMAKE_BUNDLE_DATA} variable.
+ These options only have an effect on Symbian:
+
+ \table 95%
+ \header \o Option \o Description
+ \row \o stdbinary \o Builds an Open C binary (i.e. STDDLL, STDEXE, or STDLIB,
+ depending on the target binary type.)
+ \row \o no_icon \o Doesn't generate resources needed for displaying an icon
+ for executable in application menu (app only).
+ \row \o symbian_test \o Places mmp files and extension makefiles under
+ test sections in generated bld.inf instead of their regular sections.
+ Note that this only affects automatically generated bld.inf content;
+ the content added via \c BLD_INF_RULES variable is not affected.
+ \endtable
+
These options have an effect on Linux/Unix platforms:
\table 95%
@@ -1166,7 +1289,7 @@
\target DEPLOYMENT
\section1 DEPLOYMENT
- \e {This is only used on Windows CE.}
+ \e {This is only used on Windows CE and Symbian.}
Specifies which additional files will be deployed. Deployment means the
transfer of files from the development system to the target device or
@@ -1184,7 +1307,8 @@
The default deployment target path for Windows CE is
\c{%CSIDL_PROGRAM_FILES%\target}, which usually gets expanded to
- \c{\Program Files\target}.
+ \c{\Program Files\target}. For Symbian, the default target is the application
+ private directory on the drive it is installed to.
It is also possible to specify multiple \c sources to be deployed on
target \c paths. In addition, different variables can be used for
@@ -1194,24 +1318,63 @@
\snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 29
- \note All linked Qt libraries will be deployed to the path specified
- by \c{myFiles.path}.
+ \note In Windows CE all linked Qt libraries will be deployed to the path
+ specified by \c{myFiles.path}. In Symbian all libraries and executables
+ will always be deployed to the \\sys\\bin of the installation drive.
+
+ Since the Symbian build system automatically moves binaries to certain
+ directories under the epoc32 directory, custom plugins, executables or
+ dynamically loadable libraries need special handling. When deploying
+ extra executables or dynamically loadable libraries, the target path
+ must specify \\sys\\bin. For plugins, the target path must specify the
+ location where the plugin stub will be deployed to (see the
+ \l{How to Create Qt Plugins} document for more information about plugins).
+ If the binary cannot be found from the indicated source path,
+ the directory Symbian build process moves the executables to is
+ searched, e.g. \\epoc32\\release\\armv5\\urel.
+
+ For example:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 128
+ In Symbian, dependencies to other packages can also be created using
+ this variable. The strings defined as dependencies are not parsed by
+ qmake, so they should be in a format understood by Symbian package
+ generation tools. Please consult Symbian documentation for correct syntax.
+
+ For example:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 140
+
+ In Symbian, the \c default_deployment item specifies
+ default platform dependencies. It can be overwritten if a more
+ restrictive set is needed - e.g. if a specific
+ device is required to run the application.
+
+ For example:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 141
+
\target DEPLOYMENT_PLUGIN
\section1 DEPLOYMENT_PLUGIN
- \e {This is only used on Windows CE.}
+ \e {This is only used on Windows CE and Symbian.}
This variable specifies the Qt plugins that will be deployed. All plugins
available in Qt can be explicitly deployed to the device. See
\l{Static Plugins}{Static Plugins} for a complete list.
- \note No plugins will be deployed automatically. If the application
- depends on plugins, these plugins have to be specified manually.
+ \note In Windows CE, No plugins will be deployed automatically.
+ If the application depends on plugins, these plugins have to be specified
+ manually.
+
+ \note In Symbian, all plugins supported by this variable will be deployed
+ by default with Qt libraries, so generally using this variable is not
+ needed.
For example:
- \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 128
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 142
This will upload the jpeg imageformat plugin to the plugins directory
on the Windows CE device.
@@ -1367,9 +1530,9 @@
This variable contains a list of libraries to be linked into the project.
You can use the Unix \c -l (library) and -L (library path) flags and qmake
- will do the correct thing with these libraries on Windows (namely this
- means passing the full path of the library to the linker). The only
- limitation to this is the library must exist, for qmake to find which
+ will do the correct thing with these libraries on Windows and Symbian
+ (namely this means passing the full path of the library to the linker). The
+ only limitation to this is the library must exist, for qmake to find which
directory a \c -l lib lives in.
For example:
@@ -1383,6 +1546,14 @@
explicitly specify the library to be used by including the \c{.lib}
file name suffix.
+ \bold{Note:} On S60, the build system makes a distinction between shared and
+ static libraries. In most cases, qmake will figure out which library you
+ are refering to, but in some cases you may have to specify it explicitly to
+ get the expected behavior. This typically happens if you are building a
+ library and using it in the same project. To specify that the library is
+ either shared or static, add a ".dll" or ".lib" suffix, respectively, to the
+ library name.
+
By default, the list of libraries stored in \c LIBS is reduced to a list of
unique names before it is used. To change this behavior, add the
\c no_lflags_merge option to the \c CONFIG variable:
@@ -1418,6 +1589,37 @@
when generating a Makefile. The value of this variable is typically
handled internally by \c qmake and rarely needs to be modified.
+ \target MMP_RULES
+ \section1 MMP_RULES
+
+ \e {This is only used on Symbian.}
+
+ Generic MMP file content can be specified with this variable.
+
+ For example:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 137
+
+ This will add the specified statement to the end of the generated MMP file.
+
+ It is also possible to add multiple rows in a single block. Each double
+ quoted string will be placed on a new row in the generated MMP file.
+
+ For example:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 138
+
+ If you need to include a hash (\c{#}) character inside the
+ \c MMP_RULES statement, it can be done with the variable
+ \c LITERAL_HASH as follows:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 139
+
+ \note You should not use this variable to add MMP statements that are
+ explicitly supported by their own variables, such as
+ \c TARGET.EPOCSTACKSIZE.
+ Doing so could result in duplicate statements in the MMP file.
+
\target MOC_DIR
\section1 MOC_DIR
@@ -1710,6 +1912,14 @@
the \c QMAKE_CXXFLAGS_DEBUG and \c QMAKE_CXXFLAGS_RELEASE variables,
respectively.
+ \bold{Note:} On S60, this variable can be used to pass architecture specific
+ options to each compiler in the Symbian build system. For example:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 131
+
+ For more information, see
+ \l{qmake Platform Notes#Compiler specific options}{qmake Platform Notes}.
+
\target QMAKE_CXXFLAGS_DEBUG
\section1 QMAKE_CXXFLAGS_DEBUG
@@ -2432,6 +2642,49 @@
This variable contains the name of the resource file for the application.
The value of this variable is typically handled by \c qmake or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
+
+ \target RSS_RULES
+ \section1 RSS_RULES
+
+ \e {This is only used on Symbian.}
+
+ Generic RSS file content can be specified with this variable. The syntax is
+ similar to \c MMP_RULES and \c BLD_INF_RULES.
+
+ For example:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 144
+
+ This will add the specified statement to the end of the generated
+ registration resource file. As an impact of this statement, the application
+ will not be visible in application shell.
+
+ It is also possible to add multiple rows in a single block. Each double
+ quoted string will be placed on a new row in the registration resource file.
+
+ For example:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 145
+
+ This example will install the application to MyFolder in S60 application
+ shell. In addition it will make the application to be launched in background.
+
+ For detailed list of possible RSS statements, please refer to Symbian OS help.
+
+ \note You should not use \c RSS_RULES variable to set the following RSS statements:
+
+ app_file
+ localisable_resource_file
+ localisable_resource_id
+
+ These statements are internally handled by qmake.
+
+ \target S60_VERSION
+ \section1 S60_VERSION
+
+ \e {This is only used on Symbian.}
+
+ Contains the version number of the underlying S60 SDK; e.g. "5.0".
\target SIGNATURE_FILE
\section1 SIGNATURE_FILE
@@ -2496,6 +2749,78 @@
The project file above would produce an executable named \c myapp on
unix and 'myapp.exe' on windows.
+ \target TARGET.CAPABILITY
+ \section1 TARGET.CAPABILITY
+
+ \e {This is only used on Symbian.}
+
+ Specifies which platform capabilities the application should have. For more
+ information, please refer to the S60 SDK documentation.
+
+ \target TARGET.EPOCALLOWDLLDATA
+ \section1 TARGET.EPOCALLOWDLLDATA
+
+ \e {This is only used on Symbian.}
+
+ Specifies whether static data should be allowed in the application. Symbian
+ disallows this by default in order to save memory. To use it, set this to 1.
+
+ \target TARGET.EPOCHEAPSIZE
+ \section1 TARGET.EPOCHEAPSIZE
+
+ \e {This is only used on Symbian.}
+
+ Specifies the minimum and maximum heap size of the application. The program
+ will refuse to run if the minimum size is not available when it starts. For
+ example:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 135
+
+ \target TARGET.EPOCSTACKSIZE
+ \section1 TARGET.EPOCSTACKSIZE
+
+ \e {This is only used on Symbian.}
+
+ Specifies the maximum stack size of the application. For example:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 136
+
+ \target TARGET.SID
+ \section1 TARGET.SID
+
+ \e {This is only used on Symbian.}
+
+ Specifies which secure identifier to use for the target application or
+ library. For more information, see the S60 SDK documentation.
+
+ \target TARGET.UID2
+ \section1 TARGET.UID2
+
+ \e {This is only used on Symbian.}
+
+ Specifies which unique identifier 2 to use for the target application or
+ library. If this variable is not specified, it defaults to the same value
+ as TARGET.UID3. For more information, see the S60 SDK documentation.
+
+ \target TARGET.UID3
+ \section1 TARGET.UID3
+
+ \e {This is only used on Symbian.}
+
+ Specifies which unique identifier 3 to use for the target application or
+ library. If this variable is not specified, a UID3 suitable for development
+ and debugging will be generated automatically. However, applications being
+ released should always define this variable. For more information, see the
+ S60 SDK documentation.
+
+ \target TARGET.VID
+ \section1 TARGET.VID
+
+ \e {This is only used on Symbian.}
+
+ Specifies which vendor identifier to use for the target application or
+ library. For more information, see the S60 SDK documentation.
+
\section1 TARGET_EXT
This variable specifies the target's extension. The value of this variable
@@ -3315,22 +3640,70 @@
\table
\header
- \o Member
- \o Description
- \row
- \o combine
- \o Indicates that all of the input files are combined into a single output file.
- \row
- \o target_predeps
- \o Indicates that the output should be added to the list of PRE_TARGETDEPS.
- \row
- \o explicit_dependencies
- \o The dependencies for the output only get generated from the depends member and from
- nowhere else.
- \row
- \o no_link
- \o Indicates that the output should not be added to the list of objects to be linked in
- \endtable
+ \o Member
+ \o Description
+ \row
+ \o commands
+ \o The commands used for for generating the output from the input.
+ \row
+ \o CONFIG
+ \o Specific configuration options for the custom compiler. See the CONFIG table for details.
+ \row
+ \o depend_command
+ \o Specifies a command used to generate the list of dependencies for the output.
+ \row
+ \o dependency_type
+ \o Specifies the type of file the output is, if it is a known type (such as TYPE_C,
+ TYPE_UI, TYPE_QRC) then it is handled as one of those type of files.
+ \row
+ \o depends
+ \o Specifies the dependencies of the output file.
+ \row
+ \o input
+ \o The variable that contains the files that should be processed with the custom compiler.
+ \row
+ \o name
+ \o A description of what the custom compiler is doing. This is only used in some backends.
+ \row
+ \o output
+ \o The filename that is created from the custom compiler.
+ \row
+ \o output_function
+ \o Specifies a custom qmake function that is used to specify the filename to be created.
+ \row
+ \o variables
+ \o Indicates that the variables specified here are replaced with $(QMAKE_COMP_VARNAME) when refered to
+ in the pro file as $(VARNAME).
+ \row
+ \o variable_out
+ \o The variable that the files created from the output should be added to.
+ \endtable
+
+ List of members specific to the CONFIG option:
+
+ \table
+ \header
+ \o Member
+ \o Description
+ \row
+ \o combine
+ \o Indicates that all of the input files are combined into a single output file.
+ \row
+ \o target_predeps
+ \o Indicates that the output should be added to the list of PRE_TARGETDEPS.
+ \row
+ \o explicit_dependencies
+ \o The dependencies for the output only get generated from the depends member and from
+ nowhere else.
+ \row
+ \o no_link
+ \o Indicates that the output should not be added to the list of objects to be linked in.
+ \endtable
+
+ \note Symbian specific: Generating objects to be linked in is not supported in Symbian,
+ so either the \c CONFIG option \c no_link or variable \c variable_out
+ should always be defined for extra compilers.
+
*/
/*!
diff --git a/doc/src/qnamespace.qdoc b/doc/src/qnamespace.qdoc
index d9f001e..84b3a01 100644
--- a/doc/src/qnamespace.qdoc
+++ b/doc/src/qnamespace.qdoc
@@ -2392,6 +2392,36 @@
*/
/*!
+ \enum Qt::InputMethodHint
+
+ \value ImhNone No hints.
+ \value ImhHiddenText Characters should be hidden, as is typically used when entering passwords.
+ This is automatically set when setting QLineEdit::echoMode to \c Password.
+ \value ImhDigitsOnly Only digit input is allowed.
+ \value ImhFormattedNumbersOnly Only number input (including integers and real numbers) is allowed.
+ \value ImhUppercaseOnly Only upper case letter input is allowed.
+ \value ImhLowercaseOnly Only lower case letter input is allowed.
+ \value ImhNoAutoUppercase The input method should not try to automatically switch to upper case
+ at the beginning of a sentence.
+ \value ImhPreferNumbers Numbers are preferred (but not required). This can include only digits,
+ phone numbers, or all numbers, depending on which one of the
+ \c ImhDigitsOnly, \c ImhDialableCharactersOnly and
+ \c ImhFormattedNumbersOnly flags is given.
+ \value ImhPreferUppercase Upper case letters are preferred (but not required).
+ \value ImhPreferLowercase Lower case letters are preferred (but not required).
+ \value ImhNoPredictiveText Do not use predictive text (i.e. dictionary lookup) while typing.
+ \value ImhDialableCharactersOnly Only characters suitable for phone dialling are allowed.
+
+ \note If several flags ending with \c Only are ORed together, the resulting character set will
+ consist of the union of the specified sets. For instance specifying \c ImhNumbersOnly and
+ \c ImhUppercaseOnly would yield a set consisting of numbers and uppercase letters.
+
+ \note If several flags of the \c Prefer type are ORed together, the result is undefined.
+
+ \sa QWidget::inputMethodHints
+*/
+
+/*!
\enum Qt::InputMethodQuery
\value ImMicroFocus The rectangle covering the area of the input cursor in widget coordinates.
@@ -2401,6 +2431,7 @@
selection, even if the real cursor is located at the logical start.
\value ImSurroundingText The plain text around the input area, for example the current paragraph.
\value ImCurrentSelection The currently selected text.
+ \value ImMaximumTextLength The maximum number of characters that the widget can hold. If there is no limit, QVariant() is returned.
*/
/*!
diff --git a/doc/src/s60-introduction.qdoc b/doc/src/s60-introduction.qdoc
new file mode 100644
index 0000000..a574355
--- /dev/null
+++ b/doc/src/s60-introduction.qdoc
@@ -0,0 +1,84 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the $MODULE$ of the Qt Toolkit.
+**
+** $TROLLTECH_DUAL_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \page s60-with-qt-introduction.html
+
+ \title S60 - Introduction to using Qt
+ \brief An introduction to Qt for S60 developers.
+ \ingroup howto
+ \ingroup qts60
+
+ \tableofcontents
+
+ \section1 Required tools
+
+ In order to use Qt for S60 you need to have a typical S60 development
+ setup. See \l{Qt for S60 Requirements} for the details.
+
+ \section1 Installing Qt
+
+ Follow the instructions found in \l{Installing Qt on S60}.
+
+ \section1 Building your own applications
+
+ If you are new to Qt development, have a look at \l{How to Learn Qt}
+ and \l{Qt Tutorial}. In general, the difference between developing a
+ Qt application on S60 compared to any of the other platforms supported
+ by Qt is not that big.
+
+ Once you have crated a \c .pro file for your project, generate the
+ Carbide specific \c Bld.inf and \c .mmp files this way:
+
+ \snippet doc/src/snippets/code/doc_src_s60-introduction.qdoc 0
+
+ For more information on how to use qmake have a look at the \l
+ {qmake Tutorial}.
+
+ Now you can build the Qt on S60 application with standard build
+ tools. By default, running \c make will produce binaries for the
+ emulator. However, S60 comes with several alternative build targets,
+ as shown in the table below:
+
+ \table
+ \row \o \c debug-winscw \o Build debug binaries for the emulator (default).
+ It is currently not possible to build release
+ binaries for the emulator.
+ \row \o \c debug-gcce \o Build debug binaries for hardware using GCCE.
+ \row \o \c release-gcce \o Build release binaries for hardware using GCCE.
+ \row \o \c debug-armv5 \o Build debug binaries for hardware using RVCT.
+ \row \o \c release-armv5 \o Build release binaries for hardware using RVCT.
+ \row \o \c run \o Run the emulator binaries from the build directory.
+ \endtable
+
+ The following lines perform a debug build for the emulator
+ and deploy all the needed files:
+
+ \snippet doc/src/snippets/code/doc_src_s60-introduction.qdoc 1
+
+ To work on your project in Carbide, simply import the \c .pro file
+ by right clicking on the project explorer and executing "Import...".
+
+ \section1 Installing your own applications
+
+ To install your own applications on hardware, Qt comes with a tool called
+ \c createpackage. When used on the \c .pkg files created by qmake, it
+ will produce a \c .sisx file that can be installed to the device. For
+ example:
+
+ \snippet doc/src/snippets/code/doc_src_s60-introduction.qdoc 2
+
+ If you want to install the program immediately, make sure that the device
+ is connected to the computer in "PC Suite" mode, and run \c createpackage
+ with the \c -i switch, like this:
+
+ \snippet doc/src/snippets/code/doc_src_s60-introduction.qdoc 3
+*/
diff --git a/doc/src/snippets/code/doc_src_appicon.qdoc b/doc/src/snippets/code/doc_src_appicon.qdoc
index c8883fe..c763a68 100644
--- a/doc/src/snippets/code/doc_src_appicon.qdoc
+++ b/doc/src/snippets/code/doc_src_appicon.qdoc
@@ -21,3 +21,7 @@ kde-config --path icon
//! [4]
gnome-config --datadir
//! [4]
+
+//! [5]
+ICON = myapp.svg
+//! [5]
diff --git a/doc/src/snippets/code/doc_src_installation.qdoc b/doc/src/snippets/code/doc_src_installation.qdoc
index e35dad9..2930317 100644
--- a/doc/src/snippets/code/doc_src_installation.qdoc
+++ b/doc/src/snippets/code/doc_src_installation.qdoc
@@ -125,3 +125,34 @@ setcepaths wincewm50pocket-msvc2005
//! [22]
nmake
//! [22]
+
+
+//! [23]
+cd \Qt\%VERSION%
+configure -platform win32-mwc -xplatform symbian-abld
+//! [23]
+
+
+//! [24]
+make debug-winscw
+//! [24]
+
+
+//! [25]
+cd examples
+make debug-gcce
+cd ..\demos
+
+make debug-gcce
+cd embedded\fluidlauncher
+createpackage -i fluidlauncher_gcce_udeb.pkg
+//! [25]
+
+
+//! [26]
+wiggly.exe -small-screen
+//! [26]
+
+//! [27]
+make run
+//! [27]
diff --git a/doc/src/snippets/code/doc_src_qmake-manual.qdoc b/doc/src/snippets/code/doc_src_qmake-manual.qdoc
index edb66bc..b93e151 100644
--- a/doc/src/snippets/code/doc_src_qmake-manual.qdoc
+++ b/doc/src/snippets/code/doc_src_qmake-manual.qdoc
@@ -809,5 +809,122 @@ CONFIG(debug, debug|release) {
//! [127]
//! [128]
-DEPLOYMENT_PLUGIN += qjpeg
+customplugin.sources = customimageplugin.dll
+customplugin.sources += c:\myplugins\othercustomimageplugin.dll
+customplugin.path = imageformats
+dynamiclibrary.sources = mylib.dll helper.exe
+dynamiclibrary.path = \sys\bin
+globalplugin.sources = someglobalimageplugin.dll
+globalplugin.path = \resource\qt\plugins\imageformats
+DEPLOYMENT += customplugin dynamiclibrary globalplugin
//! [128]
+
+//! [129]
+TARGET.EPOCALLOWDLLDATA = 1
+//! [129]
+
+//! [130]
+TARGET.EPOCHEAPSIZE = 10000 10000000
+TARGET.EPOCSTACKSIZE = 0x8000
+//! [130]
+
+//! [131]
+QMAKE_CXXFLAGS.CW += -O2
+QMAKE_CXXFLAGS.ARMCC += -O0
+//! [131]
+
+//! [132]
+TARGET.UID2 = 0x00000001
+TARGET.UID3 = 0x00000002
+TARGET.SID = 0x00000003
+TARGET.VID = 0x00000004
+//! [132]
+
+//! [133]
+TARGET.CAPABILITY += AllFiles
+//! [133]
+
+//! [134]
+TARGET.CAPABILITY = ALL -TCB
+//! [134]
+
+//! [135]
+TARGET.EPOCHEAPSIZE = 10000 10000000
+//! [135]
+
+//! [136]
+TARGET.EPOCSTACKSIZE = 0x8000
+//! [136]
+
+//! [137]
+MMP_RULES += "DEFFILE hello.def"
+//! [137]
+
+//! [138]
+myBlock = \
+"START RESOURCE foo.rss" \
+"TARGET bar" \
+"TARGETPATH private\10001234" \
+"HEADER" \
+"LANG 01" \
+"UID 0x10002345 0x10003456" \
+"END"
+
+MMP_RULES += myBlock
+//! [138]
+
+//! [139]
+myIfdefBlock = \
+"$${LITERAL_HASH}ifdef WINSCW" \
+"DEFFILE hello_winscw.def" \
+"$${LITERAL_HASH}endif"
+
+MMP_RULES += myIfdefBlock
+//! [139]
+
+//! [140]
+somelib.sources = somelib.dll
+somelib.path = \sys\bin
+somelib.depends = "(0x12345678), 2, 2, 0, {\"Some Package\"}" \
+ "(0x87654321), 1, *, * ~ 2, 2, 0, {\"Some Other Package\"}"
+justdep.depends = "(0xAAAABBBB), 0, 2, 0, {\"My Framework\"}"
+DEPLOYMENT += somelib justdep
+//! [140]
+
+//! [141]
+default_deployment.depends = "[0x11223344],0,0,0,{\"SomeSpecificDeviceID\"}"
+//! [141]
+
+//! [142]
+DEPLOYMENT_PLUGIN += qjpeg
+//! [142]
+
+//! [143]
+myextension = \
+ "start extension myextension" \
+ "$${LITERAL_HASH}if defined(WINSCW)" \
+ "option MYOPTION foo" \
+ "$${LITERAL_HASH}endif" \
+ "option MYOPTION bar" \
+ "end"
+BLD_INF_RULES.prj_extensions += myextension
+//! [143]
+
+//! [144]
+RSS_RULES += "hidden = KAppIsHidden;"
+//! [144]
+
+//! [145]
+myrssrules = \
+ "hidden = KAppIsHidden;" \
+ "launch = KAppLaunchInBackground;" \
+RSS_RULES += myrssrules
+//! [145]
+
+//! [146]
+BLD_INF_RULES.prj_exports += \
+ "$${LITERAL_HASH}include <platform_paths.hrh>" \
+ "rom/my.iby APP_LAYER_PUBLIC_EXPORT_PATH(my.iby)" \
+ "inc/myheader.h mycomp/myheader.h" \
+ ":zip my_api.zip my_api"
+//! [146]
diff --git a/doc/src/snippets/code/doc_src_s60-introduction.qdoc b/doc/src/snippets/code/doc_src_s60-introduction.qdoc
new file mode 100644
index 0000000..ff1d159
--- /dev/null
+++ b/doc/src/snippets/code/doc_src_s60-introduction.qdoc
@@ -0,0 +1,16 @@
+//! [0]
+ qmake
+//! [0]
+
+
+//! [1]
+ make debug-winscw
+//! [1]
+
+//! [2]
+ createpackage wiggly_gcce_udeb.pkg
+//! [2]
+
+//! [3]
+ createpackage -i wiggly_gcce_udeb.pkg
+//! [3]