summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2011-11-22 21:34:44 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2011-11-22 21:34:44 (GMT)
commit526eda58dae96dca2c5aebcb48b007f09bd7ecac (patch)
tree2262444830c9b20cf88c568f98b916aef1acb1ff /doc
parent5f2090f0f2280c32d06fbc5188ccb799d7b1a489 (diff)
parent0f4a61a33942744b1609c2b375d28765a215e39f (diff)
downloadQt-526eda58dae96dca2c5aebcb48b007f09bd7ecac.zip
Qt-526eda58dae96dca2c5aebcb48b007f09bd7ecac.tar.gz
Qt-526eda58dae96dca2c5aebcb48b007f09bd7ecac.tar.bz2
Merge branch 'master' of scm.dev.nokia.troll.no:qt/qt-doc-staging into master-integration
* 'master' of scm.dev.nokia.troll.no:qt/qt-doc-staging: (72 commits) Add note to declarative calculator example Help: Add \depends to all declarative examples & demos Declarative Examples: Fall back to local qmlapplicationviewer. Fix qdoc output for <dependency> tag. Change installation location of examples. Add Symbian platform notes. Fix "make install" for declarative examples Add C++11 support and QThreadLocalStorage changes to docs. Update the license in the qmlapplicationviewer. Examples: Add Copright headers, Remove stray file. Compile fix. Fix use of qmlapplicationviewer. Doc: Create relative pathes in Manifest files. Doc: Copy manifest files to the places where Creator expects them. qdoc3: qdoc supports \depends in 4.8 qdoc3: qdoc supports \depends in 4.8 Update qrc files. Update qmlapplicationviewer template, cppextensions/qgraphicslayout example corrections demos/declarative/snake example corrections ...
Diffstat (limited to 'doc')
-rw-r--r--doc/doc.pri15
-rw-r--r--doc/src/examples/qml-calculator.qdoc2
-rw-r--r--doc/src/examples/qml-examples.qdoc141
-rw-r--r--doc/src/examples/qml-flickr.qdoc2
-rw-r--r--doc/src/examples/qml-folderlistmodel.qdoc1
-rw-r--r--doc/src/examples/qml-photoviewer.qdoc2
-rw-r--r--doc/src/examples/qml-rssnews.qdoc2
-rw-r--r--doc/src/examples/qml-samegame.qdoc2
-rw-r--r--doc/src/examples/qml-twitter.qdoc2
-rw-r--r--doc/src/examples/qml-webbrowser.qdoc2
-rw-r--r--doc/src/platforms/platform-notes.qdoc368
-rw-r--r--doc/src/platforms/supported-platforms.qdoc96
-rw-r--r--doc/src/qt4-intro.qdoc8
13 files changed, 632 insertions, 11 deletions
diff --git a/doc/doc.pri b/doc/doc.pri
index 9d67386..38d3d16 100644
--- a/doc/doc.pri
+++ b/doc/doc.pri
@@ -17,6 +17,9 @@ COPYWEBKITGUIDE = $$QT_SOURCE_TREE/examples/webkit/webkit-guide
COPYWEBKITTARGA = $$QT_BUILD_TREE/doc-build/html-qt
COPYWEBKITTARGB = $$QT_BUILD_TREE/doc/html
+EXAMPLESMANIFEST = $$QT_BUILD_TREE/doc/html/examples-manifest.xml
+DEMOSMANIFEST = $$QT_BUILD_TREE/doc/html/demos-manifest.xml
+
$$unixstyle {
QDOC = cd $$QT_SOURCE_TREE/tools/qdoc3/test && QT_BUILD_TREE=$$QT_BUILD_TREE QT_SOURCE_TREE=$$QT_SOURCE_TREE $$QT_BUILD_TREE/bin/qdoc3 $$DOCS_GENERATION_DEFINES
} else {
@@ -31,6 +34,8 @@ QT_DOCUMENTATION = ($$QDOC qt-api-only.qdocconf assistant.qdocconf designer.qdoc
linguist.qdocconf qmake.qdocconf qdeclarative.qdocconf) && \
(cd $$QT_BUILD_TREE && \
$$QMAKE_COPY_DIR $$COPYWEBKITGUIDE $$COPYWEBKITTARGA && \
+ $$QMAKE_COPY $$EXAMPLESMANIFEST $$QT_BUILD_TREE/examples && \
+ $$QMAKE_COPY $$DEMOSMANIFEST $$QT_BUILD_TREE/demos && \
$$GENERATOR doc-build/html-qt/qt.qhp -o doc/qch/qt.qch && \
$$GENERATOR doc-build/html-assistant/assistant.qhp -o doc/qch/assistant.qch && \
$$GENERATOR doc-build/html-designer/designer.qhp -o doc/qch/designer.qch && \
@@ -74,6 +79,14 @@ htmldocs.files = $$QT_BUILD_TREE/doc/html
htmldocs.path = $$[QT_INSTALL_DOCS]
htmldocs.CONFIG += no_check_exist directory
+examplesmanifest.files = $$EXAMPLESMANIFEST
+examplesmanifest.path = $$[QT_INSTALL_EXAMPLES]
+examplesmanifest.CONFIG += no_check_exist directory
+
+demosmanifest.files = $$DEMOSMANIFEST
+demosmanifest.path = $$[QT_INSTALL_DEMOS]
+demosmanifest.CONFIG += no_check_exist directory
+
qchdocs.files= $$QT_BUILD_TREE/doc/qch
qchdocs.path = $$[QT_INSTALL_DOCS]
qchdocs.CONFIG += no_check_exist directory
@@ -85,4 +98,4 @@ sub-qdoc3.depends = sub-corelib sub-xml
sub-qdoc3.commands += (cd tools/qdoc3 && $(MAKE))
QMAKE_EXTRA_TARGETS += sub-qdoc3 adp_docs qch_docs docs docs_zh_CN docs_ja_JP
-INSTALLS += htmldocs qchdocs docimages
+INSTALLS += htmldocs qchdocs docimages examplesmanifest demosmanifest
diff --git a/doc/src/examples/qml-calculator.qdoc b/doc/src/examples/qml-calculator.qdoc
index 2e2cdc8..edc87e2 100644
--- a/doc/src/examples/qml-calculator.qdoc
+++ b/doc/src/examples/qml-calculator.qdoc
@@ -31,5 +31,7 @@
\brief The Qt Quick Calculator demo shows how to write a simple calculator application in QML and JavaScript.
+ \depends helper/qmlapplicationviewer
+
\image qml-calculator-example.png
*/
diff --git a/doc/src/examples/qml-examples.qdoc b/doc/src/examples/qml-examples.qdoc
index bde2ed7..52fa2e4 100644
--- a/doc/src/examples/qml-examples.qdoc
+++ b/doc/src/examples/qml-examples.qdoc
@@ -31,6 +31,8 @@
\brief This example shows how to create and combine \l{QML Animation}{animations} in QML.
+ \depends helper/qmlapplicationviewer
+
\table
\row
\o \image qml-coloranim-example.png
@@ -44,6 +46,8 @@
\brief This example shows how to create and combine \l{QML Animation}{animations} in QML.
+ \depends helper/qmlapplicationviewer
+
\table
\row
\o \image qml-propertyanim-example.png
@@ -58,6 +62,8 @@
\brief This example shows how to use QML behaviors.
+ \depends helper/qmlapplicationviewer
+
\image qml-behaviors-example.png
*/
@@ -67,6 +73,8 @@
\brief This example shows the different easing modes available for \l{QML Animation}{animations}.
+ \depends helper/qmlapplicationviewer
+
\image qml-easing-example.png
*/
@@ -76,6 +84,8 @@
\brief These examples show how to use \l{States}{states} and \l{Transitions}{transitions}.
+ \depends helper/qmlapplicationviewer
+
The \c states.qml example shows how an item can change between states, and \c transitions.qml
shows how these state changes can be animated.
@@ -100,6 +110,8 @@
\brief These examples show how to use the BorderImage element.
+ \depends helper/qmlapplicationviewer
+
\table
\row
\o \image qml-borderimage-example.png
@@ -113,6 +125,8 @@
\brief This example shows how to use the BorderImage element.
+ \depends helper/qmlapplicationviewer
+
\table
\row
\o \image qml-borderimage-shadows-example.png
@@ -127,6 +141,8 @@
\brief This example shows how to use the \l Image element and its \l{Image::fillMode}{fillModes}.
+ \depends helper/qmlapplicationviewer
+
\image qml-image-example.png
*/
@@ -248,6 +264,8 @@
\brief This example shows how to enable text translation in QML.
+ \depends helper/qmlapplicationviewer
+
\image qml-i18n-example.png
\section1 Introduction
@@ -286,12 +304,16 @@
\title Right-to-left User Interfaces: Text Alignment Example
\example declarative/righttoleft/textalignment
- This example shows how the horizontal alignment of \l Text,
+ \brief This example shows how the horizontal alignment of \l Text,
\l TextInput and \l TextEdit is affected by the reading direction
- of the text and by the layout mirrroring. Click on the gray buttons
+ of the text and by the layout mirrroring.
+
+ Click on the gray buttons
shown at the bottom of the example to toggle between different
horizontal alignment options.
+ \depends helper/qmlapplicationviewer
+
\sa {QML Right-to-left User Interfaces}
*/
@@ -299,11 +321,15 @@
\title Right-to-left User Interfaces: Layout Direction Example
\example declarative/righttoleft/layoutdirection
- This example shows how to control the horizontal layout direction of
+ \ brief This example shows how to control the horizontal layout direction of
\l Row, \l Grid and \l Flow positioners, and \l ListView and \l GridView
- model views. Click on the gray buttons shown at the bottom of the example
+ model views.
+
+ Click on the gray buttons shown at the bottom of the example
to toggle the layout direction of the shown elements.
+ \depends helper/qmlapplicationviewer
+
\image qml-righttoleft-layoutdirection-example.png
\sa {QML Right-to-left User Interfaces}
@@ -314,10 +340,13 @@
\title Right-to-left User Interfaces: Layout Mirroring Example
\example declarative/righttoleft/layoutmirroring
- This example shows how to mirror the application layouts
- using \l LayoutMirroring attached property. Click on the grey button
- shown at the bottom of the example to enable or disable the
- layout mirroring.
+ \brief This example shows how to mirror the application layouts
+ using \l LayoutMirroring attached property.
+
+ Click on the grey button shown at the bottom of the example to
+ enable or disable the layout mirroring.
+
+ \depends helper/qmlapplicationviewer
\image qml-righttoleft-layoutmirroring-example.png
@@ -331,6 +360,8 @@
\brief This example shows how to use positioner elements such as \l Row, \l Column,
\l Grid and \l Flow.
+ \depends helper/qmlapplicationviewer
+
\image qml-positioners-example.png
*/
@@ -340,6 +371,8 @@
\brief This example shows how to handle keyboard input and focus in QML.
+ \depends helper/qmlapplicationviewer
+
\image qml-focus-example.png
*/
@@ -349,6 +382,8 @@
\brief This example shows how to use a QAbstractItemModel subclass as a model in QML.
+ \depends helper/qmlapplicationviewer
+
\image qml-abstractitemmodel-example.png
*/
@@ -358,6 +393,8 @@
\brief This example shows how to use the GridView element.
+ \depends helper/qmlapplicationviewer
+
\image qml-gridview-example.png
*/
@@ -369,6 +406,8 @@
and removed from a ListModel, and how these list
modifications can be animated.
+ \depends helper/qmlapplicationviewer
+
\table
\row
\o \image qml-listview-dynamiclist-example.png
@@ -383,6 +422,9 @@
\brief This example shows how to create a dynamic delegate, which
expands when selected.
+ \depends helper/qmlapplicationviewer
+
+
\table
\row
\o \image qml-listview-expandingdelegates-example.png
@@ -397,6 +439,8 @@
\brief This example shows how to highlight one item
inside a ListView element.
+ \depends helper/qmlapplicationviewer
+
\table
\row
\o \image qml-listview-highlight-example.png
@@ -411,6 +455,8 @@
\brief This example shows how to highlight ranges within a
ListView element.
+ \depends helper/qmlapplicationviewer
+
\table
\row
\o \image qml-listview-highlightranges-example.png
@@ -424,6 +470,8 @@
\brief This example shows how to use the ListView element.
+ \depends helper/qmlapplicationviewer
+
\table
\row
\o \image qml-listview-sections-example.png
@@ -438,6 +486,8 @@
\brief This example shows how to use the PathView element.
+ \depends helper/qmlapplicationviewer
+
\image qml-pathview-example.png
*/
@@ -447,6 +497,8 @@
\brief This example shows how to use a QList<QObject*> as a model in QML.
+ \depends helper/qmlapplicationviewer
+
\image qml-objectlistmodel-example.png
*/
@@ -456,6 +508,8 @@
\brief This example shows how to use the \l Package element.
+ \depends helper/qmlapplicationviewer
+
\image qml-package-example.png
*/
@@ -465,6 +519,8 @@
\brief This example shows how to combine and switch between views.
+ \depends helper/qmlapplicationviewer
+
\image qml-parallax-example.png
*/
@@ -474,6 +530,8 @@
\brief This example shows how to use a QStringList as a model in QML.
+ \depends helper/qmlapplicationviewer
+
\image qml-stringlistmodel-example.png
*/
@@ -483,6 +541,8 @@
\brief This example shows how to use the VisualItemModel element.
+ \depends helper/qmlapplicationviewer
+
\image qml-visualitemmodel-example.png
*/
@@ -492,6 +552,8 @@
\brief These examples show how to use the WebView element.
+ \depends helper/qmlapplicationviewer
+
\table
\row
\o \image qml-webview-alert-example.png
@@ -505,6 +567,8 @@
\brief These examples show how to use the WebView element.
+ \depends helper/qmlapplicationviewer
+
\table
\row
\o \image qml-webview-autosize-example.png
@@ -518,6 +582,8 @@
\brief These examples show how to use the WebView element.
+ \depends helper/qmlapplicationviewer
+
\table
\row
\o \image qml-webview-googlemaps-example.png
@@ -531,6 +597,8 @@
\brief These examples show how to use the WebView element.
+ \depends helper/qmlapplicationviewer
+
\table
\row
\o \image qml-webview-inlinehtml-example.png
@@ -544,6 +612,8 @@
\brief These examples show how to use the WebView element.
+ \depends helper/qmlapplicationviewer
+
\table
\row
\o \image qml-webview-newwindows-example.png
@@ -558,6 +628,8 @@
\example declarative/screenorientation
\brief This example shows how to implement screen orientation support for your application.
+
+ \depends helper/qmlapplicationviewer
*/
/*!
@@ -565,6 +637,8 @@
\example declarative/sqllocalstorage
\brief This example shows how to use the SQL Local Storage API in QML.
+
+ \depends helper/qmlapplicationviewer
*/
/*!
@@ -573,6 +647,8 @@
\brief These examples show how to discover available fonts from QML.
+ \depends helper/qmlapplicationviewer
+
\table
\row
\o \image qml-fonts-availableFonts-example.png
@@ -586,6 +662,8 @@
\brief These example shows how to manipulate text in various ways.
+ \depends helper/qmlapplicationviewer
+
\table
\row
\o \image qml-fonts-banner-example.png
@@ -599,6 +677,8 @@
\brief These examples shows how to display a text with multiple fonts.
+ \depends helper/qmlapplicationviewer
+
\table
\row
\o \image qml-fonts-fonts-example.png
@@ -612,6 +692,8 @@
\brief This example shows how to manipulate text in various ways.
+ \depends helper/qmlapplicationviewer
+
\table
\row
\o \image qml-fonts-hello-example.png
@@ -627,6 +709,8 @@
\brief This example shows how text selection, copy and paste operations
can be implemented on top of the TextEdit element.
+ \depends helper/qmlapplicationviewer
+
\image qml-textselection-example.png
*/
@@ -636,6 +720,8 @@
\brief This example shows how to use a ListModel from multiple threads using
WorkerScript.
+
+ \depends helper/qmlapplicationviewer
*/
/*!
@@ -643,6 +729,8 @@
\example declarative/threading/workerscript
\brief This example shows how to use the WorkerScript element for threading in QML.
+
+ \depends helper/qmlapplicationviewer
*/
/*!
@@ -650,6 +738,8 @@
\example declarative/toys/clocks
\brief This example displays a set of clocks with different times for different cities.
+
+ \depends helper/qmlapplicationviewer
Each clock is created by combining \l Image elements with \l Rotation transforms
and \l SpringAnimation behaviors.
@@ -665,6 +755,8 @@
through a combination of elements like \l ListModel, \l Repeater and \l TextEdit
together with rotation and scaling transforms, animation and mouse interaction.
+ \depends helper/qmlapplicationviewer
+
\image qml-corkboards-example.png
*/
@@ -676,6 +768,8 @@
how to use QML's \l{Dynamic Object Creation} support to dynamically create and
destroy objects.
+ \depends helper/qmlapplicationviewer
+
\image qml-dynamicscene-example.png
*/
@@ -685,6 +779,8 @@
\brief This example presents a simple implementation of Tic Tac Toe.
+ \depends helper/qmlapplicationviewer
+
\image qml-tic-tac-toe-example.png
*/
@@ -695,6 +791,8 @@
\brief This example shows how to use animation components such as \l SpringAnimation,
\l SequentialAnimation and \l PropertyAction to create a game of TV tennis.
+ \depends helper/qmlapplicationviewer
+
\image qml-tvtennis-example.png
*/
@@ -703,6 +801,8 @@
\example declarative/touchinteraction/gestures
\brief This example shows how to use the GestureArea element.
+ \depends helper/qmlapplicationviewer
+
*/
/*!
@@ -712,6 +812,8 @@
\brief This example shows how to use the MouseArea element to access information
about mouse input.
+ \depends helper/qmlapplicationviewer
+
\image qml-mousearea-example.png
*/
@@ -723,6 +825,8 @@
\l Image elements with \l Rotation transforms and \l SpringAnimation behaviors
to produce an interactive speedometer-type dial.
+ \depends helper/qmlapplicationviewer
+
\image qml-dialcontrol-example.png
*/
@@ -730,9 +834,12 @@
/*!
\title UI Components: Flipable Example
\example declarative/ui-components/flipable
+ \depends helper/qmlapplicationviewer
\brief This example shows how to use the \l Flipable element.
+ \depends helper/qmlapplicationviewer
+
\image qml-flipable-example.png
*/
@@ -742,6 +849,8 @@
\brief This example shows how to create a progress bar.
+ \depends helper/qmlapplicationviewer
+
\image qml-progressbar-example.png
*/
@@ -753,6 +862,8 @@
using the \l {Flickable::visibleArea.xPosition}{Flickable::visibleArea}
properties.
+ \depends helper/qmlapplicationviewer
+
\image qml-scrollbar-example.png
*/
@@ -763,6 +874,8 @@
\brief This example shows how to combine TextInput, FocusScope and BorderImage
elements to display multiple text input fields.
+ \depends helper/qmlapplicationviewer
+
\image qml-searchbox-example.png
*/
@@ -772,6 +885,8 @@
\brief This example shows how to create a slide switch control.
+ \depends helper/qmlapplicationviewer
+
\image qml-slideswitch-example.png
*/
@@ -781,6 +896,8 @@
\brief This example shows how to create a spinner-type component using the PathView element.
+ \depends helper/qmlapplicationviewer
+
\image qml-spinner-example.png
*/
@@ -793,6 +910,8 @@
\l {Introduction to the QML Language#Default Properties}{default properties} can be used to collect and
assemble the child items declared within an \l Item.
+ \depends helper/qmlapplicationviewer
+
\image qml-tabwidget-example.png
*/
@@ -802,6 +921,8 @@
\brief This example shows how to use the \l XmlHttpRequest API in QML.
+ \depends helper/qmlapplicationviewer
+
\image qml-xmlhttprequest-example.png
*/
@@ -809,7 +930,9 @@
\title Labs: Shader Effects
\example declarative/shadereffects
- This example shows how to create visual effects by using OpenGL shading language together with QML using \l ShaderEffectItem and \l ShaderEffectSource APIs.
+ \brief This example shows how to create visual effects by using OpenGL shading language together with QML using \l ShaderEffectItem and \l ShaderEffectSource APIs.
+
+ \depends helper/qmlapplicationviewer
\image qml-shadereffects-example.png
*/
diff --git a/doc/src/examples/qml-flickr.qdoc b/doc/src/examples/qml-flickr.qdoc
index 65e8e0d..6f59451 100644
--- a/doc/src/examples/qml-flickr.qdoc
+++ b/doc/src/examples/qml-flickr.qdoc
@@ -31,5 +31,7 @@
\brief The Qt Quick Flickr Mobile demo shows how to write a mobile Flickr browser application in QML.
+ \depends helper/qmlapplicationviewer
+
\image qml-flickr-demo.png
*/
diff --git a/doc/src/examples/qml-folderlistmodel.qdoc b/doc/src/examples/qml-folderlistmodel.qdoc
index 609be27..2d73db8 100644
--- a/doc/src/examples/qml-folderlistmodel.qdoc
+++ b/doc/src/examples/qml-folderlistmodel.qdoc
@@ -31,6 +31,7 @@
\example src/imports/folderlistmodel
\brief The FolderListModel plugin example shows how to make a C++ model available to QML.
+\depends helper/qmlapplicationviewer
It presents
a simple file list for a single folder (directory) and allows the presented
diff --git a/doc/src/examples/qml-photoviewer.qdoc b/doc/src/examples/qml-photoviewer.qdoc
index 40b6372..65b3774 100644
--- a/doc/src/examples/qml-photoviewer.qdoc
+++ b/doc/src/examples/qml-photoviewer.qdoc
@@ -31,5 +31,7 @@
\brief The Qt Quick Photo Viewer demo shows how to write a Flickr photo viewer application in QML.
+ \depends helper/qmlapplicationviewer
+
\image qml-photoviewer-demo.png
*/
diff --git a/doc/src/examples/qml-rssnews.qdoc b/doc/src/examples/qml-rssnews.qdoc
index 76df4e3..8b2691f 100644
--- a/doc/src/examples/qml-rssnews.qdoc
+++ b/doc/src/examples/qml-rssnews.qdoc
@@ -31,5 +31,7 @@
\brief The Qt Quick RSS News demo shows how to write a RSS news reader in QML.
+ \depends helper/qmlapplicationviewer
+
\image qml-rssnews-demo.png
*/
diff --git a/doc/src/examples/qml-samegame.qdoc b/doc/src/examples/qml-samegame.qdoc
index 8b67a49..8c4c75b 100644
--- a/doc/src/examples/qml-samegame.qdoc
+++ b/doc/src/examples/qml-samegame.qdoc
@@ -32,5 +32,7 @@
\brief The Qt Quick Same Game demo shows how to write a 'Same Game' game in QML, using Javascript
for all the game logic.
+ \depends helper/qmlapplicationviewer
+
\image qml-samegame-demo.png
*/
diff --git a/doc/src/examples/qml-twitter.qdoc b/doc/src/examples/qml-twitter.qdoc
index 3334370..50495e9 100644
--- a/doc/src/examples/qml-twitter.qdoc
+++ b/doc/src/examples/qml-twitter.qdoc
@@ -32,5 +32,7 @@
\brief The Qt Quick Twitter Mobile demo shows how to write a mobile Twitter search client in QML. Use it to
see what people think about Qt Quick!
+ \depends helper/qmlapplicationviewer
+
\image qml-twitter-demo.png
*/
diff --git a/doc/src/examples/qml-webbrowser.qdoc b/doc/src/examples/qml-webbrowser.qdoc
index bdead7f..a130dd7 100644
--- a/doc/src/examples/qml-webbrowser.qdoc
+++ b/doc/src/examples/qml-webbrowser.qdoc
@@ -33,6 +33,8 @@
WebView element with other components including scroll bars,
\l Flickable views and TextInput fields.
+ \depends helper/qmlapplicationviewer
+
\image qml-webbrowser-demo.png
*/
diff --git a/doc/src/platforms/platform-notes.qdoc b/doc/src/platforms/platform-notes.qdoc
new file mode 100644
index 0000000..0022704
--- /dev/null
+++ b/doc/src/platforms/platform-notes.qdoc
@@ -0,0 +1,368 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms
+** and conditions contained in a signed written agreement between you
+** and Nokia.
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \group platform-specific
+ \title Platform-Specific Documentation
+ \brief Documents describing platform-specific features of Qt.
+
+ These documents describe platform-specific features provided by Qt, and
+ discuss issues related to particular platforms and environments.
+
+ \generatelist{related}
+*/
+
+/*!
+ \page platform-notes.html
+ \ingroup platform-specific
+ \title Platform and Compiler Notes
+ \brief Information about the platforms on which Qt can be used.
+
+ This page contains information about the platforms Qt is currently known
+ to run on, with links to platform-specific notes, including any known bugs
+ or incompatibilities.
+
+ Information about the combinations of platforms and compilers
+ supported by Qt can be found on the \l{Supported Platforms} page.
+
+ \list
+ \o \l{Platform and Compiler Notes - Symbian}
+ \tableofcontents{1 Platform and Compiler Notes - Symbian}
+ \endlist
+
+*/
+
+/*!
+ \page platform-notes-symbian.html
+ \title Platform and Compiler Notes - Symbian
+ \contentspage Platform and Compiler Notes
+ \ingroup platform-specific
+ \brief Information about the state of support for the Symbian platform.
+
+ This page describes implementation details regarding the Qt for Symbian port. To get
+ started with application development for Symbian devices, read the \l
+ {http://doc.qt.nokia.com/qtcreator/creator-developing-symbian.html}
+ {Connecting Symbian Devices} document.
+
+ \section1 Source Compatibility
+
+ Qt for Symbian provides the same level of source compatibility guarantee as
+ given for other platforms. That is, a program which compiles against a given
+ version of Qt for Symbian will also compile against all future versions of the
+ same major release.
+
+ \section1 Binary Compatibility
+
+ As with every supported platform, Qt strives to maintain application
+ behavior and binary compatibility throughout the lifetime of the Qt 4.x
+ major version and on the \l {Supported Devices}{Symbian devices that support Qt}.
+ Symbian support in Qt SDK and Ovi Store were introduced with Qt 4.6. Each Qt
+ release contains bug fixes that might change the API behavior and thereby
+ affect application compatibility.
+
+ In addition, Symbian devices have different input methods, such as different
+ keyboard styles or touch input, screen sizes, memory, and CPU and GPU
+ capabilities. Therefore, you must test applications on specific target
+ devices to ensure compatibility. In order to build applications that are
+ supported also on earlier devices, select the target in Qt SDK carefully.
+ Generally, an earlier target (such as S60 5th Edition) is supported on a
+ larger number of devices than a later target (such as Symbian Belle).
+
+ \target Supported Devices
+ \section1 Supported Devices
+
+ The \l {http://developer.qt.nokia.com/wiki/support_for_Symbian}{Support for Symbian} document
+ details the Qt support on different Symbian devices.
+
+ The \l {http://www.developer.nokia.com/Community/Wiki/Nokia_Smart_Installer_for_Symbian#Supported_Devices}
+ {Nokia Smart Installer for Symbian} document lists how Qt is supported on
+ different Symbian devices through Smart Installer.
+
+ Qt versions are supported by Symbian devices as follows:
+ \list
+ \o Qt 4.6 is supported by S60 3rd Edition feature pack 1 and newer devices
+ through \l {http://www.developer.nokia.com/Community/Wiki/Nokia_Smart_Installer_for_Symbian}{Smart Installer}.
+ \o Qt 4.7.3 is supported by S60 5th Edition and newer devices
+ through \l {http://www.developer.nokia.com/Community/Wiki/Nokia_Smart_Installer_for_Symbian}{Smart Installer}.
+ \endlist
+
+ Symbian devices have a pre-installed Qt support as follows:
+ \list
+ \o Symbian Anna: Qt 4.7.3 in C: drive. Note that Qt 4.7.4 is supported in Symbian Anna
+ through \l {http://www.developer.nokia.com/Community/Wiki/Nokia_Smart_Installer_for_Symbian}{Smart Installer}.
+ \o Symbian Belle: Qt 4.7.4 in device firmware (ROM).
+ \endlist
+
+
+ \section1 Functionality Support
+
+ The following technologies and classes are not supported:
+ \list
+ \o QtConcurrent
+ \o QtDBus
+ \o \l {http://doc.qt.nokia.com/4.8/printing.html}{Printing support}
+ \o Qt3Support
+ \endlist
+
+ The following technologies have limited support:
+
+
+ \table
+ \header \o Module
+ \o Note
+ \row \o QtSql
+ \o The supported drivers are SQLite and QSYMSQL.
+ \row \o QtMultimedia
+ \o For support details see \l {Multimedia Support} section.
+ \row \o QtGui
+ \o QtGui's widgets are deprecated (i.e. they are available but not
+ recommended to use) in the Symbian port. It is recommended to use \l
+ {http://doc.qt.nokia.com/qt-components-symbian-1.1/symbian-components-functional.html}
+ {Qt Quick Components for Symbian} instead, because they provide
+ better look and feel on Symbian devices.
+
+ Moreover, the following classes of QtGui \bold {should not
+ be used} in a Symbian application:
+
+ \list
+ \o QFileDialog with the \c DontUseNativeDialog option
+ \o QColorDialog with the \c DontUseNativeDialog option
+ \o QFontDialog
+ \o QWizard
+ \o QCalendarWidget
+ \o QDateTimeEdit
+ \o QMdiArea
+ \o QDockWidget
+ \o QMdiSubWindow
+ \o QPrintPreviewWidget
+ \endlist
+
+ QScrollArea: The scrolling and focus handling of QScrollArea's all
+ scrollable widgets, for example QListView, differs from native Avkon
+ list widgets' one. Native Avkon scrollable components support
+ touch-gesture-based scrolling by dragging and flicking the UI
+ component but this functionality is not implemented in Qt widgets.
+ Scrolling by dragging and flicking works also in Qt Quick Components
+ that implements the \l
+ {http://www.developer.nokia.com/Resources/Library/Symbian_Design_Guidelines/}
+ {Symbian design guidelines}.
+
+ \endtable
+
+ \section1 Compiler Notes
+
+ For the application development the necessary compiler toolchain is included in \l
+ {http://qt.nokia.com/downloads}{Qt SDK}. For instructions compiling Qt
+ itself see the \l
+ {http://doc.qt.nokia.com/stable/install-symbian.html}
+ {Installing Qt for the Symbian platform} document.
+
+ \section1 Known Issues
+
+ Known issues can be found by visiting the
+ \l{http://qt.gitorious.org/qt/pages/QtKnownIssues}{wiki page} with an
+ up-to-date list of known issues, and the list of bugs can be found by
+ \l{http://bugreports.qt.nokia.com/browse/QTBUG/component/19171}{browsing} the
+ S60 component in Qt's public task tracker, located at
+ \l{http://bugreports.qt.nokia.com/}{http://bugreports.qt.nokia.com/}.
+
+ For information about mixing exceptions with Symbian leaves, see
+ \l{Exception Safety with Symbian}.
+
+ \section1 Required Capabilities
+
+ The Qt libraries are typically signed with \c{All -TCB} capabilites but
+ that does not mean your Qt application needs to be signed with the same
+ capabilities to function properly. The capabilities your application needs
+ to function properly depends on which parts of Qt you use.
+ In a Qt application Symbian capabilities are defined in the
+ \l {http://doc.qt.nokia.com/4.8/qmake-variable-reference.html#target-capability}
+ {TARGET.CAPABILITY} qmake variable in the project file.
+ Here is an overview for which capabilities may be needed when using different modules:
+
+ \table
+ \header \o Module
+ \o Required Symbian Capability
+ \row \o QtCore
+ \o \c PowerMgmt if QProcess::kill(...) or QProcess::terminate(...) is called.
+ \row \o QtCore
+ \o \c AllFiles when \l{http://wiki.forum.nokia.com/index.php/Capabilities_%28Symbian_Signed%29/AllFiles_Capability}{accessing specific areas.}
+ \row \o QtDeclarative
+ \o \c NetworkServices is automatically added for this module if no capabilities are explicitly specified.
+ \row \o QtNetwork
+ \o \c NetworkServices is automatically added for this module if no capabilities are explicitly specified.
+ \row \o QtNetwork
+ \o \c ReadUserData is required to include all the phone's SSL certificates in the system's default CA certificate list
+ (for example those added by the user or stored in the SIM card),
+ without this capability only the CA certs built into the phone are used.
+ \row \o QtMultimedia
+ \o \c UserEnvironment if QAudioInput is used.
+ \row \o QtWebKit
+ \o \c NetworkServices is automatically added for this module if no capabilities are explicitly specified.
+ \endtable
+
+ \note Some modules rely on other modules. E.g. QtWebkit and QtDeclarative
+ depend on QtNetwork and therefore any application that
+ depends on these modules is also likely to need \c NetworkServices capability.
+
+ For more information see the documentation of the individual Qt classes. If
+ a class does not mention Symbian capabilities, it requires none.
+
+ \target Multimedia Support
+ \section1 Multimedia Support
+
+ Qt Mobility provides a high-level API for multimedia functionality with
+ \l{http://doc.qt.nokia.com/qtmobility/multimedia.html}{QtMultimediaKit}.
+ In addition, Qt provides the low-level \l {QtMultimedia}{QtMultimedia}
+ module that is internally used by the QtMultimediaKit. For more information
+ on developing multimedia applications for Symbian devices, see
+ \l {http://www.developer.nokia.com/info/sw.nokia.com/id/4abf12e7-72d8-45ef-b1a2-46184abe18ba/Guide_for_Qt_Multimedia_Developers.html}
+ {Guide for Qt Multimedia Developers}.
+
+ Moreover, there is a third multimedia-related module called Phonon. Qt
+ provides two backends for the Phonon module in Symbian: \i MMF and \i Helix.
+
+ Note that Phonon is a legacy module and the QtMultimediaKit module is
+ replacing Phonon in Qt 5. Although Phonon is supported in Symbian for
+ backwards compatibility and there is no plan to remove Phonon from Symbian
+ any new applications should use QtMultimediaKit in Symbian using Qt 4.7
+ bundle. The QtMultimediaKit feature set is comparable to that in Phonon.
+
+ The following applies to Phonon:
+ \list
+ \o MMF Phonon backend supports video and sound playback through Symbian's
+ Multimedia Framework, MMF. Phonon's video playback may show artifacts when
+ the video is moved or resized (for instance, during device orientation
+ changes from portrait to landscape and vice versa). This problem is present
+ on S60 5th Edition and earlier versions, as well as in Symbian Anna devices.
+ \o The audio and video formats that Phonon supports depends on what support
+ the platform provides for MMF. The emulator is known to have limited
+ codec support.
+ \o In addition, there exists a backend for the Helix framework. However, since
+ it is not shipped with Qt, its availability depends on the Symbian platform
+ in use. If the MFF plugin fails to load, the Helix plugin, if present on the
+ device, will be loaded instead.
+ \endlist
+
+ \section1 Hardware Accelerated Rendering
+
+ The default graphics system on Symbian Anna is OpenVG, which uses OpenVG
+ hardware to accelerate \l QPainter functions. There are a few exceptions,
+ where Qt will use software rendering fallback.
+
+ Devices like the N8 and C7 only have 32Mb of GPU memory and limited support
+ for EGL surface transparency. These devices can be identified by querying
+ the\c GL_RENDERER or \c VG_RENDERER string which evaluates to \c {VideoCore III}.
+ On these devices, Qt will use software rendering in cases listed below.
+
+ \list
+ \o Translucent windows
+ \o Dialogs
+ \o Popups
+ \endlist
+
+ \section1 OpenGL Support in Symbian
+
+ Qt 4.7 introduces the \l {QtOpenGL} module. QtOpenGL is
+ supported on devices which support OpenGL ES 2.0. Symbian platforms prior
+ to Symbian Anna (and Symbian^3) are not supported.
+
+ \l QGLWidget usage as a \l QGraphicsView viewport is not recommended on
+ Symbian. The OpenVG graphics system is not able to manage OpenGL graphics
+ resources. Also, a QGLWidget object is not able to release its GPU resources
+ when the application goes to the background. If OpenGL functionality is
+ needed, \l { http://doc.qt.nokia.com/4.7-snapshot/qapplication.html#setGraphicsSystem}
+ {OpenGL graphics system} usage is recommended. If an application
+ decides to use QGLWidget, then it is the application's responsibility to
+ destroy and release QGLWidget and related OpenGL resources when the
+ application goes to the background. Otherwise, the \l{Graphics Out Of Memory monitor}
+ may decide to kill the application as it consumes GPU resources while in the
+ background.
+
+ \note \l QGLBuffer, \l QGLFramebufferObject, \l QGLPixelBuffer, \l
+ QGLShader, and \l QGLShaderProgram are direct GPU resources and it is the
+ application's responsibility to manage them.
+
+ \section1 UI Performance in S60 3rd and 5th Edition Devices
+
+ Qt uses the QPainter class to perform low-level painting on widgets and
+ other paint devices. QPainter provides functions to draw complex shapes,
+ aligned text and pixmaps. It can also do vector path clipping, coordinate
+ transformations and Porter-Duff composition. If the underlying graphics
+ architecture does not support all of these operations then Qt uses the
+ raster graphics system for rendering.
+
+ In Symbian Anna (and Symbian^3) Qt uses hardware accelerated graphics as explained above.
+ This is enabled by \l
+ {http://library.developer.nokia.com/index.jsp?topic=/GUID-E35887BB-7E58-438C-AA27-97B2CDE7E069/GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.html}
+ {ScreenPlay Graphics Architecture} in these devices.
+
+ Most of the Symbian S60 3rd and 5th Edition devices have a
+ graphics architecture that does not have native support for all functions
+ provided by QPainter. In these \l
+ {http://library.developer.nokia.com/index.jsp?topic=/GUID-E35887BB-7E58-438C-AA27-97B2CDE7E069/GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.html}
+ {non-ScreenPlay} devices Qt uses the raster
+ graphics system by default that has a performance penalty compared
+ to native Symbian rendering.
+
+ In order to be able to perform all functions provided by QPainter, the
+ raster graphics system needs to have pixel level framebuffer access. To
+ make this possible in non-ScreenPlay devices Qt has to create an
+ additional offscreen buffer that is the target for all Qt rendering
+ operations. Qt renders the widget tree to the offscreen buffer and the
+ offscreen buffer is blitted to the framebuffer via Symbian Window Server.
+
+ The following table shows the rendering stacks of native Symbian and Qt in
+ \l {http://library.developer.nokia.com/index.jsp?topic=/GUID-E35887BB-7E58-438C-AA27-97B2CDE7E069/GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.html}
+ {non-ScreenPlay devices}.
+
+ \table
+ \header \o Symbian
+ \o Qt
+ \row \o \image symbian-rendering-stack-non-screenplay.png
+ \o \image symbian-qt-rendering-stack-non-screenplay.png
+ \endtable
+
+ The following diagrams show a simplified sequence of drawing a pixmap in
+ a non-ScreenPlay device.
+
+ \table
+ \header \o Symbian
+ \row \o \image symbian-draw-pixmap-sequence.png
+ \endtable
+
+ \table
+ \header \o Qt
+ \row \o \image symbian-qt-draw-pixmap-sequence.png
+ \endtable
+
+ When compared to a native Symbian application, Qt does an additional blit
+ to the offscreen buffer before drawing to the framebuffer. That is the
+ performance penalty which needs to be paid to get all functionality
+ provided by QPainter in non-ScreenPlay architecture.
+*/
+
diff --git a/doc/src/platforms/supported-platforms.qdoc b/doc/src/platforms/supported-platforms.qdoc
index 55ba94b..f69bddb 100644
--- a/doc/src/platforms/supported-platforms.qdoc
+++ b/doc/src/platforms/supported-platforms.qdoc
@@ -355,6 +355,93 @@
*/
/*!
+ \page symbian-support.html
+ \title Support for Symbian
+ \brief Platform support for Symbian.
+ \ingroup platform-specific
+ \ingroup platform-details
+
+ \section1 Qt on Symbian
+
+ Qt provides support for the Symbian platform with integration
+ to the S60 framework. If you are developing apps for the Symbian,
+ Maemo or MeeGo platforms in most cases, you can use Qt under the
+ free LGPL licensing option. Qt is cross-platform, and that means
+ that you can use the code from one single code-base and rebuild
+ for all \l{Supported Platforms}{supported platforms}.
+
+ \section1 Getting Started on Symbian
+
+ \list
+ \o \l{Supported Platforms}{Supported platform}
+ - Details on the Qt support for Symbian.
+ \o \l{Qt for the Symbian platform Requirements}{Qt for the
+ Symbian platform Requirements} - Software required to run Qt
+ on Symbian.
+ \o \l{Installing Qt for the Symbian platform}{Installing Qt
+ for the Symbian platform} - Build Qt for Symbian development.
+ \o \l{Platform and Compiler Notes - Symbian}{Platform Notes - Symbian}
+ - Platform specific notes.
+ \o \l{Getting Started Guides}{Getting started}
+ \o \l{Qt Quick Components for Symbian 1.1}{Qt Quick Components for Symbian}
+ - provides a QML component set for the Symbian^3 platform
+ \endlist
+
+ \section1 Key Features for Symbian Development
+
+ On top of all the tools and the API and class libraries that Qt
+ offers, Qt provides you with added functionality for an optimized
+ Symbian development experience.
+
+ \section2 Native Look and Feel
+
+ Qt will detect which theme the phone is running and applies the
+ style at runtime to your Qt application. The look and feel of your
+ applications can also be easily customized in a fraction of the
+ time and lines of code required for traditional UI styling with
+ Qt Style Sheets.
+
+ The \l{Qt Quick Components for Symbian 1.1}{Qt Quick Components for Symbian 1.1}
+ provides a native QML component set.
+
+ \section2 Graphics Features
+
+ Qt for Symbian contains a powerful paint engine that provides
+ features such as anti, aliasing, gradients, curves and transparency.
+ It also has animation support with timelines and easing curves. It
+ is already targeting future device technology by supporting hardware
+ acceleration using OpenVG.
+
+ \section2 Device Configurations
+
+ Using Qt for Symbian all supported Symbian devices provides automatic
+ support for swiching between landscape and portrait mode, different
+ screen resolutions as well as touch screen and key pad input.
+
+ \section2 Cross-Platform Development using Qt Creator
+
+ \l{http://doc.qt.nokia.com/qtcreator-snapshot/index.html}{Qt Creator} is
+ a complete Cross-platform IDE included in the Qt SDK. The IDE allows
+ programmers to create, build, debug and run Qt applications accross all
+ supported platforms.
+
+ \section3 Licensing
+
+ Qt for Symbian is available under the Qt Commercial License, the LGPL
+ v. 2.1 "LGPL") and the GPL v. 3.0. Symbian currently licenses their
+ software products under either the Symbian Foundation License or the
+ Eclipse Public License ("EPL"). While the LGPL and the EPL are not
+ compatible and may not be combined on a file-by-file basis, they may
+ be used in a common environment provided that the interaction between
+ Qt and Symbian is limited to: dynamic linking, inter-process
+ communication and data exchange. Therefore, most Symbian developers
+ can use Qt for Symbian under the LGPL.
+
+ Additional \l{Cross-Platform and Platform-Specific Development}
+ information.
+
+*/
+/*!
\page supported-platforms.html
\title Supported Platforms
\brief The platforms supported by Nokia for Qt.
@@ -373,12 +460,13 @@
\o {2,1} Qt Cross Platform Support
\header
\o {1,1} Desktop
- \o {1,1} Embedded
+ \o {1,1} Embedded/Mobile
\row
\o \l{Support for Windows}{Windows}
\o \l{Support for Embedded Linux}{Embedded Linux}
\row
\o \l{Support for Linux/X11}{Linux/X11}
+ \o \l{Support for Symbian}{Symbian}
\row
\o \l{Support for Mac OS X}{Mac OS X}
\endtable
@@ -442,6 +530,12 @@
\o As provided by Ubuntu
\row \o Ubuntu Linux 10.04 (32-bit)
\o Intel Compiler [version 12]
+ \row \o Ubuntu Linux 10.04 (64-bit)
+ \o As provided by Ubuntu
+ \row \o Microsoft Windows XP SP3 (32-bit)
+ \o GCC 4.4 (MinGW)
+ \row \o Microsoft Windows 7 (64-bit)
+ \o MSVC 2010 SP1
\row \o Apple Mac OS X 10.6 "Snow Leopard" Cocoa (32-bit)
\o As provided by Apple
\endtable
diff --git a/doc/src/qt4-intro.qdoc b/doc/src/qt4-intro.qdoc
index 01103a8..ce1726d 100644
--- a/doc/src/qt4-intro.qdoc
+++ b/doc/src/qt4-intro.qdoc
@@ -558,7 +558,14 @@
Qt 4.8 introduces changes to the Qt API.
\list
+ \o C++11 support:
+ Qt supports some of the features of the C++11 standard. QList, QVector and
+ QStringList can be initialized with initializer lists. Most of the tool
+ classes have a move operator. It is possible to use lambda functions in some
+ of the QtConcurrent functions.
+
\o Localization API
+
Changes to the Localization APIs include improvements to \l QLocale and more
support for different language code formats.
@@ -579,6 +586,7 @@
\endlist
\o IP Multicast API
\o Multithreaded HTTP
+ \o QThreadLocalStorage can now store simple objects in addition to pointers
\endlist
\section1 New Classes, Functions, Macros, etc.