summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--doc/src/development/qtestlib.qdoc8
-rw-r--r--doc/src/files-and-resources/resources.qdoc22
-rw-r--r--doc/src/getting-started/installation.qdoc514
-rw-r--r--doc/src/getting-started/known-issues.qdoc125
-rw-r--r--doc/src/objectmodel/signalsandslots.qdoc6
-rw-r--r--doc/src/qt4-intro.qdoc72
-rw-r--r--doc/src/snippets/code/src_corelib_kernel_qvariant.cpp2
-rw-r--r--doc/src/snippets/declarative/text/onLinkActivated.qml54
-rw-r--r--doc/src/snippets/layouts/layouts.cpp42
-rw-r--r--doc/src/snippets/signalmapper/filereader.cpp12
-rwxr-xr-xdoc/src/template/style/style.css74
-rw-r--r--doc/src/tutorials/modelview.qdoc30
-rw-r--r--doc/src/widgets-and-layouts/layout.qdoc16
-rwxr-xr-xexamples/tutorials/modelview/3_changingmodel/mymodel.cpp3
-rwxr-xr-xexamples/tutorials/modelview/5_edit/mainwindow.h6
-rwxr-xr-xexamples/tutorials/modelview/6_treeview/mainwindow.h8
-rwxr-xr-xexamples/tutorials/modelview/7_selections/mainwindow.h8
-rw-r--r--src/corelib/global/qnumeric.cpp35
-rw-r--r--src/corelib/kernel/qmath.qdoc155
-rw-r--r--src/corelib/kernel/qpointer.cpp2
-rw-r--r--src/corelib/statemachine/qstatemachine.cpp3
-rw-r--r--src/corelib/thread/qatomic.cpp12
-rw-r--r--src/corelib/tools/qstring.cpp6
-rw-r--r--src/declarative/graphicsitems/qdeclarativeitem.cpp6
-rw-r--r--src/declarative/graphicsitems/qdeclarativetext.cpp10
-rw-r--r--src/gui/egl/qeglproperties.cpp2
-rw-r--r--src/gui/graphicsview/qgraphicsscene.cpp2
-rw-r--r--src/gui/image/qiconloader.cpp4
-rw-r--r--src/gui/itemviews/qsortfilterproxymodel.cpp8
-rw-r--r--src/gui/kernel/qkeysequence.cpp2
-rw-r--r--src/gui/kernel/qwidget.cpp12
-rw-r--r--src/gui/painting/qpainter.cpp2
-rw-r--r--src/gui/painting/qregion.cpp4
-rw-r--r--src/gui/text/qfontengine.cpp2
-rw-r--r--src/gui/text/qtextdocument.cpp13
-rw-r--r--src/gui/text/qtextobject.cpp5
-rw-r--r--src/gui/widgets/qlinecontrol.cpp4
-rw-r--r--src/multimedia/video/qabstractvideobuffer.cpp2
-rw-r--r--src/script/api/qscriptcontext.cpp2
-rw-r--r--src/testlib/qbenchmark.cpp2
-rw-r--r--tools/porting/src/rpp.cpp4
-rw-r--r--tools/porting/src/semantic.cpp4
-rw-r--r--tools/porting/src/tokenengine.h2
-rw-r--r--tools/porting/src/tokenreplacements.cpp8
-rw-r--r--tools/qdoc3/htmlgenerator.cpp30
-rw-r--r--tools/qdoc3/test/qt-build-docs.qdocconf1
-rw-r--r--tools/qdoc3/test/qt-build-docs_ja_JP.qdocconf7
-rw-r--r--tools/qdoc3/test/qt-build-docs_zh_CN.qdocconf7
-rw-r--r--tools/qdoc3/test/qt-html-templates.qdocconf51
-rw-r--r--tools/qdoc3/test/qt-html-templates_ja_JP.qdocconf9
-rw-r--r--tools/qdoc3/test/qt-html-templates_zh_CN.qdocconf9
-rw-r--r--tools/qdoc3/test/qt.qdocconf1
53 files changed, 885 insertions, 546 deletions
diff --git a/.gitignore b/.gitignore
index 4d5aa9b..7bacc11 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,6 +6,7 @@ examples/*/*/*
!examples/*/*/README
examples/*/*/*[.]app
!examples/declarative/*
+!examples/tutorials/*
!examples/ja_JP/*/*
demos/*/*
!demos/spectrum/*
diff --git a/doc/src/development/qtestlib.qdoc b/doc/src/development/qtestlib.qdoc
index 0c07747..a83c27e 100644
--- a/doc/src/development/qtestlib.qdoc
+++ b/doc/src/development/qtestlib.qdoc
@@ -88,10 +88,6 @@
\o Custom types can easily be added to the test data and test output.
\endtable
- Note: For higher-level GUI and application testing needs, please
- see the \l{Third-Party Tools}{Qt testing products provided by
- Nokia partners}.
-
\section1 QTestLib API
@@ -218,12 +214,12 @@
\section2 Creating a Benchmark
- To create a benchmark, follow the instructions for crating a test and then add a
+ To create a benchmark, follow the instructions for creating a test and then add a
QBENCHMARK macro to the test function that you want to benchmark.
\snippet doc/src/snippets/code/doc_src_qtestlib.qdoc 12
- The code insde the QBENCHMARK macro will be measured, and possibly also repeated
+ The code inside the QBENCHMARK macro will be measured, and possibly also repeated
several times in order to get an accurate measurement. This depends on the selected
measurement back-end. Several back-ends are available. They can be selected on the
command line:
diff --git a/doc/src/files-and-resources/resources.qdoc b/doc/src/files-and-resources/resources.qdoc
index 3177af8..f0cb130 100644
--- a/doc/src/files-and-resources/resources.qdoc
+++ b/doc/src/files-and-resources/resources.qdoc
@@ -54,7 +54,7 @@
The resource system is based on tight cooperation between \l qmake,
\l rcc (Qt's resource compiler), and QFile. It obsoletes Qt 3's
\c qembed tool and the
- \l{http://doc.qt.nokia.com/qq/qq05-iconography.html}{image
+ \l{http://qt.nokia.com/doc/qq/qq05-iconography.html#imagestorage}{image
collection} mechanism.
\section1 Resource Collection Files (\c{.qrc})
@@ -156,6 +156,26 @@
native support for resources. This might change in a future Qt
release.
+ \section1 Compression
+
+ Resources are compressed by default (in the \c ZIP format). It is
+ possible to turn off compression. This can be useful if your
+ resources already contain a compressed format, such as \c .png
+ files. You do this by giving the \c {-no-compress} command line
+ argument.
+
+ \code
+ rcc -no-compress myresources.qrc
+ \endcode
+
+ \c rcc also gives you some control over the compression. You can
+ specify the compression level and the threshold level to consider
+ while compressing files, for example:
+
+ \code
+ rcc -compress 2 -threshold 3 myresources.qrc
+ \endcode
+
\section1 Using Resources in the Application
In the application, resource paths can be used in most places
diff --git a/doc/src/getting-started/installation.qdoc b/doc/src/getting-started/installation.qdoc
index 708f166..bc0128c 100644
--- a/doc/src/getting-started/installation.qdoc
+++ b/doc/src/getting-started/installation.qdoc
@@ -45,16 +45,19 @@ for your platform from the following list.
\brief How to install Qt on platforms with X11.
\previouspage Installation
-\note Qt for X11 has some requirements that are given in more detail
-in the \l{Qt for X11 Requirements} document.
+\tableofcontents
-\list 1
-\o If you have the commercial edition of Qt, install your license
+ Qt for X11 has some requirements that are given in more detail
+ in the \l{Qt for X11 Requirements} document.
+
+\section1 Step 1: Installing the License File (commercial editions only)
+ If you have the commercial edition of Qt, install your license
file as \c{$HOME/.qt-license}.
For the open source version you do not need a license file.
-\o Unpack the archive if you have not done so already. For example,
+\section1 Step 2: Unpacking the Archive
+ Unpack the archive if you have not done so already. For example,
if you have the \c{qt-everywhere-opensource-src-%VERSION%.tar.gz}
package, type the following commands at a command line prompt:
@@ -64,7 +67,7 @@ in the \l{Qt for X11 Requirements} document.
containing the files from the archive. We only support the GNU version of
the tar archiving utility. Note that on some systems it is called gtar.
-\o Building
+\section1 Step 3: Building the Library
To configure the Qt library for your machine type, run the
\c{./configure} script in the package directory.
@@ -84,12 +87,10 @@ in the \l{Qt for X11 Requirements} document.
If \c{-prefix} is outside the build directory, you need to install
the library, demos, examples, tools, and tutorials in the appropriate
- place. To do this, type:
+ place. To do this (as root if necessary), type:
\snippet doc/src/snippets/code/doc_src_installation.qdoc 3
-
- , as root if necessary.
-
+
Note that on some systems the make utility is named differently,
e.g. gmake. The configure script tells you which make utility to
use.
@@ -99,7 +100,7 @@ in the \l{Qt for X11 Requirements} document.
removed by entering the build directory and typing \c{make confclean}
before running \c configure again.
-\o Environment variables
+\section1 Step 4: Set the Environment Variables
In order to use Qt, some environment variables needs to be
extended.
@@ -125,7 +126,9 @@ in the \l{Qt for X11 Requirements} document.
\c{/usr/local/Trolltech/Qt-%VERSION%/lib}. On Linux with GCC this step
is not needed.
-\o That's all. Qt is now installed.
+\bold {That's all. Qt is now installed.}
+
+\section1 Qt Demos and Examples
If you are new to Qt, we suggest that you take a look at the demos
and examples to see Qt in action. Run the Qt Examples and Demos
@@ -141,7 +144,6 @@ in the \l{Qt for X11 Requirements} document.
\o \l{Developer Zone}
\o \l{Deploying Qt Applications}
\endlist
-\endlist
We hope you will enjoy using Qt. Good luck!
@@ -154,24 +156,22 @@ in the \l{Qt for X11 Requirements} document.
\brief How to install Qt on Windows.
\previouspage Installation
-\note Qt for Windows has some requirements that are given in more detail
-in the \l{Qt for Windows Requirements} document.
+\tableofcontents
-\table
-\row \o \bold{Notes:}
-\list
-\o If you have obtained a binary package for this platform,
-consult the installation instructions provided instead of the ones in
-this document.
-\o \l{Open Source Versions of Qt} is not officially supported for use with
-any version of Visual Studio. Integration with Visual Studio is available
-as part of the \l{Qt Commercial Edition}.
+ Qt for Windows has some requirements that are given in more detail
+ in the \l{Qt for Windows Requirements} document.
-\endlist
-\endtable
+ If you have obtained a binary package for this platform,
+ consult the installation instructions provided instead of the ones in
+ this document.
-\list 1
-\o If you have the commercial edition of Qt, copy the license file
+ Open Source Versions of Qt is not officially supported for use with
+ any version of Visual Studio. Integration with Visual Studio is available
+ as part of the \l{Qt Commercial Edition}.
+
+\section1 Step 1: Install the License File (commercial editions only)
+
+ If you have the commercial edition of Qt, copy the license file
from your account on dist.trolltech.com into your home directory
(this may be known as the \c userprofile environment variable) and
rename it to \c{.qt-license}. This renaming process must be done
@@ -181,13 +181,15 @@ as part of the \l{Qt Commercial Edition}.
For the open source version you do not need a license file.
-\o Uncompress the files into the directory you want Qt installed;
+\section1 Step 2: Unpack the Archive
+
+ Uncompress the files into the directory you want Qt installed;
e.g. \c{C:\Qt\%VERSION%}.
\note The install path must not contain any spaces or Windows specific
file system characters.
-\o Environment variables
+\section1 Step 3: Set the Environment variables
In order to build and use Qt, the \c PATH environment variable needs to be
extended:
@@ -203,12 +205,13 @@ as part of the \l{Qt Commercial Edition}.
other build tools are listed in the \c PATH variable. This will depend
on your choice of software development environment.
- \bold{Note}: If you don't use the configured shells, which is
+ \note If you don't use the configured shells, which is
available in the application menu, in the \l{Open Source Versions of Qt},
\c configure requires that \c sh.exe is not in the path
or that it is run from \c msys. This also goes for mingw32-make.
-\o Building
+\section1 Step 4: Build the Qt Library
+
To configure the Qt library for your machine, type the following command
in a \bold{Visual Studio} command prompt:
@@ -243,7 +246,9 @@ as part of the \l{Qt Commercial Edition}.
removed by entering the build directory and typing \c{nmake distclean}
before running \c configure again.
-\o That's all. Qt is now installed.
+\bold{That's all. Qt is now installed.}
+
+\section1 Qt Demos and Examples
If you are new to Qt, we suggest that you take a look at the demos
and examples to see Qt in action. Run the Qt Examples and Demos
@@ -259,8 +264,6 @@ as part of the \l{Qt Commercial Edition}.
\o \l{Deploying Qt Applications}
\endlist
-\endlist
-
We hope you will enjoy using Qt. Good luck!
*/
@@ -270,11 +273,14 @@ as part of the \l{Qt Commercial Edition}.
\ingroup installation
\brief How to install Qt on Mac OS X.
\previouspage Installation
+\tableofcontents
-\note Qt for Mac OS X has some requirements that are given in more detail
+Qt for Mac OS X has some requirements that are given in more detail
in the \l{Qt for Mac OS X Requirements} document.
-\bold{Note for the binary package}: If you have the binary package, simply double-click on the Qt.mpkg
+The following instructions describe how to install Qt from the source package.
+
+For the binary package, simply double-click on the Qt.mpkg
and follow the instructions to install Qt. You can later run the \c{uninstall-qt.py}
script to uninstall the binary package. The script is located in /Developer/Tools and
must be run as root.
@@ -283,15 +289,13 @@ must be run as root.
\l{http://openradar.appspot.com/7214991}
{iPhone simulator conflicts with the package installer}.
-The following instructions describe how to install Qt from the source package.
-
-\list 1
-\o If you have the commercial edition of Qt, install your license
+\section1 Step 1: Install the License File (commercial editions only)
+ If you have the commercial edition of Qt, install your license
file as \c{$HOME/.qt-license}.
For the open source version you do not need a license file.
-\o Unpack the archive if you have not done so already. For example,
+ Unpack the archive if you have not done so already. For example,
if you have the \c{qt-everywhere-opensource-src-%VERSION%.tar.gz}
package, type the following commands at a command line prompt:
@@ -300,7 +304,7 @@ The following instructions describe how to install Qt from the source package.
This creates the directory \c{/tmp/qt-everywhere-opensource-src-%VERSION%}
containing the files from the archive.
-\o Building
+\section1 Step 2: Build the Qt Library
To configure the Qt library for your machine type, run the
\c{./configure} script in the package directory.
@@ -335,18 +339,18 @@ The following instructions describe how to install Qt from the source package.
\snippet doc/src/snippets/code/doc_src_installation.qdoc 14
- as root, if neccessary (note that this requires that you have administrator access
- to your machine).
+ This command requires that you have administrator access
+ on your machine.
- There is a potential race condition when running make install with multiple
+ \note There is a potential race condition when running make install with multiple
jobs. It is best to only run one make job (-j1) for the install.
- \bold{Note:} If you later need to reconfigure and rebuild Qt from the
+ If you later need to reconfigure and rebuild Qt from the
same location, ensure that all traces of the previous configuration are
removed by entering the build directory and typing \c{make confclean}
before running \c configure again.
-\o Environment variables
+\section1 Step 3: Set the Environment variables
In order to use Qt, some environment variables need to be
extended.
@@ -366,8 +370,9 @@ The following instructions describe how to install Qt from the source package.
If you use a different shell, please modify your environment
variables accordingly.
-\o That's all. Qt is now installed.
+\bold {That's all. Qt is now installed.}
+\section1 Qt Demos and Examples
If you are new to Qt, we suggest that you take a look at the demos
and examples to see Qt in action. Run the Qt Examples and Demos
either by typing \c qtdemo on the command line or through the
@@ -381,7 +386,6 @@ The following instructions describe how to install Qt from the source package.
\o \l{Developer Zone}
\o \l{Deploying Qt Applications}
\endlist
-\endlist
We hope you will enjoy using Qt. Good luck!
@@ -393,96 +397,96 @@ The following instructions describe how to install Qt from the source package.
\ingroup qtce
\brief How to install Qt on Windows CE.
\previouspage Installation
+\tableofcontents
-\note Qt for Windows CE has some requirements that are given in more detail
+Qt for Windows CE has some requirements that are given in more detail
in the \l{Qt for Windows CE Requirements} document.
-\list 1
- \o Uncompress the files into the directory you want to install Qt into;
- e.g., \c{C:\Qt\%VERSION%}.
-
- \note The install path must not contain any spaces.
+\section1 Step 1: Install the License File (commercial editions only)
+ Uncompress the files into the directory you want to install Qt into;
+ e.g., \c{C:\Qt\%VERSION%}.
- \o Environment variables
+ \note The install path must not contain any spaces.
- In order to build and use Qt, the \c PATH environment variable needs
- to be extended:
+\section1 Step 2: Set the Environment variables
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 18
+ In order to build and use Qt, the \c PATH environment variable needs
+ to be extended:
- This is done by adding \c{c:\Qt\%VERSION%\bin} to the \c PATH variable.
+\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.
- For newer versions of Windows, \c PATH can be extended through
- "Control Panel->System->Advanced->Environment variables" and for
- older versions by editing \c{c:\autoexec.bat}.
+ For newer versions of Windows, \c PATH can be extended through
+ "Control Panel->System->Advanced->Environment variables" and for
+ older versions by editing \c{c:\autoexec.bat}.
- Make sure the enviroment variables for your compiler are set.
- Visual Studio includes \c{vcvars32.bat} for that purpose - or simply
- use the "Visual Studio Command Prompt" from the Start menu.
+ Make sure the enviroment variables for your compiler are set.
+ Visual Studio includes \c{vcvars32.bat} for that purpose - or simply
+ use the "Visual Studio Command Prompt" from the Start menu.
- \o Configuring Qt
+\section1 Step 3: Configure Qt
- To configure Qt for Windows Mobile 5.0 for Pocket PC, type the
- following:
+ To configure Qt for Windows Mobile 5.0 for Pocket PC, type the
+ following:
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 19
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 19
- If you want to configure Qt for another platform or with other
- options, type \c{configure -help} to get a list of all available
- options. See the \c README file for the list of supported platforms.
+ If you want to configure Qt for another platform or with other
+ options, type \c{configure -help} to get a list of all available
+ options. See the \c README file for the list of supported platforms.
+\section1 Step 4: Build Qt Library
- \o Building Qt
+ Now, to build Qt you first have to update your \c PATH, \c INCLUDE
+ and \c LIB paths to point to the correct resources for your target
+ platforms. For a default installation of the Windows Mobile 5.0
+ Pocket PC SDK, this is done with the following commands:
- Now, to build Qt you first have to update your \c PATH, \c INCLUDE
- and \c LIB paths to point to the correct resources for your target
- platforms. For a default installation of the Windows Mobile 5.0
- Pocket PC SDK, this is done with the following commands:
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 20
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 20
+ We provide a convenience script for this purpose, called \c{setcepaths}.
+ Simply type:
- We provide a convenience script for this purpose, called \c{setcepaths}.
- Simply type:
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 21
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 21
+ Then to build Qt type:
- Then to build Qt type:
+ \snippet doc/src/snippets/code/doc_src_installation.qdoc 22
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 22
+\bold{That's all. Qt is now installed.}
- \o That's all. Qt is now installed.
+\section1 Qt Demos and Examples
- To get started with Qt, you can check out the examples found in the
- \c{examples} directory of your Qt installation. The documentation can
- be found in \c{doc\html}.
+ To get started with Qt, you can check out the examples found in the
+ \c{examples} directory of your Qt installation. The documentation can
+ be found in \c{doc\html}.
- \bold{Remember:} If you reconfigure Qt for a different platform,
- make sure you start with a new clean console to get rid of the
- platform dependent include directories.
+ \note If you reconfigure Qt for a different platform,
+ make sure you start with a new clean console to get rid of the
+ platform dependent include directories.
- The links below provide further information for using Qt:
- \list
- \o \l{How to Learn Qt}
- \o \l{Tutorials}
- \o \l{Developer Zone}
- \o \l{Deploying Qt Applications}
- \endlist
+ The links below provide further information for using Qt:
+ \list
+ \o \l{How to Learn Qt}
+ \o \l{Tutorials}
+ \o \l{Developer Zone}
+ \o \l{Deploying Qt Applications}
+ \endlist
- You might also want to try the following Windows CE specific links:
- \list
- \o \l{Windows CE - Introduction to using Qt}
- \o \l{Windows CE - Working with Custom SDKs}
- \o \l{Windows CE - Using shadow builds}
- \o \l{Windows CE - Signing}
- \endlist
+ You might also want to try the following Windows CE specific links:
+ \list
+ \o \l{Windows CE - Introduction to using Qt}
+ \o \l{Windows CE - Working with Custom SDKs}
+ \o \l{Windows CE - Using shadow builds}
+ \o \l{Windows CE - Signing}
+ \endlist
- Information on feature and performance tuning for embedded builds can
- be found on the following pages:
- \list
- \o \l{Fine-Tuning Features in Qt}
- \o \l{Qt Performance Tuning}
- \endlist
-\endlist
+ Information on feature and performance tuning for embedded builds can
+ be found on the following pages:
+ \list
+ \o \l{Fine-Tuning Features in Qt}
+ \o \l{Qt Performance Tuning}
+ \endlist
We hope you will enjoy using Qt. Good luck!
*/
@@ -491,20 +495,22 @@ in the \l{Qt for Windows CE Requirements} document.
\title Installing Qt on the Symbian platform from a Binary Package
\ingroup qtsymbian
\brief How to install Qt on the Symbian platform from a binary package.
+\previouspage Installation
+
+\tableofcontents
-\note Qt for the Symbian platform has some requirements that are given in more detail
+Qt for the Symbian platform has some requirements that are given in more detail
in the \l{Qt for the Symbian platform Requirements} document.
-\list 1
- \o Install Qt
+\section1 Step 1: Install Qt
Run \c{qt-symbian-opensource-%VERSION%.exe} 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.
- \o Install Qt into a device
+\section1 Step 2: Install Qt into a device
To run Qt applications on a device, \c{qt_installer.sis} found
in the Qt installation directory must be first installed into the device.
@@ -516,7 +522,7 @@ in the \l{Qt for the Symbian platform Requirements} document.
on the \c{qt_installer.sis} file, select "Install with Nokia Application
Installer" and follow the instructions.
- \o Running Qt demos
+\section1 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"
@@ -540,9 +546,8 @@ in the \l{Qt for the Symbian platform Requirements} document.
Symbian platform,
see \l{The Symbian platform - Introduction to Qt}.
- We hope you will enjoy using Qt.
+\bold{We hope you will enjoy using Qt.}
-\endlist
*/
/*! \page install-Symbian.html
@@ -550,206 +555,200 @@ Symbian platform,
\ingroup installation
\ingroup qtsymbian
\brief How to install Qt on the Symbian platform.
+\previouspage Installation
+\tableofcontents
-\note Qt for the Symbian platform has some requirements that are given in more detail
+Qt for the Symbian platform has some requirements that are given in more detail
in the \l{Qt for the Symbian platform Requirements} document.
-\note \bold {This document describes how to install and configure Qt for
-the Symbian platform from scratch.
-If you are using pre-built binaries, follow the instructions given in the
-\l{Installing Qt on the Symbian platform from a Binary Package} document.}
+This document describes how to install and configure Qt for
+the Symbian platform from scratch. If you are using pre-built binaries, follow
+the instructions given in the \l{Installing Qt on the Symbian platform from a
+Binary Package} document.
-\list 1
+\section1 Step 1: Set Up the Development Environment
- \o Setup the development environment
+ Make sure your Symbian development environment is correctly installed
+ and patched as explained in the \l{Qt for the Symbian platform Requirements}
+ document.
- Make sure your Symbian development environment is correctly installed and
- patched as explained in the \l{Qt for the Symbian platform Requirements} document.
+ After you have finished the Symbian development environment setup, it is
+ good to verify that environment is functional for example by compiling one
+ of the pure Symbian examples for both emulator and HW. This can be done from
+ command prompt as follows:
- After you have finished the Symbian development environment setup, it is good
- to verify that environment is functional for example by compiling one
- of the pure Symbian examples for both emulator and HW. This can be done from
- command prompt as follows:
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 32
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 32
+ If all steps pass without errors your Symbian development environment is
+ very likely installed correctly.
- If all steps pass without errors your Symbian development environment is
- very likely installed correctly.
+\section1 Step 2: Install Qt
- \o Install Qt
+ Uncompress the \l{http://qt.nokia.com/downloads}{downloaded} source
+ package into the directory you want Qt installed, e.g. \c{C:\Qt\%VERSION%}.
- Uncompress the \l{http://qt.nokia.com/downloads}{downloaded} source 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 Symbian SDK you are
+ using, and the install path must not contain any spaces.
- \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.
+\section1 Step 3: Set the Environment variables
- \o Environment variables
+ In order to build and use Qt, the \c PATH environment variable needs
+ to be extended:
- 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
- \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.
- This is done by adding \c{c:\Qt\%VERSION%\bin} to the \c PATH variable.
+ On Windows the\c PATH can be extended by navigating to
+ "Control Panel->System->Advanced->Environment variables".
- 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 Symbian
+ emulator. This is done by locating the Carbide.c++ submenu on the Start
+ menu, and choosing "Configure environment for WINSCW command line".
- In addition, you must configure the environment for use with the Symbian
- emulator. This is done by locating the Carbide.c++ submenu on the Start
- menu, and choosing "Configure environment for WINSCW command line".
+ If you are planning to use \c abld (the default build system that comes with
+ the S60 SDK) to build Qt, you will also need to set the following
+ environment variable:
- If you are planning to use abld (the default build system that comes with the S60 SDK)
- to build Qt, you will also need to set the following environment variable:
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 33
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 33
+ This is not necessary for other applications, only when building Qt.
- This is not necessary for other applications, only when building Qt.
+\section1 Step 4: Configure Qt
- \o Configure Qt
+ To configure Qt for the Symbian platform, do:
- To configure Qt for the Symbian platform, do:
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 23
+ (to build the tools using MinGW, and the libraries using abld)
+
+ \bold or
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 23
- to build the tools using MinGW, and the libraries using abld.
- or
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 31
- to build the tools using MinGW, and the libraries using SBSv2.
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 31
+ (to build the tools using MinGW, and the libraries using SBSv2)
- SBSv2 (also known as \l{http://developer.symbian.org/wiki/index.php/Introduction_to_RAPTOR} {Raptor})
- is a next-generation Symbian build system. SBSv2 is not officially
- supported by any of the S60 SDKs currently available from Forum Nokia.
+ SBSv2 (also known as \l{http://developer.symbian.org/wiki/index.php/Introduction_to_RAPTOR} {Raptor})
+ is a next-generation Symbian build system. SBSv2 is not officially supported
+ by any of the S60 SDKs currently available from Forum Nokia.
- \o Build Qt
+\section1 Step 5: Build Qt
- To build Qt for the emulator, type:
+ To build Qt for the emulator, type:
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 24
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 24
- To build Qt for the device, type:
+ To build Qt for the device, type:
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 28
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 28
- Congratulations, Qt is now ready to use.
+ Congratulations, Qt is now ready to use.
- \o Installing Qt libraries on the device
+\section1 Step 7: Installing Qt Libraries on the Device
- To run the demo on a real device, you first have to install
- the Qt libraries on the device:
+ 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
+\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:
+ 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:
- \list A
- \o Installing Qt without a certificate
+ If you have no certificate, build a self signed Qt:
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 34
- If you have no certificate, build a self signed Qt:
+ 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 34
+\section1 Running Qt demos
- \o Installing Qt with a Symbian developer certificate
+ 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.
- If you have a symbian-signed developer certificate, specify the
- capabilities you can sign for, for example:
+ Similarly, install fluidlauncher to the device:
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 35
- \endlist
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 30
- \o Running Qt demos
+ This will create a self-signed \c fluidlauncher.sis and
+ install it to your device.
- 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.
-
- Similarly, install fluidlauncher to the device:
-
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 30
+ To run the demos on the emulator simply navigate to the directory of the demo
+ you want to see and run:
- This will create a self-signed \c fluidlauncher.sis and
- install it to your device.
-
- To run the demos on the emulator simply navigate to the directory of the demo
- you want to see and run:
-
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 27
-
- For more information about building and running Qt programs on the
- Symbian platform, see \l{The Symbian platform - Introduction to Qt}.
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 27
+ For more information about building and running Qt programs on the
+ Symbian platform, see \l{The Symbian platform - Introduction to Qt}.
We hope you will enjoy using Qt.
-\endlist
-
*/
/*! \page install-Symbian-linux.html
\title Installing Qt on the Symbian platform using Linux (experimental)
\ingroup installation
\ingroup qtsymbian
\brief How to install Qt on the Symbian platform using Linux.
+\previouspage Installation
+\tableofcontents
-\note \bold {This document describes how to install and configure Qt for
+This document describes how to install and configure Qt for
the Symbian platform from scratch, using Linux as the build host.
Qt for Symbian binaries can be downloaded directly so development of
-applications using Qt for Symbian can start right away.}
-
-\list 1
-
- \o Setup the development environment
+applications using Qt for Symbian can start right away.
- \note Qt for the Symbian platform has some requirements on the development
- platform. The Symbian SDK for Linux as well as a cross compiler for the ARM
- processor used on Symbian devices should be present on the development machine.
- See {http://qt.gitorious.org/qt/pages/QtCreatorSymbianLinux} for more details.
+\section1 Step 1: Setup the development environment
- \o Install Qt
+ Qt for the Symbian platform has some requirements on the development
+ platform. The Symbian SDK for Linux as well as a cross compiler for the ARM
+ processor used on Symbian devices should be present on the development
+ machine.
+
+ See \l{http://qt.gitorious.org/qt/pages/QtCreatorSymbianLinux} for more details.
+\section1 Step 2: Unpack the Archive
- Uncompress the \l{http://qt.nokia.com/downloads}{downloaded} source package into the
+ Uncompress the \l{http://qt.nokia.com/downloads}{downloaded} source package into the
directory you want Qt installed, e.g. \c{/home/user/qt/%VERSION%}.
- \o Environment variables
+\section1 Step 3: Set the Environment Variables
- In order to build and use Qt, the \c PATH environment variable needs
- to be extended to fine Qt tools and also to find the Symbian platform tools:
+ In order to build and use Qt, the \c PATH environment variable needs
+ to be extended to fine Qt tools and also to find the Symbian platform tools:
- First you need to set the \c EPOCROOT environment variable to point to the location
- of your S60 SDK:
+ First you need to set the \c EPOCROOT environment variable to point to the
+ location of your S60 SDK:
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 36
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 36
- Then you can update the PATH variable;
+ Then you can update the PATH variable;
\snippet doc/src/snippets/code/doc_src_installation.qdoc 37
- \o Configure Qt
+\section1 Step 4: Configure Qt
- To configure Qt for the Symbian platform, do:
+ To configure Qt for the Symbian platform, do:
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 38
- to build the libraries using RVCT or
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 39
- to build the libraries using GCCE.
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 38
+ to build the libraries using RVCT or
- \o Build Qt
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 39
+ to build the libraries using GCCE.
- To build Qt for the device, type:
+\section1 Step 5: Build Qt
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 40
+ To build Qt for the device, type:
- Congratulations, Qt is now ready to use.
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 40
- \o Building Qt packages for the device
+ Congratulations, Qt is now ready to use.
- To run any application or demo on a real device, you need to install it
- on the device. To do this you first have to create a a package for the
- device, containing the libraries:
+\section1 Step 6: Building Qt packages for the Device
- \list A
- \o Building a Qt package without a certificate
+ To run any application or demo on a real device, you need to install it
+ on the device. To do this you first have to create a a package for the
+ device, containing the libraries:
+
+ \bold{Building a Qt package without a certificate}
If you have no certificate, build a self signed Qt:
@@ -760,15 +759,14 @@ applications using Qt for Symbian can start right away.}
capabilities are automatically lowered if you make a self-signed
package.
- \o Building a Qt package with a Symbian developer certificate
+ \bold{Building a Qt package with a Symbian developer certificate}
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 42
- \endlist
-
- \o Installing Qt packages to the device.
+
+ \section2 Installing Qt packages to the device.
It is possible to install packages to a phone in Linux by putting
the package on the phone memory card and then installing manually
@@ -776,8 +774,7 @@ applications using Qt for Symbian can start right away.}
on phones without a memory card, so the method recommended by Qt is
to use the App TRK tool.
- \list a
- \o Obtaining the App TRK package.
+ \section3 Obtaining the App TRK package.
Download the package from the following location.
@@ -793,7 +790,7 @@ applications using Qt for Symbian can start right away.}
menu, or using a Windows PC for doing the install. However,
the installation only has to be done once.
- \o Configuring App TRK on the phone.
+ \section3 Configuring App TRK on the phone.
When App TRK is installed, connect the phone to the PC using
the USB cable. Select "PCSuite" as connection type. Then run
@@ -802,7 +799,7 @@ applications using Qt for Symbian can start right away.}
the \c Settings menu entry. If necessary, choose \c Connect
from the menu.
- \o Configuring the USB serial driver on the Linux system.
+ \section3 Configuring the USB serial driver on the Linux system.
On Linux, phone should appear as the \c /dev/ttyUSB1 device,
however if you are running an old kernel, you may need to
@@ -821,7 +818,7 @@ applications using Qt for Symbian can start right away.}
The \c rmmod step may fail if the module is not already
loaded, but that is harmless.
- \o Building the \c runonphone tool.
+ \section3 Building the \c runonphone tool.
Note that building the \c runonphone tool requires a separate
installation of Qt for Linux. If there is a version of Qt
@@ -846,7 +843,7 @@ applications using Qt for Symbian can start right away.}
Copy the resulting executable to a folder which is in your
\c PATH environment variable.
- \o Installing the built package onto the phone.
+ \section3 Installing the built package onto the phone.
Return to the root of the Qt tree configured for Symbian. Then
install the Qt libraries by running the following:
@@ -863,9 +860,7 @@ applications using Qt for Symbian can start right away.}
\snippet doc/src/snippets/code/doc_src_installation.qdoc 50
- \endlist
-
- \o Running Qt demos
+\section1 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"
@@ -883,10 +878,8 @@ applications using Qt for Symbian can start right away.}
Symbian platform, see \l{The Symbian platform - Introduction to Qt}.
We hope you will enjoy using Qt.
-
-\endlist
-
*/
+
/*!
\page requirements.html
\title General Qt Requirements
@@ -958,6 +951,9 @@ applications using Qt for Symbian can start right away.}
\brief Setting up the Mac OS X environment for Qt.
\previouspage General Qt Requirements
+ Qt requires Xcode to be installed on the system. Xcode should be
+ available on the Mac installation CD.
+
\sa {Known Issues}
*/
diff --git a/doc/src/getting-started/known-issues.qdoc b/doc/src/getting-started/known-issues.qdoc
index 0c2d8d8..942c41d 100644
--- a/doc/src/getting-started/known-issues.qdoc
+++ b/doc/src/getting-started/known-issues.qdoc
@@ -29,127 +29,12 @@
\page known-issues.html
\title Known Issues
\ingroup platform-specific
- \brief A summary of known issues in this Qt version at the time of release.
+ \brief Links to online resources stating known issues in this Qt version at the time of release.
- An up-to-date list of known issues can be found at
- \l{http://bugreports.qt.nokia.com/}{Qt Bug Tracker}.
-
- For a list list of known bugs, see the \l{Task Tracker} at the Qt
- website.
-
- An overview of known issues may also be found at:
- \l{http://qt.gitorious.org/qt/pages/QtKnownIssues}
+ \list
+ \o An up-to-date list of known issues can be found at \l{http://bugreports.qt.nokia.com/}{Qt Bug Tracker}.
+ \o For a list list of known bugs, see the \l{Task Tracker} at the Qt website.
+ \o An overview of known issues may also be found at: \l{http://qt.gitorious.org/qt/pages/QtKnownIssues}
{Known Issues Wiki}.
-
- \section1 Installation Issues
-
- \section2 Installing the Source Package on Unix systems
-
- \list
-
- \o If you download a Zip source package, you will need to convert
- Windows-style line endings (CR/LF) to Unix-style line-endings (LF) when
- you uncompress the package. To do this, give the "-a" option when you
- run the "unzip' command.
-
- \o If you fail to supply the "-a" option when unzipping the package, you
- will see the following error message when you attempt to execute the
- configure command:
- "bash: ./configure: /bin/sh^M: bad interpreter: No such file or directory"
-
- \endlist
-
- \section2 Installing on Mac OS X 10.6 "Snow Leopard"
-
- \list
-
- \o There are two workarounds, either disable spotlight for the target
- drive during the install, or do a custom install where you deselect
- documentation and examples. Run the installer again as a full
- install to get the documentation and examples installed.
-
- \endlist
-
- \section1 Issues with Third Party Software
-
- \section2 X11
-
- \list
- \o There is a bug in the 169.xx NVIDIA drivers on certain GeForce 8 series
- cards that is triggered by the OpenGL paint engine when using QPainter
- on a QGLWidget to draw paths and polygons. Some other painting
- operations that end up in the path fallback are affected as well. The
- bug causes the whole X server to repeatedly hang for several seconds at
- a time.
- \o There is an issue with NVIDIA's 9xxx driver series on X11 that causes a
- crash in cases where there are several \l{QGLContext}s and the extended
- composition modes are used (the composition modes between and including
- QPainter::CompositionMode_Multiply and
- QPainter::CompositionMode_Exclusion). This affects the composition mode
- demo in Qt 4.5, for example. The crash does not occur in newer versions
- of the drivers.
- \endlist
-
- \section2 Windows
-
- \list
-
- \o When using version 6.14.11.6921 of the NVIDIA drivers for the GeForce
- 6600 GT under Windows XP, Qt applications which use drag and drop will
- display reduced size drag and drop icons when run alongside
- applications that use OpenGL. This problem can be worked around by
- reducing the level of graphics acceleration provided by the driver, or
- by disabling hardware acceleration completely.
-
- \o With NVIDIA GeForce 7950 GT (driver version 6.14.11.7824), a fullscreen
- QGLWidget flickers when child widgets are shown/hidden. The workaround
- for this is to use \l{QWidget::}{setGeometry()} with a width/height 1
- pixel bigger than your geometry and call \l{QWidget::}{show()}.
-
- \o A bug in the Firebird database can cause an application to crash when
- \c{fbembed.dll} is unloaded. The bug is fixed in version 2.5.
-
- \o On Windows 7, resizing windows is slower than on Vista/Xp. This is because
- the gesture initialization process (required for native gesture support)
- currently calls winId() on widgets, which causes whole widget hierarchies
- to use native window handles. This slows down resizing.
-
- \o Compile errors with Intel C++ Compiler.\br
- There seems to be a bug in the Intel compiler with respect to
- over-agressive inlining of code.
- The problem will manifest itself during the link phase of QtGui where
- it fails with the error that it cannot find QObjectData::~QObjectData().
- See \l{http://bugreports.qt.nokia.com/browse/QTBUG-5145} for updates on this
- bug.
- Also, due to some bugs in WebKit, the QtScript and QtWebKit modules
- will not compile.
- See \l{http://bugreports.qt.nokia.com/browse/QTBUG-6297} for a
- workaround for QtScript.
-
- \o Compile errors with Microsoft Visual C++ compiler. \br
- There seems to be a bug in the Microsoft compiler when compiling with O2
- optimization level in 64 bit.
- This problem will result in crashes in QAbstractItemView::viewOptions().
- See \l{http://bugreports.qt.nokia.com/browse/QTBUG-11445} for updates on this
- bug.
-
-
- \endlist
-
- \section2 Mac OS X
-
- \list
-
- \o If a sheet is opened for a given window, clicking the title bar of that
- window will cause it to flash. This behavior has been reported to Apple
- (bug number 5827676).
-
- \endlist
-
- \section2 Symbian
-
- \list
- \o Check known issues for Symbian at
- \l{http://qt.gitorious.org/qt/pages/QtKnownIssues} {Known Issues Wiki}.
\endlist
*/
diff --git a/doc/src/objectmodel/signalsandslots.qdoc b/doc/src/objectmodel/signalsandslots.qdoc
index 09c427b..c12ca78 100644
--- a/doc/src/objectmodel/signalsandslots.qdoc
+++ b/doc/src/objectmodel/signalsandslots.qdoc
@@ -336,7 +336,7 @@
If on the other hand you want to call two different error
functions when the number overflows, simply connect the signal to
- two different slots. Qt will call both (in arbitrary order).
+ two different slots. Qt will call both (in the order they were connected).
\snippet doc/src/snippets/signalsandslots/lcdnumber.h 10
\snippet doc/src/snippets/signalsandslots/lcdnumber.h 11
@@ -427,6 +427,10 @@
\snippet doc/src/snippets/signalmapper/filereader.cpp 1
+ \note The following code will compile and run, but due to signature normalization, the code will be slower.
+
+ \snippet doc/src/snippets/signalmapper/filereader.cpp 2
+
\sa {Meta-Object System}, {Qt's Property System}
\target 3rd Party Signals and Slots
diff --git a/doc/src/qt4-intro.qdoc b/doc/src/qt4-intro.qdoc
index 8684ad2..919bb88 100644
--- a/doc/src/qt4-intro.qdoc
+++ b/doc/src/qt4-intro.qdoc
@@ -476,7 +476,7 @@
QML UIs through drag-and-drop. The text editor supports the QML
syntax and provides authoring assistance such as auto-completion,
error lookup, help lookup and easy preview of QML UI's. The Qt
- Quick features in Qt Creator will be released with Qt Creator 2.1
+ Quick features in Qt Creator will be released with Qt Creator 2.1
\endlist
\section1 Network Bearer Management
@@ -489,14 +489,72 @@
QNetworkAccessManager uses this API for HTTP level roaming.
- \section1 Multimedia - playback and declarative elements
+ \section1 Feature Improvements in QtWebKit
- The Multimedia API provides media playback and playlist support
- for Qt Applications. Play music and movies through a single interface
- with selectable output for movies to widgets or graphics view.
+ The QGraphicsWebView class has a new tiled backing store, which
+ improves scrolling and zooming performance. You can even create
+ animated zoom-in or zoom-out effects (see
+ QWebSettings::TiledBackingStoreEnabled).
- Multimedia support for Quick is also available with the new multimedia
- declarative elements.
+ On mobile platforms, it is often useful to avoid displaying
+ separate scrollbars for iframes and framesets. If you switch on
+ frame flattening, QtWebKit will resize frames to fit their content
+ to avoid separate scrollbars (see
+ QWebSettings::FrameFlatteningEnabled).
+
+ Qt 4.7 adds support for accelerated compositing, which enhances
+ the performance of CSS animations and transitions. Read more in
+ \l{http://labs.trolltech.com/blogs/2010/05/17/qtwebkit-now-accelerates-css-animations-3d-transforms/}{this blog}.
+
+ For hybrid QtWebKit and C++ projects, Qt 4.7 has added support for
+ transporting \l{QPixmap}s between Qt C++ and WebKit. We have also
+ improved the documentation hybrid development. Read more here:
+ \l{The QtWebKit Bridge}.
+
+ \section1 QtWebKit Performance Benchmarks
+
+ We have introduced a set of performance benchmarks for QtWebKit,
+ and made numerous improvements in rendering performance, page
+ loading performance, scrolling performance and CSS performance.
+ Here are some examples from the benchmarks run on a 64-bit Linux
+ workstation with the raster graphics system.
+
+ In a benchmark that measures the scrolling performance on popular
+ websites, we found out that Qt 4.7.0 on this platform is 350%
+ faster than Qt 4.6.0, thanks to several rendering related
+ improvements.
+
+ Our page loading benchmark shows an improvement of 16% in Qt 4.7.0
+ from Qt 4.6.0. This is due to improvements in text layout speed,
+ image decoding, resource loading and event handling.
+
+ Several CSS animation benchmarks indicate a speed improvement of
+ 31% from Qt 4.6.0 to Qt 4.7.0. These benchmarks are effectively
+ showing the improvement we get from accelerated compositing (see
+ above).
+
+ \section1 Other Performance Related Improvements
+
+ In addition to the QtWebKit module, performance has been a focus
+ area in Qt 4.7 throughout the Qt framework. Here are a couple of
+ examples about performance related feature improvements.
+
+ On Mac OS X, Qt now uses a different widget implementation (called
+ "alien widgets"), which improves the responsiveness of
+ applications that have complex user interfaces with several
+ widgets.
+
+ Qt 4.7 introduces the QStaticText class, which can be used to
+ improve text rendering performance. More info is available from
+ \l{http://labs.trolltech.com/blogs/2010/03/01/insanity-is-shaping-the-same-text-again-and-expecting-a-different-result/}{this blog}.
+
+ The QPainter class has a new API for rendering pixmap fragments
+ (QPainter::drawPixmapFragments), which can improve the rendering
+ performance of applications that need to render
+ \l{QPainter::drawPixmapFragments()}{pixmap fragments}.
+
+ Qt 4.7 has an updated version of the JavaScriptCore engine for the
+ QtScript module, which improves JavaScript execution performance.
\section1 New Classes, Functions, Macros, etc.
diff --git a/doc/src/snippets/code/src_corelib_kernel_qvariant.cpp b/doc/src/snippets/code/src_corelib_kernel_qvariant.cpp
index fd3f5d2..472c90e 100644
--- a/doc/src/snippets/code/src_corelib_kernel_qvariant.cpp
+++ b/doc/src/snippets/code/src_corelib_kernel_qvariant.cpp
@@ -101,7 +101,7 @@ QVariant v;
MyCustomStruct c;
if (v.canConvert<MyCustomStruct>())
- c = v.value<MyCustomStruct>(v);
+ c = v.value<MyCustomStruct>();
v = 7;
int i = v.value<int>(); // same as v.toInt()
diff --git a/doc/src/snippets/declarative/text/onLinkActivated.qml b/doc/src/snippets/declarative/text/onLinkActivated.qml
new file mode 100644
index 0000000..0fb236a
--- /dev/null
+++ b/doc/src/snippets/declarative/text/onLinkActivated.qml
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+import Qt 4.7
+
+Rectangle {
+ width: 700; height: 400
+
+//![0]
+ Text {
+ textFormat: Text.RichText
+ text: "The main website is at <a href=\"http://qt.nokia.com\">Nokia Qt DF</a>."
+ onLinkActivated: console.log(link + " link activated")
+ }
+//![0]
+
+}
+
diff --git a/doc/src/snippets/layouts/layouts.cpp b/doc/src/snippets/layouts/layouts.cpp
index 66c9b9d..58440f5 100644
--- a/doc/src/snippets/layouts/layouts.cpp
+++ b/doc/src/snippets/layouts/layouts.cpp
@@ -66,7 +66,9 @@ int main(int argc, char *argv[])
layout->addWidget(button5);
window->setLayout(layout);
-//! [4] //! [5]
+//! [4]
+ window->setWindowTitle("QHBoxLayout");
+//! [5]
window->show();
//! [5]
}
@@ -93,7 +95,9 @@ int main(int argc, char *argv[])
layout->addWidget(button5);
window->setLayout(layout);
-//! [10] //! [11]
+//! [10]
+ window->setWindowTitle("QVBoxLayout");
+//! [11]
window->show();
//! [11]
}
@@ -120,10 +124,42 @@ int main(int argc, char *argv[])
layout->addWidget(button5, 2, 1);
window->setLayout(layout);
-//! [16] //! [17]
+//! [16]
+ window->setWindowTitle("QGridLayout");
+//! [17]
window->show();
//! [17]
}
+ {
+//! [18]
+ QWidget *window = new QWidget;
+//! [18]
+//! [19]
+ QPushButton *button1 = new QPushButton("One");
+ QLineEdit *lineEdit1 = new QLineEdit();
+//! [19]
+//! [20]
+ QPushButton *button2 = new QPushButton("Two");
+ QLineEdit *lineEdit2 = new QLineEdit();
+ QPushButton *button3 = new QPushButton("Three");
+ QLineEdit *lineEdit3 = new QLineEdit();
+//! [20]
+//! [21]
+ QFormLayout *layout = new QFormLayout;
+//! [21]
+//! [22]
+ layout->addRow(button1, lineEdit1);
+ layout->addRow(button2, lineEdit2);
+ layout->addRow(button3, lineEdit3);
+
+ window->setLayout(layout);
+//! [22]
+ window->setWindowTitle("QFormLayout");
+//! [23]
+ window->show();
+//! [23]
+ }
+
return app.exec();
}
diff --git a/doc/src/snippets/signalmapper/filereader.cpp b/doc/src/snippets/signalmapper/filereader.cpp
index 76ed4c1..08f4d06 100644
--- a/doc/src/snippets/signalmapper/filereader.cpp
+++ b/doc/src/snippets/signalmapper/filereader.cpp
@@ -66,10 +66,18 @@ FileReader::FileReader(QWidget *parent)
//! [0]
//! [1]
- connect(signalMapper, SIGNAL(mapped(const QString &)),
- this, SLOT(readFile(const QString &)));
+ connect(signalMapper, SIGNAL(mapped(QString)),
+ this, SLOT(readFile(QString)));
//! [1]
+/*
+//! [2]
+ //slower due to signature normalization at runtime
+
+ connect(signalMapper, SIGNAL(mapped(const QString &)),
+ this, SLOT(readFile(const QString &)));
+//! [2]
+*/
QHBoxLayout *buttonLayout = new QHBoxLayout;
buttonLayout->addWidget(taxFileButton);
buttonLayout->addWidget(accountFileButton);
diff --git a/doc/src/template/style/style.css b/doc/src/template/style/style.css
index 6cc1cb6..b60aa41 100755
--- a/doc/src/template/style/style.css
+++ b/doc/src/template/style/style.css
@@ -193,7 +193,7 @@
/* font style elements */
.heading
{
- font: normal bold 16px/1.0 Arial;
+ font: normal bold 16px/1.2 Arial;
padding-bottom: 15px;
}
.subtitle
@@ -670,7 +670,7 @@
.wrap .toolbar .breadcrumb
{
font-size: 11px;
- line-height: 1;
+ line-height: 1.2;
padding: 0 0 10px 21px;
height: 10px;
}
@@ -779,26 +779,27 @@
.wrap .content ol li {
background:none;
- font:normal 10pt/1 Verdana;
+ font:normal 10pt/1.2 Verdana;
margin-bottom:10px;
margin-left:12px;
/*list-style-type:disc;*/
}
-
- .wrap .content li
- {
- background: url(../images/bullet_sq.png) no-repeat 0 5px;
- font: normal 400 10pt/1 Verdana;
- margin-bottom: 10px;
- padding-left:12px;
- }
.wrap .content ol li
{
background:none;
margin-bottom: 10px;
padding-left:0px;
+ margin-left:52px;
+ }
+
+ .wrap .content li
+ {
+ background: url(../images/bullet_sq.png) no-repeat 0 5px;
+ font: normal 400 10pt/1.2 Verdana;
+ margin-bottom: 10px;
+ padding-left:12px;
}
.content li:hover {}
@@ -829,7 +830,7 @@
.wrap .content table p
{
line-height: 20px;
- padding: 0px;
+ /* padding: 0px;*/
}
.wrap .content ul
{
@@ -858,7 +859,7 @@
text-decoration: underline;
}
.alphaChar{
- width:100%;
+ width:95%;
background-color:#F6F6F6;
border:1px solid #E6E6E6;
-moz-border-radius: 7px 7px 7px 7px;
@@ -870,16 +871,39 @@
margin-bottom:10px;
}
.flowList{
- vertical-align:top;
+ /*vertical-align:top;*/
+ /*margin:20px auto;*/
+
+ column-count:3;
+ -webkit-column-count:3;
+ -moz-column-count:3;
+/*
+ column-width:100%;
+ -webkit-column-width:200px;
+ -col-column-width:200px;
+*/
+ column-gap:41px;
+ -webkit-column-gap:41px;
+ -moz-column-gap:41px;
+
+ column-rule: 1px dashed #ccc;
+ -webkit-column-rule: 1px dashed #ccc;
+ -moz-column-rule: 1px dashed #ccc;
}
.flowList dl{
}
.flowList dd{
- display:inline-block;
+ /*display:inline-block;*/
margin-left:10px;
- width:250px;
+ min-width:250px;
+ line-height: 1.2;
+
+ }
+
+ .flowList dd a{
}
+
.wrap .content .flowList p{
padding:0px;
}
@@ -938,7 +962,7 @@
padding: 5px 5px 0 0;
margin-bottom: 3px;
color: #363534;
- font-weight: 600;
+ font-weight:bold;
float: right;
text-decoration: none;
}
@@ -1003,7 +1027,7 @@
.generic{
}
.generic td{
- padding:5px;
+ /* padding:5px;*/
}
.generic .alphaChar{
margin-top:5px;
@@ -1330,6 +1354,9 @@
background-color: #FAFAFA;
}
+ .wrap .content ol li {
+
+ }
.creator .header, .footer, .wrapper
@@ -1373,10 +1400,17 @@
.creator .footer
{
border-top:1px solid #E5E5E5;
- min-height: 100px;
+ height: 50px;
margin:0px;
+ padding:10px;
}
+ .creator .footer p
+ {
+ text-align:justify;
+ max-width:900px;
+ }
+
.creator .wrap
{
@@ -1423,7 +1457,7 @@
max-width:75%;
}
.creator .generic td{
- padding:0;
+ /*padding:0;*/
}
.creator .indexboxbar
{
diff --git a/doc/src/tutorials/modelview.qdoc b/doc/src/tutorials/modelview.qdoc
index 65f6674..e47fe83 100644
--- a/doc/src/tutorials/modelview.qdoc
+++ b/doc/src/tutorials/modelview.qdoc
@@ -30,7 +30,7 @@
\startpage {index.html}{Qt Reference Documentation}
- \title Model/View Contents
+ \title Model/View Tutorial
\brief An introduction to ModelView programming
Every UI developer should know about ModelView programming and the goal of
@@ -103,13 +103,13 @@
Let's have a closer look at a standard table widget. A table widget is a 2D
array of the data elements that the user can change. The table widget can be
integrated into a program flow by reading and writing the data elements that
- the table widget provides. This method is very intuitive and useful in many
- applications.
-
- Displaying and editing a database table with a standard table widget can be
- problematic. Two copies of the data have to be coordinated: one outside the
+ the table widget provides.
+
+ This method is very intuitive and useful in many applications, but displaying
+ and editing a database table with a standard table widget can be problematic.
+ Two copies of the data have to be coordinated: one outside the
widget; one inside the widget. The developer is responsible for
- synchronizing both versions. The tight coupling of presentation and data
+ synchronizing both versions. Besides this, the tight coupling of presentation and data
makes it harder to write unit tests.
\section2 1.2 Model/View to the Rescue
@@ -184,7 +184,13 @@
\section1 2. A Simple Model/View Application
- If you want to develop a model/view application, where should you start? We recommend starting with a simple example and extending it step-by-step. This makes understanding the architecture a lot easier. Trying to understand the model/view architecture in detail before invoking the IDE has proven to be less convenient for many developers. It is substantially easier to start with a simple model/view application that has demo data. Give it a try! Simply replace the data in the examples below with your own.
+ If you want to develop a model/view application, where should you start?
+ We recommend starting with a simple example and extending it step-by-step.
+ This makes understanding the architecture a lot easier. Trying to understand
+ the model/view architecture in detail before invoking the IDE has proven
+ to be less convenient for many developers. It is substantially easier to
+ start with a simple model/view application that has demo data. Give it a
+ try! Simply replace the data in the examples below with your own.
Below are 7 very simple and independent applications that show different
sides of model/view programming. The source code can be found inside the
@@ -596,20 +602,22 @@
\list 1
\o \bold{C++ GUI Programming with Qt 4} / Jasmin Blanchette, Mark Summerfield,
\e{Prentice Hall, 2nd edition}, ISBN 0-13-235416-0. Also available in
- German: C++ GUI Programmierung mit Qt 4: Die offizielle Einführung,
+ German: \bold{C++ GUI Programmierung mit Qt 4: Die offizielle Einführung},
\e{Addison-Wesley}, ISBN 3-827327-29-6
\o \bold{The Book of Qt4, The Art of Building Qt Applications} / Daniel Molkentin,
\e{Open Source Press}, ISBN 1-59327-147-6.
Translated from \bold{Qt 4, Einführung in die Applikationsentwicklung},
\e{Open Source Press}, ISBN 3-937514-12-0.
\o \bold{Foundations of Qt Development} / Johan Thelin, \e{Apress}, ISBN 1-59059-831-8.
+ \o \bold{Advanced Qt Programming} / Mark Summerfield, \e{Prentice Hall}, ISBN 0-321-63590-6.
+ This book covers Model/View programming on more than 150 pages.
\endlist
More information about these books is available on the
\l{Books about Qt Programming}{Qt Web site}.
- The following list provides an overview of example programs contained in the
- books above. Some of them make very good templates for developing similar
+ The following list provides an overview of example programs contained in the first three
+ books listed above. Some of them make very good templates for developing similar
applications.
\table
diff --git a/doc/src/widgets-and-layouts/layout.qdoc b/doc/src/widgets-and-layouts/layout.qdoc
index 32dddd7..4db991a 100644
--- a/doc/src/widgets-and-layouts/layout.qdoc
+++ b/doc/src/widgets-and-layouts/layout.qdoc
@@ -116,7 +116,7 @@
\section2 Laying Out Widgets in Code
The following code creates a QHBoxLayout that manages the geometry of five
- \l{QPushButton}s, as shown on the first screenshot above:
+ \l{QPushButton}{QPushButtons}, as shown on the first screenshot above:
\snippet doc/src/snippets/layouts/layouts.cpp 0
\snippet doc/src/snippets/layouts/layouts.cpp 1
@@ -141,7 +141,19 @@
The third QPushButton spans 2 columns. This is possible by specifying 2 as
the fifth argument to QGridLayout::addWidget().
- Finally, the code for QFormLayout is ..
+ QFormLayout will add two widgets on a row, commonly a QLabel and a QLineEdit
+ to create forms. Adding a QLabel and a QLineEdit on the same row will set
+ the QLineEdit as the QLabel's buddy. The following code will use the
+ QFormLayout to place three \l{QPushButton}{QPushButtons} and a corresponding
+ QLineEdit on a row.
+
+ \snippet doc/src/snippets/layouts/layouts.cpp 18
+ \snippet doc/src/snippets/layouts/layouts.cpp 19
+ \snippet doc/src/snippets/layouts/layouts.cpp 20
+ \codeline
+ \snippet doc/src/snippets/layouts/layouts.cpp 21
+ \snippet doc/src/snippets/layouts/layouts.cpp 22
+ \snippet doc/src/snippets/layouts/layouts.cpp 23
\section2 Tips for Using Layouts
diff --git a/examples/tutorials/modelview/3_changingmodel/mymodel.cpp b/examples/tutorials/modelview/3_changingmodel/mymodel.cpp
index 42915b0..7d78aa7 100755
--- a/examples/tutorials/modelview/3_changingmodel/mymodel.cpp
+++ b/examples/tutorials/modelview/3_changingmodel/mymodel.cpp
@@ -38,9 +38,8 @@
**
****************************************************************************/
-#include <QTimer>
-#include <QTime>
#include <QBrush>
+#include <QTime>
#include "mymodel.h"
//! [quoting mymodel_a]
diff --git a/examples/tutorials/modelview/5_edit/mainwindow.h b/examples/tutorials/modelview/5_edit/mainwindow.h
index ac5b77b..41b15d1 100755
--- a/examples/tutorials/modelview/5_edit/mainwindow.h
+++ b/examples/tutorials/modelview/5_edit/mainwindow.h
@@ -42,7 +42,11 @@
#define MAINWINDOW_H
#include <QtGui/QMainWindow>
-#include <QtGui/QTableView>
+
+QT_BEGIN_NAMESPACE // QT_BEGIN_NAMESPACE / QT_END_NAMESPACE are not needed in Qt user code
+class QTableView; //forward declaration
+QT_END_NAMESPACE
+
class MainWindow : public QMainWindow
{
diff --git a/examples/tutorials/modelview/6_treeview/mainwindow.h b/examples/tutorials/modelview/6_treeview/mainwindow.h
index 4c4ddb0..16d3140 100755
--- a/examples/tutorials/modelview/6_treeview/mainwindow.h
+++ b/examples/tutorials/modelview/6_treeview/mainwindow.h
@@ -42,8 +42,12 @@
#define MAINWINDOW_H
#include <QtGui/QMainWindow>
-#include <QtGui/QTreeView>
-#include <QtGui/QStandardItemModel>
+
+QT_BEGIN_NAMESPACE // QT_BEGIN_NAMESPACE / QT_END_NAMESPACE are not needed in Qt user code
+class QTreeView; //forward declarations
+class QStandardItemModel;
+class QStandardItem;
+QT_END_NAMESPACE
class MainWindow : public QMainWindow
diff --git a/examples/tutorials/modelview/7_selections/mainwindow.h b/examples/tutorials/modelview/7_selections/mainwindow.h
index a8f8488..0d2dd0e 100755
--- a/examples/tutorials/modelview/7_selections/mainwindow.h
+++ b/examples/tutorials/modelview/7_selections/mainwindow.h
@@ -42,8 +42,12 @@
#define MAINWINDOW_H
#include <QtGui/QMainWindow>
-#include <QtGui/QTreeView>
-#include <QtGui/QStandardItemModel>
+
+QT_BEGIN_NAMESPACE // QT_BEGIN_NAMESPACE / QT_END_NAMESPACE are not needed in Qt user code
+class QTreeView; //forward declarations
+class QStandardItemModel;
+class QItemSelection;
+QT_END_NAMESPACE
class MainWindow : public QMainWindow
diff --git a/src/corelib/global/qnumeric.cpp b/src/corelib/global/qnumeric.cpp
index 75fd31e..7ddb9e2 100644
--- a/src/corelib/global/qnumeric.cpp
+++ b/src/corelib/global/qnumeric.cpp
@@ -44,14 +44,49 @@
QT_BEGIN_NAMESPACE
+/*!
+ Returns true if the double \a {d} is equivalent to infinity.
+*/
Q_CORE_EXPORT bool qIsInf(double d) { return qt_is_inf(d); }
+
+/*!
+ Returns true if the double \a {d} is not a number (NaN).
+*/
Q_CORE_EXPORT bool qIsNaN(double d) { return qt_is_nan(d); }
+
+/*!
+ Returns true if the double \a {d} is a finite number.
+*/
Q_CORE_EXPORT bool qIsFinite(double d) { return qt_is_finite(d); }
+
+/*!
+ Returns true if the float \a {f} is equivalent to infinity.
+*/
Q_CORE_EXPORT bool qIsInf(float f) { return qt_is_inf(f); }
+
+/*!
+ Returns true if the float \a {f} is not a number (NaN).
+*/
Q_CORE_EXPORT bool qIsNaN(float f) { return qt_is_nan(f); }
+
+/*!
+ Returns true if the float \a {f} is a finite number.
+*/
Q_CORE_EXPORT bool qIsFinite(float f) { return qt_is_finite(f); }
+
+/*!
+ Returns the bit pattern of a signalling NaN as a double.
+*/
Q_CORE_EXPORT double qSNaN() { return qt_snan(); }
+
+/*!
+ Returns the bit pattern of a quiet NaN as a double.
+*/
Q_CORE_EXPORT double qQNaN() { return qt_qnan(); }
+
+/*!
+ Returns the bit pattern for an infinite number as a double.
+*/
Q_CORE_EXPORT double qInf() { return qt_inf(); }
diff --git a/src/corelib/kernel/qmath.qdoc b/src/corelib/kernel/qmath.qdoc
new file mode 100644
index 0000000..48f74b6
--- /dev/null
+++ b/src/corelib/kernel/qmath.qdoc
@@ -0,0 +1,155 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 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$
+** Commercial Usage
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in a
+** written agreement between you and Nokia.
+**
+** 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.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \headerfile <QtCore/qmath.h>
+ \title Math Functions
+ \ingroup funclists
+ \brief The <QtCore/qmath.h> header provides various math functions.
+ \pagekeywords math trigonometry qmath floor ceiling absolute sine cosine tangent inverse tan exponent power natural logarithm
+*/
+
+/*!
+ \fn int qCeil(qreal v)
+ Return the ceiling of the value \a v.
+
+ The ceiling is the smallest integer that is not less than \a v.
+ For example, if \a v is 41.2, then the ceiling is 42.
+
+ \relates <QtCore/qmath.h>
+ \sa qFloor()
+*/
+
+/*!
+ \fn int qFloor(qreal v)
+ Return the floor of the value \a v.
+
+ The floor is the largest integer that is not greater than \a v.
+ For example, if \a v is 41.2, then the floor is 41.
+
+ \relates <QtCore/qmath.h>
+ \sa qCeil()
+*/
+
+/*!
+ \fn qreal qFabs(qreal v)
+ Returns the absolute value of \a v as a qreal.
+*/
+
+/*!
+ \fn qreal qSin(qreal v)
+ Returns the sine of the angle \a v in radians.
+
+ \relates <QtCore/qmath.h>
+ \sa qCos(), qTan()
+*/
+
+/*!
+ \fn qreal qCos(qreal v)
+ Returns the cosine of an angle \a v in radians.
+
+ \relates <QtCore/qmath.h>
+ \sa qSin(), qTan()
+*/
+
+/*!
+ \fn qreal qTan(qreal v)
+ Returns the tangent of an angle \a v in radians.
+
+ \relates <QtCore/qmath.h>
+ \sa qSin(), qCos()
+*/
+
+/*!
+ \fn qreal qAcos(qreal v)
+ Returns the arccosine of \a v as an angle in radians.
+ Arccosine is the inverse operation of cosine.
+
+ \relates <QtCore/qmath.h>
+ \sa qAtan(), qAsin(), qCos()
+*/
+
+/*!
+ \fn qreal qAsin(qreal v)
+ Returns the arcsine of \a v as an angle in radians.
+ Arcsine is the inverse operation of sine.
+
+ \relates <QtCore/qmath.h>
+ \sa qSin(), qAtan(), qAcos()
+*/
+
+/*!
+ \fn qreal qAtan(qreal v)
+ Returns the arctangent of \a v as an angle in radians.
+ Arctangent is the inverse operation of tangent.
+
+ \relates <QtCore/qmath.h>
+ \sa qTan(), qAcos(), qAsin()
+*/
+
+/*!
+ \fn qreal qAtan2(qreal x, qreal y)
+ Returns the arctangent of a point specified by the coordinates \a x and \a y.
+ This function will return the angle and its direction.
+
+ \relates <QtCore/qmath.h>
+ \sa qAtan()
+*/
+
+/*!
+ \fn qreal qSqrt(qreal v)
+ Returns the square root of \a v.
+ This function returns a NaN if \a v is a negative number.
+
+ \relates <QtCore/qmath.h>
+ \sa qPow()
+*/
+
+/*!
+ \fn qreal qLn(qreal v)
+ Returns the natural logarithm of \a v. Natural logarithm uses base e.
+
+ \relates <QtCore/qmath.h>
+ \sa qExp()
+*/
+
+/*!
+ \fn qreal qExp(qreal v)
+ Returns the exponential function of \c e to the power of \a v.
+
+ \relates <QtCore/qmath.h>
+ \sa qLn()
+*/
+
+/*!
+ \fn qreal qPow(qreal x, qreal y)
+ Returns the value of \a x raised to the power of \a y.
+ That is, \a x is the base and \a y is the exponent.
+
+ \relates <QtCore/qmath.h>
+ \sa qSqrt()
+*/
diff --git a/src/corelib/kernel/qpointer.cpp b/src/corelib/kernel/qpointer.cpp
index 5cd0220..fbfb961 100644
--- a/src/corelib/kernel/qpointer.cpp
+++ b/src/corelib/kernel/qpointer.cpp
@@ -41,7 +41,7 @@
/*!
\class QPointer
- \brief The QPointer class is a template class that provides guarded pointers to QObjects.
+ \brief The QPointer class is a template class that provides guarded pointers to QObject.
\ingroup objectmodel
diff --git a/src/corelib/statemachine/qstatemachine.cpp b/src/corelib/statemachine/qstatemachine.cpp
index 9d5c49f..4b371f7 100644
--- a/src/corelib/statemachine/qstatemachine.cpp
+++ b/src/corelib/statemachine/qstatemachine.cpp
@@ -2135,6 +2135,7 @@ void QStateMachine::endMicrostep(QEvent *event)
/*!
\reimp
+ This function will call start() to start the state machine.
*/
void QStateMachine::onEntry(QEvent *event)
{
@@ -2144,6 +2145,8 @@ void QStateMachine::onEntry(QEvent *event)
/*!
\reimp
+ This function will call stop() to stop the state machine and
+ subsequently emit the stopped() signal.
*/
void QStateMachine::onExit(QEvent *event)
{
diff --git a/src/corelib/thread/qatomic.cpp b/src/corelib/thread/qatomic.cpp
index 743da24..697da38 100644
--- a/src/corelib/thread/qatomic.cpp
+++ b/src/corelib/thread/qatomic.cpp
@@ -48,10 +48,9 @@
For atomic operations on pointers, see the QAtomicPointer class.
- An complex operation that completes without interruption is said
- to be \e atomic. The QAtomicInt class provides atomic reference
- counting, test-and-set, fetch-and-store, and fetch-and-add for
- integers.
+ An \e atomic operation is a complex operation that completes without interruption.
+ The QAtomicInt class provides atomic reference counting, test-and-set, fetch-and-store,
+ and fetch-and-add for integers.
\section1 Non-atomic convenience operators
@@ -635,9 +634,8 @@
For atomic operations on integers, see the QAtomicInt class.
- An complex operation that completes without interruption is said
- to be \e atomic. The QAtomicPointer class provides atomic
- test-and-set, fetch-and-store, and fetch-and-add for pointers.
+ An \e atomic operation is a complex operation that completes without interruption.
+ The QAtomicPointer class provides atomic test-and-set, fetch-and-store, and fetch-and-add for pointers.
\section1 Non-atomic convenience operators
diff --git a/src/corelib/tools/qstring.cpp b/src/corelib/tools/qstring.cpp
index 2813b29..3521b31 100644
--- a/src/corelib/tools/qstring.cpp
+++ b/src/corelib/tools/qstring.cpp
@@ -3708,7 +3708,7 @@ QByteArray QString::toUtf8() const
Returns a UCS-4/UTF-32 representation of the string as a QVector<uint>.
UCS-4 is a Unicode codec and is lossless. All characters from this string
- can be encoded in UCS-4.
+ can be encoded in UCS-4. The vector is not null terminated.
\sa fromUtf8(), toAscii(), toLatin1(), toLocal8Bit(), QTextCodec, fromUcs4(), toWCharArray()
*/
@@ -3950,8 +3950,8 @@ QString QString::fromUtf8(const char *str, int size)
This function checks for a Byte Order Mark (BOM). If it is missing,
host byte order is assumed.
- This function is comparatively slow.
- Use QString(const ushort *, int) or QString(const ushort *) if possible.
+ This function is slow compared to the other Unicode conversions.
+ Use QString(const QChar *, int) or QString(const QChar *) if possible.
QString makes a deep copy of the Unicode data.
diff --git a/src/declarative/graphicsitems/qdeclarativeitem.cpp b/src/declarative/graphicsitems/qdeclarativeitem.cpp
index 0ac616d..e9da4f7 100644
--- a/src/declarative/graphicsitems/qdeclarativeitem.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeitem.cpp
@@ -2543,7 +2543,7 @@ QDeclarativeListProperty<QDeclarativeTransition> QDeclarativeItemPrivate::transi
/*!
\qmlproperty bool Item::clip
- This property holds whether clipping is enabled.
+ This property holds whether clipping is enabled. The default clip value is \c false.
If clipping is enabled, an item will clip its own painting, as well
as the painting of its children, to its bounding rectangle.
@@ -2553,9 +2553,9 @@ QDeclarativeListProperty<QDeclarativeTransition> QDeclarativeItemPrivate::transi
/*!
\property QDeclarativeItem::clip
- This property holds whether clipping is enabled.
+ This property holds whether clipping is enabled. The default clip value is \c false.
- if clipping is enabled, an item will clip its own painting, as well
+ If clipping is enabled, an item will clip its own painting, as well
as the painting of its children, to its bounding rectangle. If you set
clipping during an item's paint operation, remember to re-set it to
prevent clipping the rest of your scene.
diff --git a/src/declarative/graphicsitems/qdeclarativetext.cpp b/src/declarative/graphicsitems/qdeclarativetext.cpp
index 14194a0..1f4c1c7 100644
--- a/src/declarative/graphicsitems/qdeclarativetext.cpp
+++ b/src/declarative/graphicsitems/qdeclarativetext.cpp
@@ -1206,6 +1206,16 @@ void QDeclarativeText::mousePressEvent(QGraphicsSceneMouseEvent *event)
\qmlsignal Text::onLinkActivated(string link)
This handler is called when the user clicks on a link embedded in the text.
+ The link must be in rich text or HTML format and the
+ \a link string provides access to the particular link.
+
+ \snippet doc/src/snippets/declarative/text/onLinkActivated.qml 0
+
+ The example code will display the text
+ "The main website is at \l{http://qt.nokia.com}{Nokia Qt DF}."
+
+ Clicking on the highlighted link will output
+ \tt{http://qt.nokia.com link activated} to the console.
*/
/*!
diff --git a/src/gui/egl/qeglproperties.cpp b/src/gui/egl/qeglproperties.cpp
index eeae06d..4b8ca9a 100644
--- a/src/gui/egl/qeglproperties.cpp
+++ b/src/gui/egl/qeglproperties.cpp
@@ -260,7 +260,7 @@ bool QEglProperties::reduceConfiguration()
// those with smaller (but faster) lower color depths. One
// way around this is to set EGL_BUFFER_SIZE to 16, which
// trumps the others. Of course, there may not be a 16-bit
- // config avaliable, so it's the first restraint we remove.
+ // config available, so it's the first restraint we remove.
if (value(EGL_BUFFER_SIZE) == 16) {
removeValue(EGL_BUFFER_SIZE);
return true;
diff --git a/src/gui/graphicsview/qgraphicsscene.cpp b/src/gui/graphicsview/qgraphicsscene.cpp
index 921e121..c166c30 100644
--- a/src/gui/graphicsview/qgraphicsscene.cpp
+++ b/src/gui/graphicsview/qgraphicsscene.cpp
@@ -6138,7 +6138,7 @@ void QGraphicsScenePrivate::gestureEventHandler(QGestureEvent *event)
<< g << item.data();
}
// remember the first item that received the override event
- // as it most likely become a target if noone else accepts
+ // as it most likely become a target if no one else accepts
// the override event
if (!gestureTargets.contains(g) && item)
gestureTargets.insert(g, item.data());
diff --git a/src/gui/image/qiconloader.cpp b/src/gui/image/qiconloader.cpp
index 34f40a9..0ae54fc 100644
--- a/src/gui/image/qiconloader.cpp
+++ b/src/gui/image/qiconloader.cpp
@@ -151,7 +151,7 @@ QStringList QIconLoader::themeSearchPaths() const
{
if (m_iconDirs.isEmpty()) {
m_iconDirs = qt_guiPlatformPlugin()->iconThemeSearchPaths();
- // Allways add resource directory as search path
+ // Always add resource directory as search path
m_iconDirs.append(QLatin1String(":/icons"));
}
return m_iconDirs;
@@ -266,7 +266,7 @@ QThemeIconEntries QIconLoader::findIconHelper(const QString &themeName,
PixmapEntry *iconEntry = new PixmapEntry;
iconEntry->dir = dirInfo;
iconEntry->filename = currentDir.filePath(iconName + pngext);
- // Notice we ensure that pixmap entries allways come before
+ // Notice we ensure that pixmap entries always come before
// scalable to preserve search order afterwards
entries.prepend(iconEntry);
} else if (m_supportsSvg &&
diff --git a/src/gui/itemviews/qsortfilterproxymodel.cpp b/src/gui/itemviews/qsortfilterproxymodel.cpp
index 953a7f1..dc8d938 100644
--- a/src/gui/itemviews/qsortfilterproxymodel.cpp
+++ b/src/gui/itemviews/qsortfilterproxymodel.cpp
@@ -2230,6 +2230,14 @@ void QSortFilterProxyModel::setFilterFixedString(const QString &pattern)
\brief whether the proxy model is dynamically sorted and filtered
whenever the contents of the source model change
+ Note that you should not update the source model through the proxy
+ model when dynamicSortFilter is true. For instance, if you set the
+ proxy model on a QComboBox, then using functions that update the
+ model, e.g., \l{QComboBox::}{addItem()}, will not work as
+ expected. An alternative is to set dynamicSortFilter to false and
+ call \l{QSortFilterProxyModel::}{sort()} after adding items to the
+ QComboBox.
+
The default value is false.
*/
bool QSortFilterProxyModel::dynamicSortFilter() const
diff --git a/src/gui/kernel/qkeysequence.cpp b/src/gui/kernel/qkeysequence.cpp
index c2f275a..50b2354 100644
--- a/src/gui/kernel/qkeysequence.cpp
+++ b/src/gui/kernel/qkeysequence.cpp
@@ -590,7 +590,7 @@ static const struct {
//: Button that will hang up if we're in call, or make a call if we're not.
{ Qt::Key_ToggleCallHangup, QT_TRANSLATE_NOOP("QShortcut", "Toggle Call/Hangup") },
{ Qt::Key_Flip, QT_TRANSLATE_NOOP("QShortcut", "Flip") },
- //: Button to trigger voice dialling
+ //: Button to trigger voice dialing
{ Qt::Key_VoiceDial, QT_TRANSLATE_NOOP("QShortcut", "Voice Dial") },
//: Button to redial the last number called
{ Qt::Key_LastNumberRedial, QT_TRANSLATE_NOOP("QShortcut", "Last Number Redial") },
diff --git a/src/gui/kernel/qwidget.cpp b/src/gui/kernel/qwidget.cpp
index ea3dcab..dc0dbf4 100644
--- a/src/gui/kernel/qwidget.cpp
+++ b/src/gui/kernel/qwidget.cpp
@@ -1194,7 +1194,7 @@ void QWidgetPrivate::adjustFlags(Qt::WindowFlags &flags, QWidget *w)
flags |= Qt::WindowTitleHint;
}
if (customize)
- ; // don't modify window flags if the user explicitely set them.
+ ; // don't modify window flags if the user explicitly set them.
else if (type == Qt::Dialog || type == Qt::Sheet)
#ifndef Q_WS_WINCE
flags |= Qt::WindowTitleHint | Qt::WindowSystemMenuHint | Qt::WindowContextHelpButtonHint | Qt::WindowCloseButtonHint;
@@ -7500,7 +7500,7 @@ void QWidgetPrivate::hide_helper()
A hidden widget will only become visible when show() is called on
it. It will not be automatically shown when the parent is shown.
- To check visiblity, use !isVisible() instead (notice the exclamation mark).
+ To check visibility, use !isVisible() instead (notice the exclamation mark).
isHidden() implies !isVisible(), but a widget can be not visible
and not hidden at the same time. This is the case for widgets that are children of
@@ -11099,7 +11099,7 @@ void QWidget::updateMicroFocus()
{
#if !defined(QT_NO_IM) && (defined(Q_WS_X11) || defined(Q_WS_QWS) || defined(Q_OS_SYMBIAN))
Q_D(QWidget);
- // and optimisation to update input context only it has already been created.
+ // and optimization to update input context only it has already been created.
if (d->ic || qApp->d_func()->inputContext) {
QInputContext *ic = inputContext();
if (ic)
@@ -11844,8 +11844,8 @@ QWidget *QWidgetPrivate::widgetInNavigationDirection(Direction direction)
Tells us if it there is currently a reachable widget by keypad navigation in
a certain \a orientation.
- If no navigation is possible, occuring key events in that \a orientation may
- be used to interact with the value in the focussed widget, even though it
+ If no navigation is possible, occurring key events in that \a orientation may
+ be used to interact with the value in the focused widget, even though it
currently has not the editFocus.
\sa QWidgetPrivate::widgetInNavigationDirection(), QWidget::hasEditFocus()
@@ -11865,7 +11865,7 @@ bool QWidgetPrivate::canKeypadNavigate(Qt::Orientation orientation)
one, left/right key events will be used to switch between tabs in keypad
navigation. If there is no QTabWidget, the horizontal key events can be used
to
- interact with the value in the focussed widget, even though it currently has
+ interact with the value in the focused widget, even though it currently has
not the editFocus.
\sa QWidget::hasEditFocus()
diff --git a/src/gui/painting/qpainter.cpp b/src/gui/painting/qpainter.cpp
index c6046ac..12be93e 100644
--- a/src/gui/painting/qpainter.cpp
+++ b/src/gui/painting/qpainter.cpp
@@ -8798,7 +8798,7 @@ QPainterPath QPaintEngineState::clipPath() const
}
/*!
- Returns wether clipping is enabled or not in the current paint
+ Returns whether clipping is enabled or not in the current paint
engine state.
This variable should only be used when the state() returns a
diff --git a/src/gui/painting/qregion.cpp b/src/gui/painting/qregion.cpp
index bfeef72..3412f9b 100644
--- a/src/gui/painting/qregion.cpp
+++ b/src/gui/painting/qregion.cpp
@@ -1699,8 +1699,8 @@ QT_BEGIN_INCLUDE_NAMESPACE
#include <limits.h>
QT_END_INCLUDE_NAMESPACE
-/* 1 if two BOXs overlap.
- * 0 if two BOXs do not overlap.
+/* 1 if two BOXes overlap.
+ * 0 if two BOXes do not overlap.
* Remember, x2 and y2 are not in the region
*/
#define EXTENTCHECK(r1, r2) \
diff --git a/src/gui/text/qfontengine.cpp b/src/gui/text/qfontengine.cpp
index a3f4d8a..0dfd295 100644
--- a/src/gui/text/qfontengine.cpp
+++ b/src/gui/text/qfontengine.cpp
@@ -721,7 +721,7 @@ void QFontEngine::setGlyphCache(void *key, QFontEngineGlyphCache *data)
return;
// Limit the glyph caches to 4. This covers all 90 degree rotations and limits
- // memory use when there is continous or random rotation
+ // memory use when there is continuous or random rotation
if (m_glyphCaches.size() == 4)
delete m_glyphCaches.takeLast().cache;
diff --git a/src/gui/text/qtextdocument.cpp b/src/gui/text/qtextdocument.cpp
index 195dc28..c35069f 100644
--- a/src/gui/text/qtextdocument.cpp
+++ b/src/gui/text/qtextdocument.cpp
@@ -291,7 +291,18 @@ QTextCodec *Qt::codecForHtml(const QByteArray &ba)
by an editor widget through the undo() and redo() slots; the document also
provides contentsChanged(), undoAvailable(), and redoAvailable() signals
that inform connected editor widgets about the state of the undo/redo
- system.
+ system. The following are the undo/redo operations of a QTextDocument:
+
+ \list
+ \o Insertion or removal of characters. A sequence of insertions or removals
+ within the same text block are regarded as a single undo/redo operation.
+ \o Insertion or removal of text blocks. Sequences of insertion or removals
+ in a single operation (e.g., by selecting and then deleting text) are
+ regarded as a single undo/redo operation.
+ \o Text character format changes.
+ \o Text block format changes.
+ \o Text block group format changes.
+ \endlist
\sa QTextCursor, QTextEdit, \link richtext.html Rich Text Processing\endlink , {Text Object Example}
*/
diff --git a/src/gui/text/qtextobject.cpp b/src/gui/text/qtextobject.cpp
index d25fb05..ea2ef2d 100644
--- a/src/gui/text/qtextobject.cpp
+++ b/src/gui/text/qtextobject.cpp
@@ -616,6 +616,7 @@ void QTextFramePrivate::remove_me()
/*!
Returns an iterator pointing to the first document element inside the frame.
+ Please see the document \l{STL-style-Iterators} for more information.
\sa end()
*/
@@ -628,8 +629,8 @@ QTextFrame::iterator QTextFrame::begin() const
}
/*!
- Returns an iterator pointing to the last document element inside the frame.
-
+ Returns an iterator pointing to the position past the last document element inside the frame.
+ Please see the document \l{STL-Style Iterators} for more information.
\sa begin()
*/
QTextFrame::iterator QTextFrame::end() const
diff --git a/src/gui/widgets/qlinecontrol.cpp b/src/gui/widgets/qlinecontrol.cpp
index 4d47c82..f338f40 100644
--- a/src/gui/widgets/qlinecontrol.cpp
+++ b/src/gui/widgets/qlinecontrol.cpp
@@ -536,7 +536,7 @@ void QLineControl::draw(QPainter *painter, const QPoint &offset, const QRect &cl
\internal
Sets the selection to cover the word at the given cursor position.
- The word boundries is defined by the behavior of QTextLayout::SkipWords
+ The word boundaries are defined by the behavior of QTextLayout::SkipWords
cursor mode.
*/
void QLineControl::selectWordAtPos(int cursor)
@@ -1211,7 +1211,7 @@ void QLineControl::internalRedo()
/*!
\internal
- If the current cursor position differs from the last emited cursor
+ If the current cursor position differs from the last emitted cursor
position, emits cursorPositionChanged().
*/
void QLineControl::emitCursorPositionChanged()
diff --git a/src/multimedia/video/qabstractvideobuffer.cpp b/src/multimedia/video/qabstractvideobuffer.cpp
index db05ee5..978636a 100644
--- a/src/multimedia/video/qabstractvideobuffer.cpp
+++ b/src/multimedia/video/qabstractvideobuffer.cpp
@@ -87,7 +87,7 @@ QT_BEGIN_NAMESPACE
\value NotMapped The video buffer has is not mapped to memory.
\value ReadOnly The mapped memory is populated with data from the video buffer when mapped, but
the content of the mapped memory may be discarded when unmapped.
- \value WriteOnly The mapped memory in unitialized when mapped, and the content will be used to
+ \value WriteOnly The mapped memory is uninitialized when mapped, and the content will be used to
populate the video buffer when unmapped.
\value ReadWrite The mapped memory is populated with data from the video buffer, and the
video buffer is repopulated with the content of the mapped memory.
diff --git a/src/script/api/qscriptcontext.cpp b/src/script/api/qscriptcontext.cpp
index abaf5f9..64610c7 100644
--- a/src/script/api/qscriptcontext.cpp
+++ b/src/script/api/qscriptcontext.cpp
@@ -480,7 +480,7 @@ QScriptValue QScriptContext::activationObject() const
If \a activation is not an object, this function does nothing.
\note For a context corresponding to a JavaScript function, this is only
- guarenteed to work if there was an QScriptEngineAgent active on the
+ guaranteed to work if there was an QScriptEngineAgent active on the
engine while the function was evaluated.
*/
void QScriptContext::setActivationObject(const QScriptValue &activation)
diff --git a/src/testlib/qbenchmark.cpp b/src/testlib/qbenchmark.cpp
index c88ecb0..c92a88a 100644
--- a/src/testlib/qbenchmark.cpp
+++ b/src/testlib/qbenchmark.cpp
@@ -165,7 +165,7 @@ void QBenchmarkTestMethodData::setResult(
}
// Test the result directly without calling the measurer if the minimum time
- // has been specifed on the command line with -minimumvalue.
+ // has been specified on the command line with -minimumvalue.
else if (QBenchmarkGlobalData::current->walltimeMinimum != -1)
accepted = (value > QBenchmarkGlobalData::current->walltimeMinimum);
else
diff --git a/tools/porting/src/rpp.cpp b/tools/porting/src/rpp.cpp
index 7b0bea1..2e2aa97 100644
--- a/tools/porting/src/rpp.cpp
+++ b/tools/porting/src/rpp.cpp
@@ -60,7 +60,7 @@ Source *Preprocessor::parse(const TokenEngine::TokenContainer &tokenContainer,
const QVector<Type> &tokenTypeList, TypedPool<Item> *memoryPool)
{
m_memoryPool = memoryPool;
- Source *m_source = createNode<Source>(m_memoryPool); //node whith no parent
+ Source *m_source = createNode<Source>(m_memoryPool); //node with no parent
m_tokenContainer = tokenContainer;
m_tokenTypeList = tokenTypeList;
lexerTokenIndex = 0;
@@ -538,7 +538,7 @@ bool Preprocessor::parsePragmaDirective(Item *group)
}
/*
Reads a preprocessor line from the source by advancing lexerTokenIndex and
- returing a TokenSection containg the read line. Text lines separated by
+ returning a TokenSection containing the read line. Text lines separated by
an escaped newline are joined.
*/
TokenSection Preprocessor::readLine()
diff --git a/tools/porting/src/semantic.cpp b/tools/porting/src/semantic.cpp
index cf0b141..bd9175f 100644
--- a/tools/porting/src/semantic.cpp
+++ b/tools/porting/src/semantic.cpp
@@ -806,10 +806,10 @@ void Semantic::parseNameUse(NameAST* name)
}
/*
- looks up name used in basescope. If name->isGlobal() is true or if classOrNamespaceList()
+ Looks up name used in basescope. If name->isGlobal() is true or if classOrNamespaceList()
returns a non-empty list, the C++ qualified name lookup rules are used. Otherwise the
unquialified name lookup rules are used. Returns the a list of members that was found,
- In most cases this list will contain zero or one element, exept in the case of overloaded functions.
+ In most cases this list will contain zero or one element, except in the case of overloaded functions.
TODO: Argument-dependent name lookup
*/
QList<CodeModel::Member *> Semantic::nameLookup(CodeModel::Scope *baseScope, const NameAST* name)
diff --git a/tools/porting/src/tokenengine.h b/tools/porting/src/tokenengine.h
index d998411..db68d88 100644
--- a/tools/porting/src/tokenengine.h
+++ b/tools/porting/src/tokenengine.h
@@ -55,7 +55,7 @@ namespace TokenEngine {
class TokenContainer;
/*
- A token is defined as a start-postion and a lenght. Since the actual text
+ A token is defined as a start-position and a length. Since the actual text
storage is not reffered to here, Token needs to be used together with
a TokenContainer in order to be useful.
*/
diff --git a/tools/porting/src/tokenreplacements.cpp b/tools/porting/src/tokenreplacements.cpp
index 02b7751..fa3cff8 100644
--- a/tools/porting/src/tokenreplacements.cpp
+++ b/tools/porting/src/tokenreplacements.cpp
@@ -126,7 +126,7 @@ int QualifiedNameParser::findScopeOperator(Direction direction)
{
int tokenIndex = currentIndex;
QByteArray tokenText;
- //loop until we get a token containg text or we pass the beginning/end of the source
+ //loop until we get a token containing text or we pass the beginning/end of the source
tokenIndex += direction;
while(tokenText.isEmpty() && isValidIndex(tokenIndex)) {
tokenText = tokenContainer.text(tokenIndex).trimmed();
@@ -146,7 +146,7 @@ int QualifiedNameParser::nextScopeToken(Direction direction)
if (tokenIndex == -1)
return -1;
QByteArray tokenText;
- //loop until we get a token containg text or we pass the start of the source
+ //loop until we get a token containing text or we pass the start of the source
tokenIndex += direction;
while(tokenText.isEmpty() && isValidIndex(tokenIndex)) {
tokenText = tokenContainer.text(tokenIndex).trimmed();
@@ -266,7 +266,7 @@ bool ScopedTokenReplacement::doReplace(const TokenContainer &tokenContainer, int
if (!attributes->attribute(sourceIndex, "unknown").isEmpty())
return false;
// If nameUse is set we test if the nameUse refers to the correct declaration.
- // This is done by checking the parentScope attriute, wich returns the scope
+ // This is done by checking the parentScope attribute, which returns the scope
// for the declaration associated with this name use.
const bool haveNameUseInfo = !attributes->attribute(sourceIndex, "nameUse").isEmpty();
if (haveNameUseInfo) {
@@ -314,7 +314,7 @@ bool ScopedTokenReplacement::doReplace(const TokenContainer &tokenContainer, int
const QByteArray sourceScope = tokenContainer.text(sourceScopeIndex);
// If we have no name use info and the source and old scopes don't match,
- // we generally dont't do a replace, unless the old scope is Qt and
+ // we generally don't do a replace, unless the old scope is Qt and
// the source scope inherits Qt. For example, QWidget::ButtonState should
// be renamed to Qt::ButtonState.
if (!haveNameUseInfo && sourceScope != oldScope) {
diff --git a/tools/qdoc3/htmlgenerator.cpp b/tools/qdoc3/htmlgenerator.cpp
index bc71b6e..77e306a 100644
--- a/tools/qdoc3/htmlgenerator.cpp
+++ b/tools/qdoc3/htmlgenerator.cpp
@@ -943,10 +943,10 @@ int HtmlGenerator::generateAtom(const Atom *atom,
}
}
else {
- out() << "<ol type=";
+ out() << "<ol class=";
if (atom->string() == ATOM_LIST_UPPERALPHA) {
out() << "\"A\"";
- } /* why type? */
+ } /* why type? changed to */
else if (atom->string() == ATOM_LIST_LOWERALPHA) {
out() << "\"a\"";
}
@@ -1966,7 +1966,7 @@ void HtmlGenerator::generateFooter(const Node *node)
switch (application) {
case Online:
out() << " <script src=\"scripts/functions.js\" type=\"text/javascript\"></script>\n";
- out() << " <!-- <script type=\"text/javascript\">\n";
+ out() << " <script type=\"text/javascript\">\n";
out() << " var _gaq = _gaq || [];\n";
out() << " _gaq.push(['_setAccount', 'UA-4457116-5']);\n";
out() << " _gaq.push(['_trackPageview']);\n";
@@ -1977,7 +1977,7 @@ void HtmlGenerator::generateFooter(const Node *node)
out() << "'.google-analytics.com/ga.js';\n";
out() << " var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\n";
out() << " })();\n";
- out() << " </script> -->\n";
+ out() << " </script>\n";
out() << "</body>\n";
break;
case Creator:
@@ -4185,36 +4185,16 @@ void HtmlGenerator::generateQmlSummary(const Section& section,
CodeMarker *marker)
{
if (!section.members.isEmpty()) {
- NodeList::ConstIterator m;
- int count = section.members.size();
- bool twoColumn = false;
- if (section.members.first()->type() == Node::QmlProperty) {
- twoColumn = (count >= 5);
- twoColumn = false;
- }
- if (twoColumn)
- out() << "<table class=\"qmlsummary\">\n";
- if (++numTableRows % 2 == 1)
- out() << "<tr class=\"odd topAlign\">";
- else
- out() << "<tr class=\"even topAlign\">";
- // << "<tr><td class=\"topAlign\">";
out() << "<ul>\n";
-
- int row = 0;
+ NodeList::ConstIterator m;
m = section.members.begin();
while (m != section.members.end()) {
- if (twoColumn && row == (int) (count + 1) / 2)
- out() << "</ul></td><td class=\"topAlign\"><ul>\n";
out() << "<li class=\"fn\">";
generateQmlItem(*m,relative,marker,true);
out() << "</li>\n";
- row++;
++m;
}
out() << "</ul>\n";
- if (twoColumn)
- out() << "</td></tr>\n</table>\n";
}
}
diff --git a/tools/qdoc3/test/qt-build-docs.qdocconf b/tools/qdoc3/test/qt-build-docs.qdocconf
index bb47b57..639585c 100644
--- a/tools/qdoc3/test/qt-build-docs.qdocconf
+++ b/tools/qdoc3/test/qt-build-docs.qdocconf
@@ -103,6 +103,7 @@ excludedirs = $QT_SOURCE_TREE/src/3rdparty/clucene \
$QT_SOURCE_TREE/src/3rdparty/freetype \
$QT_SOURCE_TREE/src/3rdparty/harfbuzz \
$QT_SOURCE_TREE/src/3rdparty/kdebase \
+ $QT_SOURCE_TREE/src/3rdparty/libconninet \
$QT_SOURCE_TREE/src/3rdparty/libjpeg \
$QT_SOURCE_TREE/src/3rdparty/libmng \
$QT_SOURCE_TREE/src/3rdparty/libpng \
diff --git a/tools/qdoc3/test/qt-build-docs_ja_JP.qdocconf b/tools/qdoc3/test/qt-build-docs_ja_JP.qdocconf
index e0bb630..c24ddef 100644
--- a/tools/qdoc3/test/qt-build-docs_ja_JP.qdocconf
+++ b/tools/qdoc3/test/qt-build-docs_ja_JP.qdocconf
@@ -32,9 +32,9 @@ qhp.Qt.customFilters.Qt.filterAttributes = qt 4.7.0
qhp.Qt.extraFiles = index.html \
images/bg_l.png \
images/bg_l_blank.png \
- images/bg_ll_blank.png \
- images/bg_ul_blank.png \
- images/header_bg.png \
+ images/bg_ll_blank.png \
+ images/bg_ul_blank.png \
+ images/header_bg.png \
images/bg_r.png \
images/box_bg.png \
images/breadcrumb.png \
@@ -73,6 +73,7 @@ excludedirs = $QT_SOURCE_TREE/src/3rdparty/clucene \
$QT_SOURCE_TREE/src/3rdparty/freetype \
$QT_SOURCE_TREE/src/3rdparty/harfbuzz \
$QT_SOURCE_TREE/src/3rdparty/kdebase \
+ $QT_SOURCE_TREE/src/3rdparty/libconninet \
$QT_SOURCE_TREE/src/3rdparty/libjpeg \
$QT_SOURCE_TREE/src/3rdparty/libmng \
$QT_SOURCE_TREE/src/3rdparty/libpng \
diff --git a/tools/qdoc3/test/qt-build-docs_zh_CN.qdocconf b/tools/qdoc3/test/qt-build-docs_zh_CN.qdocconf
index 297c6eb..a983faa 100644
--- a/tools/qdoc3/test/qt-build-docs_zh_CN.qdocconf
+++ b/tools/qdoc3/test/qt-build-docs_zh_CN.qdocconf
@@ -32,9 +32,9 @@ qhp.Qt.customFilters.Qt.filterAttributes = qt 4.7.0
qhp.Qt.extraFiles = index.html \
images/bg_l.png \
images/bg_l_blank.png \
- images/bg_ll_blank.png \
- images/bg_ul_blank.png \
- images/header_bg.png \
+ images/bg_ll_blank.png \
+ images/bg_ul_blank.png \
+ images/header_bg.png \
images/bg_r.png \
images/box_bg.png \
images/breadcrumb.png \
@@ -73,6 +73,7 @@ excludedirs = $QT_SOURCE_TREE/src/3rdparty/clucene \
$QT_SOURCE_TREE/src/3rdparty/freetype \
$QT_SOURCE_TREE/src/3rdparty/harfbuzz \
$QT_SOURCE_TREE/src/3rdparty/kdebase \
+ $QT_SOURCE_TREE/src/3rdparty/libconninet \
$QT_SOURCE_TREE/src/3rdparty/libjpeg \
$QT_SOURCE_TREE/src/3rdparty/libmng \
$QT_SOURCE_TREE/src/3rdparty/libpng \
diff --git a/tools/qdoc3/test/qt-html-templates.qdocconf b/tools/qdoc3/test/qt-html-templates.qdocconf
index 1203357..b716f7c 100644
--- a/tools/qdoc3/test/qt-html-templates.qdocconf
+++ b/tools/qdoc3/test/qt-html-templates.qdocconf
@@ -9,11 +9,6 @@ HTML.postheader = " <div class=\"header\" id=\"qtdocheader\">\n" \
" <div id=\"nav-logo\">\n" \
" <a href=\"index.html\">Home</a></div>\n" \
" <a href=\"index.html\" class=\"qtref\"><span>Qt Reference Documentation</span></a>\n" \
- " <div id=\"narrowsearch\"><form onsubmit=\"return false;\" action=\"\" id=\"qtdocsearchTop\">\n" \
- " <fieldset>\n" \
- " <input type=\"text\" value=\"\" id=\"pageType2\" name=\"searchstring\"/>\n" \
- " </fieldset>\n" \
- " </form></div>\n" \
" <div id=\"nav-topright\">\n" \
" <ul>\n" \
" <li class=\"nav-topright-home\"><a href=\"http://qt.nokia.com/\">Qt HOME</a></li>\n" \
@@ -98,13 +93,13 @@ HTML.postheader = " <div class=\"header\" id=\"qtdocheader\">\n" \
" Qt Topics</h2>\n" \
" <div id=\"list002\" class=\"list\">\n" \
" <ul id=\"ul002\" >\n" \
- " <li><a href=\"qt-basic-concepts.html\">Programming with Qt</a></li> \n" \
- " <li><a href=\"qtquick.html\">Device UI's &amp; Qt Quick</a></li> \n" \
- " <li><a href=\"qt-gui-concepts.html\">UI Design with Qt</a></li> \n" \
- " <li><a href=\"developing-with-qt.html\">Cross-platform and Platform-specific</a></li> \n" \
- " <li><a href=\"platform-specific.html\">Platform-specific info</a></li> \n" \
- " <li><a href=\"technology-apis.html\">Qt and Key Technologies</a></li> \n" \
- " <li><a href=\"best-practices.html\">How-To's and Best Practices</a></li> \n" \
+ " <li class=\"defaultLink\"><a href=\"qt-basic-concepts.html\">Programming with Qt</a></li> \n" \
+ " <li class=\"defaultLink\"><a href=\"qtquick.html\">Device UI's &amp; Qt Quick</a></li> \n" \
+ " <li class=\"defaultLink\"><a href=\"qt-gui-concepts.html\">UI Design with Qt</a></li> \n" \
+ " <li class=\"defaultLink\"><a href=\"developing-with-qt.html\">Cross-platform and Platform-specific</a></li> \n" \
+ " <li class=\"defaultLink\"><a href=\"platform-specific.html\">Platform-specific info</a></li> \n" \
+ " <li class=\"defaultLink\"><a href=\"technology-apis.html\">Qt and Key Technologies</a></li> \n" \
+ " <li class=\"defaultLink\"><a href=\"best-practices.html\">How-To's and Best Practices</a></li> \n" \
" </ul> \n" \
" </div>\n" \
" </div>\n" \
@@ -138,20 +133,20 @@ HTML.postpostheader = " </ul>\n" \
" <li id=\"print\" class=\"t_button\"><a href=\"javascript:this.print();\">\n" \
" <span>Print</span></a></li>\n" \
" </ul>\n" \
- " </div>\n" \
+ " </div>\n" \
" </div>\n" \
" <div class=\"content\">\n"
-HTML.footer = " <!-- /div -->\n" \
+HTML.footer = "" \
" <div class=\"feedback t_button\">\n" \
" [+] Documentation Feedback</div>\n" \
" </div>\n" \
" </div>\n" \
+ " </div> \n" \
" <div class=\"ft\">\n" \
" <span></span>\n" \
" </div>\n" \
" </div> \n" \
- " </div> \n" \
" <div class=\"footer\">\n" \
" <p>\n" \
" <acronym title=\"Copyright\">&copy;</acronym> 2008-2010 Nokia Corporation and/or its\n" \
@@ -160,26 +155,24 @@ HTML.footer = " <!-- /div -->\n" \
" <p>\n" \
" All other trademarks are property of their respective owners. <a title=\"Privacy Policy\"\n" \
" href=\"http://qt.nokia.com/about/privacy-policy\">Privacy Policy</a></p>\n" \
+ " <br />\n" \
+ " <p>\n" \
+ " Licensees holding valid Qt Commercial licenses may use this document in accordance with the" \
+ " Qt Commercial License Agreement provided with the Software or, alternatively, in accordance" \
+ " with the terms contained in a written agreement between you and Nokia.</p>\n" \
+ " <p>\n" \
+ " Alternatively, this document may be used under the terms of the <a href=\"http://www.gnu.org/licenses/fdl.html\">GNU\n" \
+ " Free Documentation License version 1.3</a>\n" \
+ " as published by the Free Software Foundation.</p>\n" \
" </div>\n" \
" <div id=\"feedbackBox\">\n" \
" <div id=\"feedcloseX\" class=\"feedclose t_button\">X</div>\n" \
" <form id=\"feedform\" action=\"http://doc.qt.nokia.com/docFeedbck/feedback.php\" method=\"get\">\n" \
- " <p id=\"noteHead\">Thank you for giving your feedback. <div class=\"note\">Make sure it is related to this specific page. For more general bugs and \n" \
- " requests, please use the <a href=\"http://bugreports.qt.nokia.com/secure/Dashboard.jspa\">Qt Bug Tracker</a>.</div></p>\n" \
+ " <p id=\"noteHead\">Thank you for giving your feedback.</p> <p class=\"note\">Make sure it is related to this specific page. For more general bugs and \n" \
+ " requests, please use the <a href=\"http://bugreports.qt.nokia.com/secure/Dashboard.jspa\">Qt Bug Tracker</a>.</p>\n" \
" <p><textarea id=\"feedbox\" name=\"feedText\" rows=\"5\" cols=\"40\"></textarea></p>\n" \
" <p><input id=\"feedsubmit\" class=\"feedclose\" type=\"submit\" name=\"feedback\" /></p>\n" \
" </form>\n" \
" </div>\n" \
" <div id=\"blurpage\">\n" \
- " </div>\n" \
- " <!--/div -->\n" \
- "<script type=\"text/javascript\">\n" \
- " var _gaq = _gaq || [];\n" \
- " _gaq.push([\'_setAccount\', \'UA-4457116-5\']);\n" \
- " _gaq.push([\'_trackPageview\']);\n" \
- " (function() {\n" \
- " var ga = document.createElement(\'script\'); ga.type = \'text/javascript\'; ga.async = true;\n" \
- " ga.src = (\'https:\' == document.location.protocol ? \'https://ssl\' : \'http://www\') + \'.google-analytics.com/ga.js\';\n" \
- " var s = document.getElementsByTagName(\'script\')[0]; s.parentNode.insertBefore(ga, s);\n" \
- " })();\n" \
- "</script>\n"
+ " </div>\n" \ No newline at end of file
diff --git a/tools/qdoc3/test/qt-html-templates_ja_JP.qdocconf b/tools/qdoc3/test/qt-html-templates_ja_JP.qdocconf
index e2abd2a..da20766 100644
--- a/tools/qdoc3/test/qt-html-templates_ja_JP.qdocconf
+++ b/tools/qdoc3/test/qt-html-templates_ja_JP.qdocconf
@@ -156,6 +156,15 @@ HTML.footer = " <!-- /div -->\n" \
" <p>\n" \
" All other trademarks are property of their respective owners. <a title=\"Privacy Policy\"\n" \
" href=\"http://qt.nokia.com/about/privacy-policy\">Privacy Policy</a></p>\n" \
+ " <br />\n" \
+ " <p>\n" \
+ " Licensees holding valid Qt Commercial licenses may use this document in accordance with the" \
+ " Qt Commercial License Agreement provided with the Software or, alternatively, in accordance" \
+ " with the terms contained in a written agreement between you and Nokia.</p>\n" \
+ " <p>\n" \
+ " Alternatively, this document may be used under the terms of the <a href=\"http://www.gnu.org/licenses/fdl.html\">GNU\n" \
+ " Free Documentation License version 1.3</a>\n" \
+ " as published by the Free Software Foundation.</p>\n" \
" </div>\n" \
" <div id=\"feedbackBox\">\n" \
" <div id=\"feedcloseX\" class=\"feedclose t_button\">X</div>\n" \
diff --git a/tools/qdoc3/test/qt-html-templates_zh_CN.qdocconf b/tools/qdoc3/test/qt-html-templates_zh_CN.qdocconf
index e00bef9..5c4bfa9 100644
--- a/tools/qdoc3/test/qt-html-templates_zh_CN.qdocconf
+++ b/tools/qdoc3/test/qt-html-templates_zh_CN.qdocconf
@@ -156,6 +156,15 @@ HTML.footer = " <!-- /div -->\n" \
" <p>\n" \
" All other trademarks are property of their respective owners. <a title=\"Privacy Policy\"\n" \
" href=\"http://qt.nokia.com/about/privacy-policy\">Privacy Policy</a></p>\n" \
+ " <br />\n" \
+ " <p>\n" \
+ " Licensees holding valid Qt Commercial licenses may use this document in accordance with the" \
+ " Qt Commercial License Agreement provided with the Software or, alternatively, in accordance" \
+ " with the terms contained in a written agreement between you and Nokia.</p>\n" \
+ " <p>\n" \
+ " Alternatively, this document may be used under the terms of the <a href=\"http://www.gnu.org/licenses/fdl.html\">GNU\n" \
+ " Free Documentation License version 1.3</a>\n" \
+ " as published by the Free Software Foundation.</p>\n" \
" </div>\n" \
" <div id=\"feedbackBox\">\n" \
" <div id=\"feedcloseX\" class=\"feedclose t_button\">X</div>\n" \
diff --git a/tools/qdoc3/test/qt.qdocconf b/tools/qdoc3/test/qt.qdocconf
index 4f0d159..215e0d6 100644
--- a/tools/qdoc3/test/qt.qdocconf
+++ b/tools/qdoc3/test/qt.qdocconf
@@ -103,6 +103,7 @@ excludedirs = $QTDIR/src/3rdparty/clucene \
$QTDIR/src/3rdparty/freetype \
$QTDIR/src/3rdparty/harfbuzz \
$QTDIR/src/3rdparty/kdebase \
+ $QTDIR/src/3rdparty/libconninet \
$QTDIR/src/3rdparty/libjpeg \
$QTDIR/src/3rdparty/libmng \
$QTDIR/src/3rdparty/libpng \