summaryrefslogtreecommitdiffstats
path: root/doc/src
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src')
-rw-r--r--doc/src/declarative/declarativeui.qdoc2
-rw-r--r--doc/src/declarative/qtquick-intro.qdoc2
-rw-r--r--doc/src/declarative/righttoleft.qdoc8
-rw-r--r--doc/src/development/qmake-manual.qdoc12
-rw-r--r--doc/src/getting-started/installation.qdoc58
-rw-r--r--doc/src/index.qdoc2
-rw-r--r--doc/src/platforms/platform-notes-rtos.qdoc11
-rw-r--r--doc/src/platforms/platform-notes.qdoc71
-rw-r--r--doc/src/platforms/supported-platforms.qdoc12
-rw-r--r--doc/src/qt-features.qdoc204
-rw-r--r--doc/src/qt4-intro.qdoc3
-rw-r--r--doc/src/snippets/code/src_corelib_io_qsettings.cpp21
-rw-r--r--doc/src/sql-programming/sql-driver.qdoc101
13 files changed, 456 insertions, 51 deletions
diff --git a/doc/src/declarative/declarativeui.qdoc b/doc/src/declarative/declarativeui.qdoc
index d89ca53..cecccf6 100644
--- a/doc/src/declarative/declarativeui.qdoc
+++ b/doc/src/declarative/declarativeui.qdoc
@@ -46,7 +46,7 @@ Qt applications.
\section1 Getting Started
\list
-\o \l{Intro to Qt Quick}{Introduction to Qt Quick}
+\o \l{Introduction to Qt Quick}
\o \l{QML for Qt Programmers}{QML Programming for Qt Programmers}
\o \l{Getting Started Programming with QML}
diff --git a/doc/src/declarative/qtquick-intro.qdoc b/doc/src/declarative/qtquick-intro.qdoc
index bdad2c3..4cd5db3 100644
--- a/doc/src/declarative/qtquick-intro.qdoc
+++ b/doc/src/declarative/qtquick-intro.qdoc
@@ -27,7 +27,7 @@
/*!
\page qml-intro.html
-\title Intro to Qt Quick
+\title Introduction to Qt Quick
Qt Quick is a collection of technologies that are designed to help developers
create the kind of intuitive, modern, and fluid user interfaces that are
diff --git a/doc/src/declarative/righttoleft.qdoc b/doc/src/declarative/righttoleft.qdoc
index 58c266c..1f2cd08 100644
--- a/doc/src/declarative/righttoleft.qdoc
+++ b/doc/src/declarative/righttoleft.qdoc
@@ -100,8 +100,12 @@ Or set all child elements to also inherit the layout direction:
\snippet doc/src/snippets/declarative/righttoleft.qml 3
Applying mirroring in this manner does not change the actual value of the relevant anchor,
-\c layoutDirection or \c horizontalAlignment properties. You can use \c LayoutMirroring.enabled to
-query whether the mirroring is in effect.
+\c layoutDirection or \c horizontalAlignment properties. The separate read-only property
+\c effectiveLayoutDirection can be used to query the effective layout
+direction of positioners and model views that takes the mirroring into account. Similarly the \l Text,
+\l TextInput and \l TextEdit elements have gained the read-only property \c effectiveHorizontalAlignment
+for querying the effective visual alignment of text. For anchors, the read only
+\l {Item::anchors.top}{anchors.mirrored} property reflects whether anchors have been mirrored.
Note that application layouts and animations that are defined using \l {Item::}{x} property values (as
opposed to anchors or positioner elements) are not affected by the \l LayoutMirroring attached property.
diff --git a/doc/src/development/qmake-manual.qdoc b/doc/src/development/qmake-manual.qdoc
index cb9c1b9..0f85469 100644
--- a/doc/src/development/qmake-manual.qdoc
+++ b/doc/src/development/qmake-manual.qdoc
@@ -1184,6 +1184,10 @@
Any rules you define will be added after automatically generated
rules in each section.
+ \note Content specified using \c BLD_INF_RULES is inserted as-is into the \c bld.inf
+ file, so any rules that specify host side paths may not work correctly when doing
+ a shadow build.
+
\target CONFIG
\section1 CONFIG
@@ -1521,6 +1525,10 @@
override languages statement, you must override also package-header
statement and all other statements which are language specific.
+ \note Custom deployments specified using \c pkg_postrules are inserted
+ as-is into the \c PKG file, so any rules that specify host side paths may not
+ work correctly when doing a shadow build.
+
On the Symbian platform, three separate PKG files are generated:
\list
@@ -1911,6 +1919,10 @@
\c TARGET.EPOCSTACKSIZE.
Doing so could result in duplicate statements in the MMP file.
+ \note Content specified using \c MMP_RULES is inserted as-is into the \c MMP
+ file, so any rules that specify host side paths may not work correctly when doing
+ a shadow build.
+
\target MOC_DIR
\section1 MOC_DIR
diff --git a/doc/src/getting-started/installation.qdoc b/doc/src/getting-started/installation.qdoc
index 36d63f5..2936d60 100644
--- a/doc/src/getting-started/installation.qdoc
+++ b/doc/src/getting-started/installation.qdoc
@@ -510,7 +510,10 @@ in the \l{Qt for the Symbian platform Requirements} document.
\section1 Step 1: Install Qt
- Run \c{qt-symbian-opensource-%VERSION%.exe} and follow the instructions.
+ Download the \c {Qt libraries 4.x for Windows} package (for \c minGW or \c {VS 2008})
+ from the \l {http://qt.nokia.com/downloads#qt-lib}{downloads} page.
+
+ Run the downloaded package and follow the instructions.
\note Qt must be installed on the same drive as the Symbian SDK you are
using, and the install path must not contain any spaces.
@@ -652,23 +655,39 @@ Binary Package} document.
Congratulations, Qt is now ready to use.
\section1 Step 7: Installing Qt Libraries on the Device
+
+ To run a Qt application on a device, it must have Qt libraries installed.
+
+ Symbian devices have a pre-installed Qt as follows:
+ \list
+ \o Symbian Anna devices have the pre-installed Qt, Qt Mobility, and Qt Webkit.
+ \o Symbian Belle and later devices have the pre-installed Qt on the device firmware.
+ \endlist
+
+ \l {http://www.developer.nokia.com/Community/Wiki/Nokia_Smart_Installer_for_Symbian}
+ {Nokia Smart Installer for Symbian} deploys the required Qt libraries to supported S60
+ and Symbian devices if the libraries are not pre-installed.
+
+ Nokia Developer site's \l {http://www.developer.nokia.com/Devices/Device_specifications/?filter1=qt}
+ {Device specifications} provide information on which devices have a
+ pre-installed Qt and the used Qt version.
+
+ To create your own Qt installation package, do as follows:
+
+ \snippet doc/src/snippets/code/doc_src_installation.qdoc 29
+
+ The Qt libraries are built with "All -Tcb" capability, so they can support
+ all types of applications. If you don't have a suitable certificate, you can
+ patch the binaries in either of the following ways:
+
+ \list
+ \o If you have no certificate, build a self-signed Qt:
+ \snippet doc/src/snippets/code/doc_src_installation.qdoc 34
- To run the demo on a real device, you first have to install
- the Qt libraries on the device:
-
-\snippet doc/src/snippets/code/doc_src_installation.qdoc 29
-
- The Qt libraries are built with "All -Tcb" capability, so that
- they can support all types of application.
- If you don't have a suitable certificate, it is possible to patch
- the binaries as follows:
-
- If you have no certificate, build a self signed Qt:
-\snippet doc/src/snippets/code/doc_src_installation.qdoc 34
-
- If you have a symbian-signed developer certificate, specify the
+ \o If you have a symbian-signed developer certificate, specify the
capabilities you can sign for, for example:
-\snippet doc/src/snippets/code/doc_src_installation.qdoc 35
+ \snippet doc/src/snippets/code/doc_src_installation.qdoc 35
+ \endlist
\section1 Running Qt demos
@@ -1315,7 +1334,12 @@ We hope you will enjoy using Qt.
\brief Setting up the Symbian platform environment for Qt.
\previouspage General Qt Requirements
- Qt for the Symbian platform requires the following software installed on your development PC:
+ \l {http://qt.nokia.com/downloads}{Qt SDK} provides all the necessary tools
+ and libraries for developing Qt applications. However, if you want to build
+ Qt itself for Symbian, follow the instructions below.
+
+ Qt for the Symbian platform requires the following software installed on
+ your development PC:
\list
\o \l{http://www.forum.nokia.com/Library/Tools_and_downloads/Other/Carbide.c++/}{Carbide.c++ v2.3.0 or higher recommended}.
\list
diff --git a/doc/src/index.qdoc b/doc/src/index.qdoc
index 2490374..9680aa2 100644
--- a/doc/src/index.qdoc
+++ b/doc/src/index.qdoc
@@ -40,7 +40,7 @@
\o \l{How to Learn Qt}
\o \l{Introduction to Qt Quick}{Qt Quick}
\o \l{Qt Whitepaper}{Qt C++ Framework}
- \o \l{Intro to Qt Quick}{Qt Quick}
+ \o \l{Introduction to Qt Quick}{Qt Quick}
\o \l{external: Qt Mobility Manual}{Qt Mobility}
\o \l{Qt WebKit}
\endlist
diff --git a/doc/src/platforms/platform-notes-rtos.qdoc b/doc/src/platforms/platform-notes-rtos.qdoc
index 0b1265b..dd72016 100644
--- a/doc/src/platforms/platform-notes-rtos.qdoc
+++ b/doc/src/platforms/platform-notes-rtos.qdoc
@@ -313,7 +313,7 @@
ARM INTEGRITY target:
\code
- ./configure --hostprefix=$PWD -embedded integrity -xplatform unsupported/qws/integrity-arm-cxarm -static -qt-kbd-integrity -qt-mouse-integrity -no-mouse-linuxtp -no-mouse-pc -no-kbd-tty -qt-gfx-integrityfb -no-qt3support -no-gfx-linuxfb -no-glib -no-openssl -no-largefile -little-endian -arch integrity -prefix / -opensource -no-feature-QWS_MULTIPROCESS -no-feature-SHAREDMEMORY -no-feature-PROCESS -no-feature-SYSTEMSEMAPHORE -no-feature-PRINTER -no-feature-QWS_QPF2 -no-scripttools
+ ./configure --hostprefix=$PWD -embedded integrity -xplatform unsupported/qws/integrity-arm-cxarm -static -qt-kbd-integrity -qt-mouse-integrity -no-mouse-linuxtp -no-mouse-pc -no-kbd-tty -qt-gfx-integrityfb -no-qt3support -no-gfx-linuxfb -no-glib -no-openssl -no-largefile -little-endian -arch integrity -prefix / -opensource -no-feature-QWS_MULTIPROCESS -no-feature-SHAREDMEMORY -no-feature-PROCESS -no-feature-SYSTEMSEMAPHORE -no-feature-PRINTER -no-feature-QWS_QPF2 -no-libtiff -no-exceptions -no-scripttools
\endcode
\list
@@ -326,6 +326,7 @@
\o \c{-no-qt3support} - required since the Qt3 support classes are not supported on INTEGRITY
\o \c{-no-exceptions} - reduces the size of the library by disabling exception support
\o \c{-no-openssl} - disable support for OpenSSL
+ \o \c(-no-libtiff} - disable support for libTIFF
\o \c{-no-glib} - disable support for unavailable Glib
\o \c{-no-largefile} - disable support for large (> 2TB) files
\o \c{-no-scripttools} - disable support for QtScript tools
@@ -346,7 +347,13 @@
of INTEGRITY_DIR and INTEGRITY_BSP in unsupported/qws/integrity-arm-cxarm/qmake.conf.
If you do not do this, you will have to modify the resulting generated projects.gpj
- \o GIF support is currently not enabled.
+ \o Compilation of native preprocessing tools (moc, rcc, uic) is not automatic. From
+ a Linux shell or a MingWin shell, you can run the following command to compile these tools :
+ \code
+ cd src/tools/bootstrap && make && cd ../rcc && make && cd ../moc && make && cd ../uic && make && cd ../../..
+ \endcode
+
+ \o GIF and TIFF support are currently not enabled.
\o Default .int files are generated. You may want to modify the amount of heap assigned
to each example by modifying the HeapSize declaration in the specific example .int file.
diff --git a/doc/src/platforms/platform-notes.qdoc b/doc/src/platforms/platform-notes.qdoc
index 477f125..e1e8c44 100644
--- a/doc/src/platforms/platform-notes.qdoc
+++ b/doc/src/platforms/platform-notes.qdoc
@@ -685,9 +685,7 @@
\ingroup platform-specific
\brief Information about the state of support for the Symbian platform.
- As with any port, the maturity for Qt for Symbian has not yet reached the
- same level as other established Qt ports. This page documents the current
- notes for the Symbian port.
+ This page documents the current notes for the Symbian port.
\section1 Source Compatibility
@@ -698,18 +696,39 @@
\section1 Binary Compatibility
- As with every supported platform, we will strive to maintain
- application behavior and binary compatibility throughout the lifetime of
- the Qt 4.x series. However, due to the fact that Symbian support is newly
- added in 4.6.0, there is a slight possibility that minor corrections to the
- application binary interface (ABI) might be required in 4.6.1, in order to
- ensure compatibility going forward. Any such change will be clearly
- documented in the release notes for 4.6.1.
+ 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 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).
\section1 Supported Devices
- See the list of supported devices at
- http://wiki.forum.nokia.com/index.php/Nokia_Smart_Installer_for_Symbian#Supported_Devices
+ \l {http://www.developer.nokia.com/Community/Wiki/Nokia_Smart_Installer_for_Symbian#Supported_Devices}{Nokia Smart Installer for Symbian}
+ documentation lists supported devices.
+
+ 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.
+ \endlist
+
+ Symbian devices have a pre-installed Qt support as follows:
+ \list
+ \o Symbian Anna: Qt 4.7.3 in C: drive.
+ \o Symbian Belle: Qt 4.7.4 in device firmware (ROM).
+ \endlist
+
\section1 Supported Functionality
@@ -729,17 +748,30 @@
\endtable
The following technologies have limited support:
+
\table
\header \o Technology
\o Note
\row \o QtSql
- \o The only driver supported is SQLite.
+ \o The supported drivers are SQLite and QSYMSQL.
\row \o QtMultimedia
- \o Although the module itself is supported, no backend for Symbian
- is currently available. However, there is a backend available
- for Phonon.
+ \o For support details see \l {Multimedia and Phonon Support} section.
\endtable
+
+ It is not recommended to use the following Qt widgets:
+ \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 QMdiSubWindow
+ \o QDockWidget
+ \o QPrintPreviewWidget
+ \endlist
\section1 Compiler Notes
@@ -796,6 +828,7 @@
For more information see the documentation of the individual Qt classes. If
a class does not mention Symbian capabilities, it requires none.
+ \target Multimedia and Phonon Support
\section1 Multimedia and Phonon Support
Qt provides a high-level API for multimedia functionality with
@@ -808,7 +841,7 @@
In this release the support is experimental. Video playback may show
artifacts when the video is moved or resized (for instance during
- orientation flips). This problem is present on Symbian^1 and earlier
+ orientation flips). This problem is present on S60 5th Edition and earlier
versions, and on Symbian^3 systems.
The audio and video formats that Phonon supports depends on what support
@@ -822,7 +855,7 @@
\section1 Hardware Accelerated Rendering
- The default graphics system on Symbian^3 is OpenVG, which uses OpenVG
+ 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.
@@ -839,7 +872,7 @@
\section1 QtOpenGL Support in Symbian
- Qt 4.7 introduces the \l {QtOpenGL} module to Symbian^3. QtOpenGL is
+ Qt 4.7 introduces the \l {QtOpenGL} module. QtOpenGL is
supported on devices which support OpenGL ES 2.0. Symbian platforms prior
to Symbian^3 are not supported.
diff --git a/doc/src/platforms/supported-platforms.qdoc b/doc/src/platforms/supported-platforms.qdoc
index 9d47695..ba59c37 100644
--- a/doc/src/platforms/supported-platforms.qdoc
+++ b/doc/src/platforms/supported-platforms.qdoc
@@ -334,8 +334,8 @@
\section2 Advanced Text Layout Engine
- Qt for Windows CE supports TrueType® and raster fonts. Qt also has
- extended Unicode support and right-to-left languages. Qt’s rich text
+ Qt for Windows CE supports TrueType and raster fonts. Qt also has
+ extended Unicode support and right-to-left languages. Qt's rich text
engine adds capabilities for complex text layouts including tables,
path tracing and text which flows around shapes.
@@ -373,7 +373,7 @@
by embedded Linux. You can use Qt to create highly memory efficient
devices and applications that have completely unique user experiences.
- Qt runs anywhere Linux runs. Qt’s intuitive API means fewer lines of
+ Qt runs anywhere Linux runs. Qt's intuitive API means fewer lines of
code and higher level functionality in less time. Use the code from
one single code-base and rebuild for all \l{Supported Platforms}
{supported platforms}.
@@ -410,7 +410,7 @@
frame buffer} that will match the physical device display, pixel for
pixel. This gives the developer a realistic testing infrastructure
testing on the desktop where the frame buffer simulates the physical
- device display’s width, height and color depth.
+ device display's width, height and color depth.
\section2 Inter-Process Communication (IPC)
@@ -421,7 +421,7 @@
\section2 Extended Font Format
Qt supports a wide range of font formats on embedded Linux including:
- TrueType®, Postscript® Type1 and Qt pre-rendered fonts. Qt has
+ TrueType, Postscript Type1 and Qt pre-rendered fonts. Qt has
extended Unicode support including automatic data extraction at build
time and automatic update at runtime.
@@ -681,7 +681,7 @@
\group platform-details
Qt is a cross-platform application and UI framework. Using Qt,
- you can write web-enabled applications once and deploy them
+ you can write GUI applications once and deploy them
across desktop, mobile and embedded operating systems without
rewriting the source code.
diff --git a/doc/src/qt-features.qdoc b/doc/src/qt-features.qdoc
new file mode 100644
index 0000000..0ae00b0
--- /dev/null
+++ b/doc/src/qt-features.qdoc
@@ -0,0 +1,204 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+/*!
+ \page qt-overview.html
+ \title Qt Features Overview
+
+ This document provides a summary of the most important features of Qt,
+ providing links to other pages in the documentation that cover these
+ features in more detail. It is not intended to be a comprehensive
+ guide to Qt's features.
+
+ \section1 Fundamental Technologies in Qt
+
+ Qt is built upon a set of core technologies, provided by the \l QtCore
+ and \l QtGui modules. These include the following:
+
+ \list
+ \o \l{The Tulip Container Classes}, a set of template container classes.
+ \o \l{The Arthur Paint System}, the Qt 4 painting framework.
+ \o \l{The Interview Framework}, a model/view architecture for item views
+ and the \l{QtSQL Module}, which also uses this architecture.
+ \o \l{The Scribe Classes}, a framework for creating text documents,
+ performing low-level text layout and writing OpenDocument files.
+ \o A collection of \l{Qt Widget Gallery}{common desktop widgets}, styled
+ to fit in on each supported platform.
+ \o \l{The Qt 4 Main Window Classes}, a main window, toolbar, menu, and
+ docking architecture.
+ \o The \l{Graphics View} framework provides a canvas for producing
+ interactive graphics.
+ \o The \l{QtNetwork Module} provides support for TCP, UDP and local
+ sockets that are integrated with Qt's event model, including support
+ for Secure Socket Layer (SSL) communications,
+ \l{QNetworkProxy}{network proxy} servers and
+ \l{Bearer Management}{network bearer management}.
+ \o Enhanced \l{qt4-threads.html}{thread support} allows
+ \l{Signals & Slots}{signal-slot} connections across threads and
+ per-thread event loops.
+ Additionally, \l{Thread Support in Qt}{a framework for concurrent programming}
+ using Qt paradigms makes common threading tasks easier.
+ \o A \l{resource system} for embedding images and other resource files
+ into executable files makes it easier to deploy applications.
+ \o A \l{QTestLib Manual}{unit testing framework} for Qt applications and
+ libraries.
+ \endlist
+
+ The mature classes provided by these technologies have been used to build
+ robust, cross-platform desktop applications. They are augmented by a number
+ of additional technologies and improvements that have appeared over the
+ lifetime of Qt 4.
+
+ \section1 Graphical User Interfaces
+
+ \div{class="float-right"}
+ \inlineimage gtk-tabwidget.png
+ \enddiv
+ \div{class="float-right"}
+ \inlineimage gtk-progressbar.png
+ \br
+ \inlineimage gtk-checkbox.png
+ \br
+ \inlineimage plastique-combobox.png
+ \br
+ \inlineimage plastique-radiobutton.png
+ \enddiv
+
+ Alongside the support for traditional desktop user interfaces, Qt includes
+ support for declarative UI development with \l{Qt Quick}, a set of
+ technologies for creating fluid, dynamic user interfaces. A starting point
+ for exploring this approach can be found in the \l{Introduction to Qt Quick}
+ guide.
+
+ Qt provides a range of standard user interface elements, called widgets,
+ for each supported platform. Widgets can be used as containers for other
+ widgets, as windows, and as regular controls that the user interacts with.
+ Where the platform supports it, widgets can be made to appear partially
+ transparent, and may be styled with \l{Qt Style Sheets}.
+
+ Support for \l{QTouchEvent}{touch input} and \l{Gestures Programming}{gestures}
+ enable widgets to be used to create intuitive user interfaces for
+ touch-enabled devices.
+
+ User interfaces can also be created dynamically at run-time with the
+ features provided by the \l{QtUiTools} module.
+
+ A selection of available widgets are shown in the \l{Qt Widget Gallery}.
+ An introduction to the concepts behind widgets can be found in the
+ \l{Widgets Tutorial}.
+
+ \clearfloat
+ \section1 Painting, Printing and Rendering
+
+ \div{class="float-left"}
+ \inlineimage qpainter-affinetransformations.png
+ \enddiv
+
+ Widgets are just one of many kinds of paint device that Qt can render onto.
+ This support for unified painting makes it possible for applications to use
+ the same painting code for different tasks, as well as allowing Qt to be
+ extended to support additional file formats.
+
+ Qt provides support for common bitmap image formats,
+ \l{QtSvg Module}{Scalable Vector Graphics} (SVG) drawings and animations,
+ Postscript and Portable Document Format (PDF) files. Postscript and PDF are
+ integrated with \l{Printing with Qt}{Qt's printing system}, which also
+ allows printed output to be previewed.
+
+ Interactive graphics can be created with the
+ \l{The Animation Framework}{animation framework}, allowing animations to be
+ used with both widgets and graphics items. Animations can be used with the
+ \l{The State Machine Framework}{state machine framework}, which provides a
+ way to express application logic and integrate it with the user interface.
+ Animations can be enhanced with a collection of
+ \l{QGraphicsEffect}{graphics effects} that operate on graphics items and
+ can be applied individually or combined to create more complex effects.
+
+ Qt supports integration with \l{QtOpenGL}{OpenGL} on a number of levels,
+ providing convenience functions for handling textures and colors, as well
+ as providing support for pixel and sample buffers. Future support for
+ higher level 3D integration is provided by Qt3D enablers which include
+ \l{QMatrix4x4}{matrix multiplication}, \l{QQuaternion}{quaternions}, and an
+ API for \l{QGLShader}{vertex and fragment shaders}.
+
+ Two APIs are provided for multimedia. The
+ \l{Phonon Overview}{Phonon Multimedia Framework} has traditionally been
+ used on desktop platforms. A set of
+ \l{QtMultimedia Module}{multimedia services} provides low-level access to
+ the system's audio system and is often used on mobile devices.
+
+ \clearfloat
+ \section1 Infrastructure
+
+ \div{class="float-right"}
+ \inlineimage qtscript-context2d.png
+ \enddiv
+
+ Facilities for Inter-Process Communication (IPC) and Remote Procedure
+ Calling (RPC) mechanisms are available on platforms that support the
+ \l{intro-to-dbus.html}{D-Bus} message bus system.
+
+ An \l{Undo Framework}{Undo framework} based on the
+ \l{Books about GUI Design#Design Patterns}{Command pattern} is designed to
+ enable a consistent approach to handling data in editing applications.
+
+ The \l{QtScript} and \l{QtScriptTools} modules provide support for
+ application scripting and debugging using the ECMAScript language.
+
+ The \l{QtHelp Module} provides the foundations of an interactive help
+ system that can be used in conjunction with Qt Creator or integrated into
+ applications directly.
+
+ XML handling is supported in a number of places in Qt. The \l QtCore module
+ provides classes for reading and writing XML streams. The \l QtXmlPatterns
+ module includes XQuery, XPath and XSLT support, providing facilities for
+ XML processing beyond that supported by the QtXml module, which contains
+ SAX and DOM parsers. XML schema validation in the QtXmlPatterns module
+ covers large parts of version 1.0 of the specification.
+
+ \clearfloat
+ \section1 Web Client Integration
+
+ Integration between \l{Webkit in Qt}{Qt and WebKit} makes it possible for
+ developers to use a fully-featured Web browser engine to display documents
+ and access online services. Developers can access the browser's environment
+ to create documents and run scripts within one or more browser widgets.
+
+ A \l{QWebElement}{DOM access API} for QtWebKit provides a cleaner and safer
+ way to access elements and structures of Web pages without the use of
+ JavaScript.
+
+ \section1 Further Reading
+
+ Many of the technologies mentioned here, as well as other, more specific
+ features, are listed in the \l{What's New in Qt 4} document. A complete
+ list of Qt's modules can be found on the \l{All Modules} page, which
+ also includes more domain-specific technologies.
+
+ The tools that are supplied with Qt are covered by the listing in the
+ \l{Qt's Tools} document.
+*/
diff --git a/doc/src/qt4-intro.qdoc b/doc/src/qt4-intro.qdoc
index 17dc1af..01103a8 100644
--- a/doc/src/qt4-intro.qdoc
+++ b/doc/src/qt4-intro.qdoc
@@ -138,7 +138,7 @@
In Qt 4.4:
\list
- \o \l{Webkit in QT}{Qt WebKit integration}, making it possible for developers
+ \o \l{WebKit in Qt}{Qt WebKit integration}, making it possible for developers
to use a fully-featured Web browser to display documents and access online
services.
\o A multimedia API provided by the \l{Phonon Overview}{Phonon Multimedia Framework}.
@@ -707,7 +707,6 @@
introduced in Qt 4.7.
\sincelist 4.7
-
*/
/*!
diff --git a/doc/src/snippets/code/src_corelib_io_qsettings.cpp b/doc/src/snippets/code/src_corelib_io_qsettings.cpp
index 5abb0e3..269aa44 100644
--- a/doc/src/snippets/code/src_corelib_io_qsettings.cpp
+++ b/doc/src/snippets/code/src_corelib_io_qsettings.cpp
@@ -314,3 +314,24 @@ int main(int argc, char *argv[])
...
}
//! [29]
+
+//! [30]
+QSettings settings(QApplication::applicationDirPath() + "/MySoft.conf");
+//! [30]
+
+//! [31]
+#include <QSettings>
+#include <QDesktopServices>
+int main(int argc, char *argv[])
+{
+#ifdef Q_OS_SYMBIAN
+ // Use QDesktopServices:storageLocation as QApplication is not yet created
+ QSettings::setPath(
+ QSettings::NativeFormat, QSettings::UserScope,
+ QDesktopServices::storageLocation(QDesktopServices::DataLocation) + "/settings");
+#endif
+ QApplication app(argc, argv);
+
+ ...
+}
+//! [31]
diff --git a/doc/src/sql-programming/sql-driver.qdoc b/doc/src/sql-programming/sql-driver.qdoc
index 40c7c6a..ed60e7f 100644
--- a/doc/src/sql-programming/sql-driver.qdoc
+++ b/doc/src/sql-programming/sql-driver.qdoc
@@ -60,6 +60,7 @@
\row \o \link #QPSQL QPSQL\endlink \o PostgreSQL (versions 7.3 and above)
\row \o \link #QSQLITE2 QSQLITE2\endlink \o SQLite version 2
\row \o \link #QSQLITE QSQLITE\endlink \o SQLite version 3
+ \row \o \link #QSYMSQL QSYMSQL\endlink \o SQLite version 3 for Symbian SQL Database
\row \o \link #QTDS QTDS\endlink \o Sybase Adaptive Server \note obsolete from Qt 4.7
\endtable
@@ -665,6 +666,106 @@
ship your own database plugin with your own SQLite library as illustrated above.
Some versions of SQLite can be forced to write a specific file format by setting
the \c{SQLITE_DEFAULT_FILE_FORMAT} define when building SQLite.
+
+ \target QSYMSQL
+ \section2 QSYMSQL for SQLite (Version 3 and Above) with Symbian SQL Database
+
+ \section3 General Information about QSYMSQL
+
+ QSYMSQL driver enables clients to access the native Symbian database engine (“Symbian SQL”)
+ through the QtSQL API.
+
+ The main difference to QSQLITE is that, with Symbian SQL database client can specify a
+ set of access control policies when creating a new database. It uses Symbian SQL security policy
+ definitions within open() call (security policy is defined with in the connection options parameters).
+
+ Symbian RSqlSecurityPolicy class is a container for the security policies for a shared SQL database.
+
+ The container can contain:
+ security policies that apply to the database.
+ security policies that apply to individual database objects, i.e. database tables.
+
+ For the database, you use RSqlSecurityPolicy::SetDbPolicy() to apply a separate security policy to:
+ the database schema.
+ read activity on the database.
+ write activity on the database.
+
+ For database tables, you use RSqlSecurityPolicy::SetPolicy() to apply a separate security policy to:
+ write activity on each named database table.
+ read activity on each named database table.
+
+ More information about Symbian SQL and RSqlSecurityPolicy class reference about policy definitions,
+ can be found from Forum Nokia Library: http://library.developer.nokia.com/.
+
+
+Example of setting Security Policy:
+
+ Connection options hold definition for security policies and all parameters that does not contain "POLICY_" will be
+ passed to RSqlDatabase. Policy will be filled according to parsed values.
+
+ Value in database wide parameters starts by definition which can be vendorId or secureId. These come directly from TSecurityPolicy class in Symbian.
+
+ POLICY_DB_DEFAULT
+ Default security policy which will be used for the database and all database objects. POLICY_DB_DEFAULT must be
+ defined before any other policy definitions can be used.
+ POLICY_DB_READ
+ Read database security policy. An application with read database security policy can read from database.
+ POLICY_DB_WRITE:
+ Write database security policy. An application with write database security policy can write to database.
+ POLICY_DB_SCHEMA:
+ Schema database security policy. An application with schema database security policy can modify
+ the database schema, write to database, read from database.
+
+ Format:
+ POLICY_DB_DEFAULT=cap1,cap2,cap3,cap4,cap5,cap6,cap7 (Up to 7 capabilities)
+ POLICY_DB_READ=cap1,cap2,cap3,cap4,cap5,cap6,cap7 (Up to 7 capabilities)
+ POLICY_DB_WRITE=vendorid,cap1,cap2,cap3 (Vendor ID and up to 3 capabilities)
+ POLICY_DB_SCHEMA=secureid,cap1,cap2,cap3 (Secure ID and up to 3 capabilities)
+
+ Table policies does not support schema policy as database level does.
+
+ Table specific parameters would be as:
+ POLICY_TABLE_WRITE=tablename,cap1,cap2,cap3,cap4,cap5,cap6,cap7
+ POLICY_TABLE_READ=tablename,cap1,cap2,cap3,cap4,cap5,cap6,cap7
+
+ Vendor Id and Secure id format:
+ vid[0x12345678] (Hex)
+ sid[0x12345678] (Hex)
+
+ Examples:
+ Setting default policy:
+ QSqlDatabase database = QSqlDatabase::addDatabase("QSYMSQL", "MyConnection");
+ database.setConnectOptions("POLICY_DB_DEFAULT=ReadDeviceData");
+ database.setDatabaseName("[12345678]myDatabase");
+ bool ok = database.open();
+
+ Setting POLICY_DB_WRITE:
+ QSqlDatabase database = QSqlDatabase::addDatabase("QSYMSQL", "MyConnection");
+ database.setConnectOptions("POLICY_DB_DEFAULT=None; POLICY_DB_WRITE=sid[0x12345678], WriteDeviceData");
+ database.setDatabaseName("[12345678]myDatabase");
+ bool ok = database.open();
+
+ FOREIGN KEY:
+ Enabling foreign key support from underlying SQLite
+ add: "foreign_keys = ON" to your connection options string. This will be passes to SQLite.
+
+ Foreign key Example:
+ QSqlDatabase database = QSqlDatabase::addDatabase("QSYMSQL", "MyConnection");
+ database.setDatabaseName("[12345678]myDatabase");
+ database.setConnectOptions("foreign_keys = ON");
+ bool ok = database.open();
+
+ \section3 How to Build the QSYMSQL Plugin
+
+ Building QSYMSQL requires Symbian SDK.
+
+ The build sequence is similar to the QSQLITE plugin with installing the plugin in the standard location.
+
+ Build sequence:
+
+ >cd sf\mw\qt\src\plugins\sqldrivers\symsql\
+ >qmake
+ >sbs -c winscw_udeb|armv5_urel
\target QIBASE
\section2 QIBASE for Borland InterBase