summaryrefslogtreecommitdiffstats
path: root/doc/src
diff options
context:
space:
mode:
authorLorn Potter <lorn.potter@nokia.com>2010-11-09 01:23:37 (GMT)
committerLorn Potter <lorn.potter@nokia.com>2010-11-09 01:23:37 (GMT)
commit6b8a95b2521d843ec2b3f7c787c15b92e4ea686f (patch)
tree346bc8925d83b2729f485d1259729fca931de07d /doc/src
parentbb8f085611f4cb91b7bde7220d407948edcc572c (diff)
parente00af84cc9230df411981d2f3b9296b61d5d1c50 (diff)
downloadQt-6b8a95b2521d843ec2b3f7c787c15b92e4ea686f.zip
Qt-6b8a95b2521d843ec2b3f7c787c15b92e4ea686f.tar.gz
Qt-6b8a95b2521d843ec2b3f7c787c15b92e4ea686f.tar.bz2
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into 4.7
Diffstat (limited to 'doc/src')
-rw-r--r--doc/src/bughowto.qdoc2
-rw-r--r--doc/src/classes/phonon-api.qdoc50
-rw-r--r--doc/src/declarative/elements.qdoc106
-rw-r--r--doc/src/declarative/qdeclarativeintro.qdoc6
-rw-r--r--doc/src/deployment/deployment.qdoc1
-rw-r--r--doc/src/development/designer-manual.qdoc156
-rw-r--r--doc/src/development/developing-with-qt.qdoc6
-rw-r--r--doc/src/development/qmake-manual.qdoc27
-rw-r--r--doc/src/development/qtestlib.qdoc27
-rw-r--r--doc/src/examples/webkit-bridge-imageanalyzer.qdoc29
-rw-r--r--doc/src/external-resources.qdoc7
-rw-r--r--doc/src/frameworks-technologies/dnd.qdoc2
-rw-r--r--doc/src/frameworks-technologies/model-view-programming.qdoc12
-rw-r--r--doc/src/frameworks-technologies/phonon.qdoc19
-rw-r--r--doc/src/getting-started/examples.qdoc5
-rw-r--r--doc/src/getting-started/gettingstartedqml.qdoc2
-rw-r--r--doc/src/getting-started/installation.qdoc271
-rw-r--r--doc/src/images/webkit-imageanalyzer-screenshot.pngbin190353 -> 56053 bytes
-rw-r--r--doc/src/index.qdoc2
-rw-r--r--doc/src/legal/opensourceedition.qdoc2
-rw-r--r--doc/src/legal/trademarks.qdoc12
-rw-r--r--doc/src/platforms/compiler-notes.qdoc269
-rw-r--r--doc/src/platforms/emb-deployment.qdoc2
-rw-r--r--doc/src/platforms/emb-hardwareacceleration.qdocinc280
-rw-r--r--doc/src/platforms/emb-install.qdoc6
-rw-r--r--doc/src/platforms/emb-pointer.qdoc7
-rw-r--r--doc/src/platforms/emb-qvfb.qdoc4
-rw-r--r--doc/src/platforms/emb-running.qdoc2
-rw-r--r--doc/src/platforms/mac-differences.qdoc2
-rw-r--r--doc/src/platforms/platform-notes-rtos.qdoc8
-rw-r--r--doc/src/platforms/platform-notes.qdoc346
-rw-r--r--doc/src/platforms/qt-embedded-linux.qdoc2
-rw-r--r--doc/src/platforms/supported-platforms.qdoc7
-rw-r--r--doc/src/platforms/symbian-introduction.qdoc12
-rw-r--r--doc/src/platforms/wince-customization.qdoc2
-rw-r--r--doc/src/platforms/wince-introduction.qdoc6
-rw-r--r--doc/src/platforms/winsystem.qdoc4
-rw-r--r--doc/src/porting/qt4-designer.qdoc18
-rw-r--r--doc/src/qt-webpages.qdoc4
-rw-r--r--doc/src/qt4-intro.qdoc2
-rw-r--r--doc/src/snippets/code/doc_src_emb-pointer.qdoc4
-rw-r--r--doc/src/snippets/code/doc_src_installation.qdoc13
-rw-r--r--doc/src/snippets/code/src_qtestlib_qtestcase.cpp2
-rw-r--r--doc/src/snippets/declarative/borderimage/borderimage-defaults.qml55
-rw-r--r--doc/src/snippets/declarative/flipable/flipable.qml17
-rw-r--r--doc/src/snippets/declarative/keys/keys-handler.qml2
-rw-r--r--doc/src/snippets/declarative/keys/keys-pressed.qml2
-rw-r--r--doc/src/sql-programming/sql-driver.qdoc8
-rwxr-xr-xdoc/src/template/scripts/functions.js6
-rw-r--r--doc/src/template/style/narrow.css1
-rwxr-xr-xdoc/src/template/style/style.css95
51 files changed, 1176 insertions, 756 deletions
diff --git a/doc/src/bughowto.qdoc b/doc/src/bughowto.qdoc
index a7b5569..1793fce 100644
--- a/doc/src/bughowto.qdoc
+++ b/doc/src/bughowto.qdoc
@@ -34,7 +34,7 @@
about it so that we can fix it.
Before reporting a bug, please check the \l{FAQs}, \l{Platform
- Notes}, and the \l{Qt Bug Tracker} on the Qt website to see
+ and Compiler Notes}, and the \l{Qt Bug Tracker} on the Qt website to see
if the issue is already known.
The first thing you should do is to sign up for an account for
diff --git a/doc/src/classes/phonon-api.qdoc b/doc/src/classes/phonon-api.qdoc
index a429e5a..6c9c8de 100644
--- a/doc/src/classes/phonon-api.qdoc
+++ b/doc/src/classes/phonon-api.qdoc
@@ -4114,7 +4114,7 @@
*/
/*!
- \fn Phonon::VideoWidget::snapshot()
+ \fn Phonon::VideoWidget::snapshot() const
\since 4.7
Returns a snapshot of the current frame shown in the widget.
@@ -4312,6 +4312,16 @@
*/
/*!
+ \class Phonon::VideoWidgetInterface44
+ \inmodule Phonon
+ \since 4.7
+*/
+
+/*!
+ \fn Phonon::VideoWidgetInterface44::snapshot() const
+*/
+
+/*!
\typedef Phonon::VideoWidgetInterfaceLatest
\inmodule Phonon
\since 4.7
@@ -5076,6 +5086,22 @@
*/
/*!
+ \fn int Phonon::AudioDataOutput::sampleRate() const
+
+ Returns the sample rate measured in Hertz, as reported by the backend.
+ If the backend is unavailable -1 is returned.
+*/
+
+/*!
+ \fn void Phonon::AudioDataOutput::endOfMedia(int remainingSamples)
+
+ This signal is emitted before the final dataReady() signal is emitted for
+ a media. The \a remainingSamples value sent by the signal contains the
+ number of samples that will be sent in the final dataReady() signal for
+ the media.
+*/
+
+/*!
\fn Phonon::AudioDataOutput::dataReady(const QMap<Phonon::AudioDataOutput::Channel, QVector<qint16> > &data)
This signal is emitted whenever there is data available to read. The
@@ -5084,13 +5110,28 @@
*/
/*!
+ \fn Phonon::AudioDataOutputPrivate::AudioDataOutputPrivate()
+ \internal
+*/
+
+/*!
\fn Phonon::AudioDataOutputInterface::~AudioDataOutputInterface()
Destroys the data interface.
*/
/*!
- \fn Phonon::AudioDataOutputInterface::frontendObject()
+ \fn Phonon::AudioDataOutputInterface::frontendObject() const
+ \internal
+*/
+
+/*!
+ \fn Phonon::AudioDataOutputInterface::setFrontendObject(AudioDataOutput *)
+ \internal
+*/
+
+/*!
+ \fn Phonon::GlobalConfigPrivate::GlobalConfigPrivate()
\internal
*/
@@ -5098,3 +5139,8 @@
\fn Phonon::GlobalConfigPrivate::~GlobalConfigPrivate()
\internal
*/
+
+/*!
+ \fn Phonon::SwiftSlider::~SwiftSlider()
+ \internal
+*/
diff --git a/doc/src/declarative/elements.qdoc b/doc/src/declarative/elements.qdoc
index a0eb95d..54f07a2 100644
--- a/doc/src/declarative/elements.qdoc
+++ b/doc/src/declarative/elements.qdoc
@@ -37,8 +37,110 @@
To see the QML elements listed by functional area, see the
\l{Groups Of Related QML Elements} page.
- \generatelist qmlclasses
-
+ \table
+ \header \o {2,1} \bold {Basic Visual Items}
+ \row \o \l {Item} \o Basic item element inherited by all visual items in QML
+ \row \o \l {Rectangle} \o Basic visual rectangle element
+ \row \o \l {Gradient} \o Defines a gradient between two or more colors
+ \row \o \l {GradientStop} \o Defines a color used in a \l {Gradient}
+ \row \o \l {Image} \o Allows the use of bitmaps to a scene
+ \row \o \l {BorderImage} (Item-specific) \o Defines an image as a border
+ \row \o \l {AnimatedImage} \o For playing animations stored as a series of frames
+ \row \o \l {Text} \o Allows the use of formatted text in a scene
+ \row \o \l {TextInput} \o Displays an editable line of text
+ \row \o \l {IntValidator} \o Validator for integer values
+ \row \o \l {DoubleValidator} \o Validator for non-integer values
+ \row \o \l {RegExpValidator} \o Validator for string regular expressions
+ \row \o \l {TextEdit} \o Displays multiple lines of editable formatted text
+
+ \header \o {2,1} \bold {Basic Interaction Items}
+ \row \o \l {MouseArea} \o Handles mouse interactions
+ \row \o \l {FocusScope} \o For keyboard focus handling
+ \row \o \l {Flickable} \o Provides a surface that can be "flicked"
+ \row \o \l {Flipable} \o Provides a surface that produces flipping effects
+ \row \o \l {GestureArea} (experimental) \o Enables simple gesture handling
+
+ \header \o {2,1} \bold {States}
+ \row \o \l {State} \o Defines sets of configurations of objects and properties
+ \row \o \l {PropertyChanges} \o Describes property changes within a state
+ \row \o \l {StateGroup} \o Contains a set of states and state transitions
+ \row \o \l {StateChangeScript} \o Allows script binding in a state
+ \row \o \l {ParentChange} (Item-specific) \o Re-parent an Item in a state change
+ \row \o \l {AnchorChanges} \o Change the anchors of an item in a state
+
+ \header \o {2,1} \bold {Animation and Transitions}
+ \row \o \l {Behavior} \o Specifies a default animation for property changes
+ \row \o \l {SequentialAnimation} \o Runs animations sequentially
+ \row \o \l {ParallelAnimation} \o Runs animations in parallel
+ \row \o \l {PropertyAnimation} \o Animates property changes
+ \row \o \l {NumberAnimation} \o Animates properties of type qreal
+ \row \o \l {Vector3dAnimation} \o Animates properties of type QVector3d
+ \row \o \l {ColorAnimation} \o Animates color changes
+ \row \o \l {RotationAnimation} \o Animates rotations
+ \row \o \l {ParentAnimation} \o Animates parent changes
+ \row \o \l {AnchorAnimation} \o Animates anchor changes
+ \row \o \l {PauseAnimation} \o Pauses an animation
+ \row \o \l {SmoothedAnimation} \o Allows a property to smoothly track a value
+ \row \o \l {SpringAnimation} \o Allows a property to track a value in a spring-like motion
+ \row \o \l {PropertyAction} \o Sets immediate property changes during animation
+ \row \o \l {ScriptAction} \o Runs scripts during an animation
+ \row \o \l {Transition} \o Animates transitions during state changes
+
+ \header \o {2,1} \bold {Working with Data}
+ \row \o \l {Binding} \o Binds any value to any property
+ \row \o \l {ListModel} \o Defines a list of data
+ \row \o \l {ListElement} \o Defines a data item in a \l {ListModel}
+ \row \o \l {VisualItemModel} \o Contains items that already defines its own visual delegate
+ \row \o \l {VisualDataModel} \o Encapsulates a model and a delegate
+ \row \o \l {Package} \o Collection that enables sharing of items within different views
+ \row \o \l {XmlListModel} \o Specifies a model using XPath expressions
+ \row \o \l {XmlRole} \o Specifies a role for an \l {XmlListModel}
+
+ \header \o {2,1} \bold {Views}
+ \row \o \l {ListView} \o Provides a list visualization of a model
+ \row \o \l {GridView} \o Provides a grid visualization of a model
+ \row \o \l {PathView} \o Visualizes a model's contents along a path
+ \row \o \l {Path} \o Defines a path used by \l {PathView}
+ \row \o \l {PathLine} \o Defines a line in \l {Path}
+ \row \o \l {PathQuad} \o Defines a quadratic Bezier curve in a \l {Path}
+ \row \o \l {PathCubic} \o Defines a cubic Bezier curve in a \l {Path}
+ \row \o \l {PathAttribute} \o Allows the setting of attributes along a \l {Path}
+ \row \o \l {PathPercent} \o Modifies the item distribution along a \l {Path}
+ \row \o \l {WebView} \o Allows the addition of web content to a canvas
+
+ \header \o {2,1} \bold {Positioners}
+ \row \o \l {Column} \o Arranges its children vertically
+ \row \o \l {Row} \o Arranges its children horizontally
+ \row \o \l {Grid} \o Positions its children in a grid
+ \row \o \l {Flow} \o Positions its children with wrapping support
+
+ \header \o {2,1} \bold {Utility}
+ \row \o \l {Connections} \o Explicitly connects signals and signal handlers
+ \row \o \l {Component} \o Encapsulate QML items as a component
+ \row \o \l {Timer} \o Provides timed triggers
+ \row \o \l {QML:QtObject} {QtObject} \o Basic element containing only the objectName property
+ \row \o \l {QML:Qt} {Qt} \o The QML global Qt object provides useful enums and functions from Qt.
+ \row \o \l {WorkerScript} \o Enables the use of threads in QML
+ \row \o \l {Loader} \o Controls the loading of items or components
+ \row \o \l {Repeater} \o Uses a model to create multiples of components
+ \row \o \l {SystemPalette} \o Provides access to the Qt palettes
+ \row \o \l {FontLoader} \o Loads fonts by name or URL
+ \row \o \l {LayoutItem} \o Allows declarative UI elements inside Qt's Graphics View layouts
+
+ \header \o {2,1} \bold {Transforms}
+ \row \o \l {Scale} \o Assigns item scaling behaviors
+ \row \o \l {Rotation} \o Assigns item rotation behaviors
+ \row \o \l {Translate} \o Assigns item translation behaviors
+
+ \header \o {2,1} \bold {Effects}
+ \row \o \l {Particles} (experimental) \o Generates and animates particles
+ \row \o \l {ParticleMotionLinear} \o Adds linear motion behavior to \l {Particles}
+ \row \o \l {ParticleMotionGravity} \o Adds gravitational motion to \l {Particles}
+ \row \o \l {ParticleMotionWander} \o Adds varied motions to \l {Particles}
+ \endtable
+
+
+
*/
diff --git a/doc/src/declarative/qdeclarativeintro.qdoc b/doc/src/declarative/qdeclarativeintro.qdoc
index 87dafb0..1d807e3 100644
--- a/doc/src/declarative/qdeclarativeintro.qdoc
+++ b/doc/src/declarative/qdeclarativeintro.qdoc
@@ -37,7 +37,7 @@ interface is specified as a tree of objects with properties.
This introduction is meant for those with little or no programming
experience. JavaScript is used as a scripting language in QML, so you may want
-to learn a bit more about it (\l{JavaScript: The Definitive Guide}) before diving
+to learn a bit more about it (\l{Javascript Guide}) before diving
deeper into QML. It's also helpful to have a basic understanding of other web
technologies like HTML and CSS, but it's not required.
@@ -65,8 +65,8 @@ types always begin with a capital letter. In the above example, there are
two objects, a \l Rectangle, and an \l Image. Between the braces, we can specify
information about the object, such as its properties.
-Properties are specified as \c {property: value}. In the above example, we
-can see the Image has a property named \c source, which has been assigned the
+Properties are specified as \c {property: value}. In the above example, we
+can see the Image has a property named \c source, which has been assigned the
value \c "pics/logo.png". The property and its value are separated by a colon.
Properties can be specified one-per-line:
diff --git a/doc/src/deployment/deployment.qdoc b/doc/src/deployment/deployment.qdoc
index 664f002..c078316 100644
--- a/doc/src/deployment/deployment.qdoc
+++ b/doc/src/deployment/deployment.qdoc
@@ -756,6 +756,7 @@
\snippet doc/src/snippets/code/doc_src_deployment.qdoc 21
to your .pro file. The \c embed_manifest_dll option is enabled by default.
+ The \c embed_manifest_exe option is NOT enabled by default.
You can find more information about manifest files and side-by-side
assemblies at the
diff --git a/doc/src/development/designer-manual.qdoc b/doc/src/development/designer-manual.qdoc
index b30a700..df82fba 100644
--- a/doc/src/development/designer-manual.qdoc
+++ b/doc/src/development/designer-manual.qdoc
@@ -1769,37 +1769,54 @@ pixmap property in the property editor.
\title Using a Designer UI File in Your Application
- With Qt's integrated build tools, \l{qmake Manual}{qmake} and \l uic, the
- code for user interface components created with \QD is automatically
- generated when the rest of your application is built. Forms can be included
- and used directly from your application. Alternatively, you can use them to
- extend subclasses of standard widgets. These forms can be processed at
- compile time or at run time, depending on the approach used.
+ Qt Designer UI files represent the widget tree of the form in XML format. The
+ forms can be processed:
+ \list
+ \o \l{Compile Time Form Processing}{At compile time}, which means that forms
+ are converted to C++ code that can be compiled.
+ \o \l{Run Time Form Processing}{At runtime}, which means that forms are processed
+ by the QUiLoader class that dynamically constructs the widget tree while
+ parsing the XML file.
+ \endlist
\tableofcontents
\section1 Compile Time Form Processing
+ You create user interface components with \QD and use Qt's integrated build tools,
+ \l{qmake Manual}{qmake} and \l{User Interface Compiler (uic)}{uic}, to generate code
+ for them when the application is built. The generated code contains the form's user
+ interface object. It is a C++ struct that contains:
+
+ \list
+ \o Pointers to the form's widgets, layouts, layout items,
+ button groups, and actions.
+ \o A member function called \c setupUi() to build the widget tree
+ on the parent widget.
+ \o A member function called \c retranslateUi() that handles the
+ translation of the string properties of the form. For more information,
+ see \l{Reacting to Language Changes}.
+ \endlist
+
+ The generated code can be included in your application and used directly from
+ it. Alternatively, you can use it to extend subclasses of standard widgets.
+
A compile time processed form can be used in your application with one of
the following approaches:
\list
- \o The Direct Approach: you construct a widget to use as a placeholder
+ \o \l{The Direct Approach}: you construct a widget to use as a placeholder
for the component, and set up the user interface inside it.
- \o The Single Inheritance Approach: you subclass the form's base class
+ \o \l{The Single Inheritance Approach}: you subclass the form's base class
(QWidget or QDialog, for example), and include a private instance
of the form's user interface object.
- \o The MultipleInheritance Approach: you subclass both the form's base
+ \o \l{The Multiple Inheritance Approach}: you subclass both the form's base
class and the form's user interface object. This allows the widgets
defined in the form to be used directly from within the scope of
the subclass.
\endlist
-
- \section2 The Direct Approach
-
- To demonstrate how to use user interface (UI) files straight from
- \QD, we create a simple Calculator Form application. This is based on the
+ To demonstrate, we create a simple Calculator Form application. It is based on the
original \l{Calculator Form Example}{Calculator Form} example.
The application consists of one source file, \c main.cpp and a UI
@@ -1817,15 +1834,18 @@ pixmap property in the property editor.
The special feature of this file is the \c FORMS declaration that tells
\c qmake which files to process with \c uic. In this case, the
\c calculatorform.ui file is used to create a \c ui_calculatorform.h file
- that can be used by any file listed in the \c SOURCES declaration. To
- ensure that \c qmake generates the \c ui_calculatorform.h file, we need to
- include it in a file listed in \c SOURCES. Since we only have \c main.cpp,
- we include it there:
+ that can be used by any file listed in the \c SOURCES declaration.
- \snippet doc/src/snippets/uitools/calculatorform/main.cpp 0
+ \note You can use Qt Creator to create the Calculator Form project. It
+ automatically generates the main.cpp, UI, and .pro files, which you can
+ then modify.
+
+ \section2 The Direct Approach
- This include is an additional check to ensure that we do not generate code
- for UI files that are not used.
+ To use the direct approach, we include the \c ui_calculatorform.h file
+ directly in \c main.cpp:
+
+ \snippet doc/src/snippets/uitools/calculatorform/main.cpp 0
The \c main function creates the calculator widget by constructing a
standard QWidget that we use to host the user interface described by the
@@ -1837,23 +1857,33 @@ pixmap property in the property editor.
from the \c ui_calculatorform.h file that sets up all the dialog's widgets
and the connections between its signals and slots.
- This approach provides a quick and easy way to use simple, self-contained
- components in your applications, but many componens created with \QD will
+ The direct approach provides a quick and easy way to use simple, self-contained
+ components in your applications. However, componens created with \QD often
require close integration with the rest of the application code. For
instance, the \c CalculatorForm code provided above will compile and run,
but the QSpinBox objects will not interact with the QLabel as we need a
custom slot to carry out the add operation and display the result in the
- QLabel. To achieve this, we need to subclass a standard Qt widget (known as
- the single inheritance approach).
-
+ QLabel. To achieve this, we need to use the single inheritance approach.
\section2 The Single Inheritance Approach
+ To use the single inheritance approach, we subclass a standard Qt widget and
+ include a private instance of the form's user interface object. This can take
+ the form of:
+
+ \list
+ \o A member variable
+ \o A pointer member variable
+ \endlist
+
+ \section3 Using a Member Variable
+
In this approach, we subclass a Qt widget and set up the user interface
from within the constructor. Components used in this way expose the widgets
and layouts used in the form to the Qt widget subclass, and provide a
standard system for making signal and slot connections between the user
interface and other objects in your application.
+ The generated \c{Ui::CalculatorForm} structure is a member of the class.
This approach is used in the \l{Calculator Form Example}{Calculator Form}
example.
@@ -1893,6 +1923,52 @@ pixmap property in the property editor.
them. This approach can be used to create individual tabs from existing
forms, for example.
+ \section3 Using a Pointer Member Variable
+
+ Alternatively, the \c{Ui::CalculatorForm} structure can be made a pointer
+ member of the class. The header then looks as follows:
+
+ \code
+
+ namespace Ui {
+ class CalculatorForm;
+ }
+
+ class CalculatorForm : public QWidget
+ ...
+ virtual ~CalculatorForm();
+ ...
+ private:
+ Ui::CalculatorForm *ui;
+ ...
+
+ \endcode
+
+ The corresponding source file looks as follows:
+
+ \code
+ #include "ui_calculatorform.h"
+
+ CalculatorForm::CalculatorForm(QWidget *parent) :
+ QWidget(parent), ui(new Ui::CalculatorForm)
+ {
+ ui->setupUi(this);
+ }
+
+ CalculatorForm::~CalculatorForm()
+ {
+ delete ui;
+ }
+ \endcode
+
+ The advantage of this approach is that the user interface object can be
+ forward-declared, which means that we do not have to include the generated
+ \c ui_calculatorform.h file in the header. The form can then be changed without
+ recompiling the dependent source files. This is particularly important if the
+ class is subject to binary compatibility restrictions.
+
+ We generally recommend this approach for libraries and large applications.
+ For more information, see \l{Creating Shared Libraries}.
\section2 The Multiple Inheritance Approach
@@ -1906,13 +1982,14 @@ pixmap property in the property editor.
{Multiple Inheritance} example.
We need to include the header file that \c uic generates from the
- \c calculatorform.ui file:
+ \c calculatorform.ui file, as follows:
\snippet examples/uitools/multipleinheritance/calculatorform.h 0
The class is defined in a similar way to the one used in the
\l{The Single Inheritance Approach}{single inheritance approach}, except that
- this time we inherit from \e{both} QWidget and \c{Ui::CalculatorForm}:
+ this time we inherit from \e{both} QWidget and \c{Ui::CalculatorForm},
+ as follows:
\snippet examples/uitools/multipleinheritance/calculatorform.h 1
@@ -1931,11 +2008,26 @@ pixmap property in the property editor.
same say as a widget created in code by hand. We no longer require the
\c{ui} prefix to access them.
- Subclassing using multiple inheritance gives us more direct access to the
- contents of the form, is slightly cleaner than the single inheritance
- approach, but does not conveniently support composition of multiple user
- interfaces.
+ \section2 Reacting to Language Changes
+
+ Qt notifies applications if the user interface language changes by sending an
+ event of the type QEvent::LanguageChange. To call the member function
+ \c retranslateUi() of the user interface object, we reimplement
+ \c QWidget::changeEvent() in the form class, as follows:
+ \code
+ void CalculatorForm::changeEvent(QEvent *e)
+ {
+ QWidget::changeEvent(e);
+ switch (e->type()) {
+ case QEvent::LanguageChange:
+ ui->retranslateUi(this);
+ break;
+ default:
+ break;
+ }
+ }
+ \endcode
\section1 Run Time Form Processing
diff --git a/doc/src/development/developing-with-qt.qdoc b/doc/src/development/developing-with-qt.qdoc
index 3972b59..6793abd 100644
--- a/doc/src/development/developing-with-qt.qdoc
+++ b/doc/src/development/developing-with-qt.qdoc
@@ -81,8 +81,8 @@
\o \l {Compiler Notes}
\o \l {Developing Qt Applications for Mac OS X}
\o \l {Known Issues}
- \o \l {Platform Notes}
- \o \l {Platform Notes - Symbian}
+ \o \l {Platform and Compiler Notes}
+ \o \l {Platform and Compiler Notes - Symbian}
\o \l {ActiveX in Qt}
\o \l {Qt for Embedded Linux Classes}
\o \l {Qt for Embedded Platforms}
@@ -112,4 +112,4 @@
\endtable
-*/ \ No newline at end of file
+*/
diff --git a/doc/src/development/qmake-manual.qdoc b/doc/src/development/qmake-manual.qdoc
index 018362e..d65967d 100644
--- a/doc/src/development/qmake-manual.qdoc
+++ b/doc/src/development/qmake-manual.qdoc
@@ -939,7 +939,9 @@
\snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 130
- The default values depend on the version of the Symbian SDK you're using.
+ The default values depend on the version of the Symbian SDK you're using,
+ however, the Qt toolchain sets this to the maximum possible value and this
+ should not be changed.
\section2 Compiler specific options
@@ -958,23 +960,30 @@
Symbian applications may have unique identifiers attached to them.
Here is how to define them in a project file:
- There are four types of IDs supported: \c UID2, \c UID3, \c SID, and \c VID. They
+ There are four available types of IDs supported: \c UID2, \c UID3, \c SID, and \c VID. They
are specified like this:
\snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 132
- If \c UID2 is not specified, it defaults to the same value as \c UID3.
+ If \c SID is not specified, it defaults to the same value as \c UID3.
If \c UID3 is not specified, qmake will automatically generate a \c UID3
suitable for development and debugging. This value should be manually
specified for applications that are to be released. In order to obtain
- an official UID, please contact Nokia. Both \c SID and \c VID default to empty values.
-
- For more information about unique identifiers and their meaning for
- Symbian applications, please refer to the Symbian SDK documentation.
-
+ an official UID, please contact \l{Symbian}{http:\\www.symbiansigned.com}.
+ Both \c SID and \c VID default to empty values.
+
+ There exists one UID1 too, but this should not be touched by any application.
+
+ The UID2 has a specific value for different types of files - e.g. apps/exes
+ are always 0x100039CE. The toolchain will set this for value for the most common file types like,
+ EXE/APP and shared library DLL.
+
+ For more information about unique identifiers and their meaning for Symbian applications,
+ please refer to the \l{Symbian SDK documentation}{http://developer.symbian.org/main/documentation/reference/s3/pdk/GUID-380A8C4F-3EB6-5E1C-BCFB-ED5B866136D9.html}
+
\section2 Capabilities
- Capabilities define extra priviledges for the application, such as the
+ Capabilities define extra privileges for the application, such as the
ability to list all files on the file system. Capabilities are defined
in the project file like this:
diff --git a/doc/src/development/qtestlib.qdoc b/doc/src/development/qtestlib.qdoc
index cc5afd2..e53957f 100644
--- a/doc/src/development/qtestlib.qdoc
+++ b/doc/src/development/qtestlib.qdoc
@@ -32,7 +32,7 @@
\ingroup frameworks-technologies
\ingroup qt-basic-concepts
-
+
\keyword qtestlib
The QTestLib framework, provided by Nokia, is a tool for unit
@@ -40,10 +40,6 @@
all the functionality commonly found in unit testing frameworks as
well as extensions for testing graphical user interfaces.
- Table of contents:
-
- \tableofcontents
-
\section1 QTestLib Features
QTestLib is designed to ease the writing of unit tests for Qt
@@ -88,6 +84,10 @@
\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{Partner Directory} for Qt testing products provided by
+ Nokia partners.
+
\section1 QTestLib API
@@ -213,17 +213,17 @@
\endlist
\section2 Creating a Benchmark
-
+
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 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:
-
+
\target testlib-benchmarking-measurement
\table
@@ -243,7 +243,7 @@
\o -eventcounter
\o All platforms
\endtable
-
+
In short, walltime is always available but requires many repetitions to
get a useful result.
Tick counters are usually available and can provide
@@ -255,7 +255,7 @@
Event counting is available on all platforms and it provides the number of events
that were received by the event loop before they are sent to their corresponding
targets (this might include non-Qt events).
-
+
\note Depending on the device configuration, Tick counters on the
Windows CE platform may not be as fine-grained, compared to other platforms.
Devices that do not support high-resolution timers default to
@@ -320,7 +320,7 @@
host computer and the device. Thus header files and libraries are needed to compile
cetest and QtRemote successfully.
- Prior to \l{Installing Qt on Windows CE}{installation} of Qt, you need to set your
+ Prior to \l{Installing Qt for Windows CE}{installation} of Qt, you need to set your
\c INCLUDE and \c LIB environment variables properly.
A default installation of Windows Mobile 5 for Pocket PC can be obtained by:
@@ -334,7 +334,7 @@
The CPU tick counters used for benchmarking is licensed under the following
license: (from src/testlib/3rdparty/cycle.h)
-
+
\legalese
Copyright (c) 2003, 2006 Matteo Frigo\br
Copyright (c) 2003, 2006 Massachusetts Institute of Technology
@@ -365,6 +365,7 @@
\brief A short introduction to testing with QTestLib.
\contentspage QTestLib Manual
\nextpage {Chapter 1: Writing a Unit Test}{Chapter 1}
+ \ingroup best-practices
\title QTestLib Tutorial
diff --git a/doc/src/examples/webkit-bridge-imageanalyzer.qdoc b/doc/src/examples/webkit-bridge-imageanalyzer.qdoc
index efc5623..cee2659 100644
--- a/doc/src/examples/webkit-bridge-imageanalyzer.qdoc
+++ b/doc/src/examples/webkit-bridge-imageanalyzer.qdoc
@@ -24,9 +24,10 @@
** $QT_END_LICENSE$
**
****************************************************************************/
+
/*!
\example webkit/imageanalyzer
- \startpage {index.html} {Qt Reference Documentation}
+ \startpage {index.html}{Qt Reference Documentation}
\title The Webkit Bridge Tutorial - Hybrid Client Application
In this example, we will show how to write a hybrid application using
@@ -37,6 +38,9 @@ user interface, displaying web content written in HTML/JavaScript. The
application uses QtConcurrent to distribute its work across as many CPU cores as
are available from the system, so it can process each image in parallel.
+For the full reference documentation of QtWebKit hybrid development, see
+\l{qtwebkit-bridge.html}{The QtWebKit Bridge}.
+
Initially, you will see a user interface with an empty list of images. Clicking
on some of the images in the lower pane below adds them to the list view above,
as shown in the screenshot below.
@@ -54,8 +58,8 @@ each image are shown.
\image webkit-imageanalyzer-complete.png
-The MainWindow is defined in C++, and creates a \c QNetworkCache and a
-\c QWebView, and tells the \c QWebView to load the starting page, providing us
+The MainWindow is defined in C++, and creates a \l QNetworkDiskCache and a
+\l QWebView, and tells the \l QWebView to load the starting page, providing us
with a user interface for the client.
\snippet examples/webkit/imageanalyzer/mainwindow.cpp MainWindow - constructor
@@ -67,8 +71,8 @@ likely be retrieved from the network rather than from resources.
We wish to initialize an object reference in the JavaScript web page to point
to our \tt ImageAnalyzer before any other scripts are run. To do this, we
-connect the \c javaScriptWindowObjectCleared() signal to a slot which does the
-object creation and handoff to JavaScript.
+connect the \l{QWebFrame::}{javaScriptWindowObjectCleared()} signal to a slot
+which does the object creation and handoff to JavaScript.
\snippet examples/webkit/imageanalyzer/mainwindow.cpp MainWindow - addJSObject
@@ -81,7 +85,7 @@ page's mainFrame with \c addToJavaScriptWindowObject().
\snippet examples/webkit/imageanalyzer/resources/index.html sample images
- Clicking an image adds it to an images list.
+Clicking an image adds it to an images list.
\snippet examples/webkit/imageanalyzer/resources/index.html addImage
@@ -94,14 +98,15 @@ When the user clicks the \bold {Analyze} button, \c analyzeImages() is called,
another regular JavaScript method, shown below.
Notice it assumes the \c imageAnalyzer object is already defined and initialized
in JavaScript space, but we guaranteed that by connecting our setup slot to the
-appropriate signal, \c javaScriptWindowObjectCleared().
+appropriate signal, \l{QWebFrame::}{javaScriptWindowObjectCleared()}.
\snippet examples/webkit/imageanalyzer/resources/index.html analyzeImages
The only methods on \c ImageAnalyzer that we can or do call from JavaScript are
-those which are exposed through Qt's MetaObject system: property getter/setter
-methods,
-\c public \c slots, \c signals, and other \c Q_INVOKABLE functions.
+those which are exposed through \{The Meta-Object System}{Qt's MetaObject}
+system: \l{The Property System}{property} getter/setter methods,
+\c public \l {Signals & Slots}{signals and slots}, and other
+\l{Q_INVOKABLE}{Q_INVOKABLE} functions.
\snippet examples/webkit/imageanalyzer/imageanalyzer.h ImageAnalyzer - public interface
\dots
@@ -138,13 +143,13 @@ will load them into a QImage when the data is ready.
\snippet examples/webkit/imageanalyzer/imageanalyzer.cpp ImageAnalyzer - handleReply
After the images are loaded, they are queued up in preparation to be
-sent in a batch for analysis to a \c QFutureWatcher, which will distribute the
+sent in a batch for analysis to a \l QFutureWatcher, which will distribute the
processing across multiple threads and cores, depending on how many are available.
\snippet examples/webkit/imageanalyzer/imageanalyzer.cpp ImageAnalyzer - queueImage
The function that gets performed on each image is \c averageRGB(),
-as specified in argument 2 to the \c QtConcurrent::mapped() function.
+as specified in argument 2 to the \l{QtConcurrent::mapped()} function.
Notice it repeats the same calculations 100 times on each pixel to keep the CPU
very busy. This is done only for the purposes of the demo so that the analysis
takes a noticeable time to complete.
diff --git a/doc/src/external-resources.qdoc b/doc/src/external-resources.qdoc
index 3041046..8eeaeb1 100644
--- a/doc/src/external-resources.qdoc
+++ b/doc/src/external-resources.qdoc
@@ -436,7 +436,12 @@
/*!
\externalpage https://developer.mozilla.org/en/JavaScript
- \title JavaScript
+ \title JavaScript Resources
+*/
+
+/*!
+ \externalpage https://developer.mozilla.org/en/JavaScript/Guide
+ \title JavaScript Guide
*/
/*!
diff --git a/doc/src/frameworks-technologies/dnd.qdoc b/doc/src/frameworks-technologies/dnd.qdoc
index 56b461e..356bf9b 100644
--- a/doc/src/frameworks-technologies/dnd.qdoc
+++ b/doc/src/frameworks-technologies/dnd.qdoc
@@ -44,7 +44,7 @@
outlines the approach used to enable it in custom widgets. Drag
and drop operations are also supported by Qt's item views and by
the graphics view framework. More information is available in
- \l{Using drag & drop with item views} and \l{Graphics View
+ \l{Using drag and drop with item views} and \l{Graphics View
Framework}.
\section1 Drag and Drop Classes
diff --git a/doc/src/frameworks-technologies/model-view-programming.qdoc b/doc/src/frameworks-technologies/model-view-programming.qdoc
index 6de567c..cc98432 100644
--- a/doc/src/frameworks-technologies/model-view-programming.qdoc
+++ b/doc/src/frameworks-technologies/model-view-programming.qdoc
@@ -32,7 +32,7 @@
/*!
\page model-view-programming.html
- \ingroup qt-basic-concepts
+ \ingroup qt-basic-concepts
\title Model/View Programming
\brief A guide to Qt's extensible model/view architecture.
@@ -1635,7 +1635,7 @@
contain the text given in the search string. This pattern can also be
used in the list and table widgets.
- \section1 Using drag & drop with item views
+ \section1 Using Drag and Drop with Item Views
Qt's drag and drop infrastructure is fully supported by the model/view framework.
Items in lists, tables, and trees can be dragged within the views, and data can be
@@ -1715,7 +1715,7 @@
of QAbstractItemModel::removeRows(), either directly or by inheriting the
implementation from its base class.
- \section3 Enabling drag & drop for items
+ \section3 Enabling drag and drop for items
Models indicate to views which items can be dragged, and which will accept drops,
by reimplementing the QAbstractItemModel::flags() function to provide suitable
@@ -2154,7 +2154,7 @@
models to supply some unique identifier to this function to ensure that
the model index can be re-associated with its corresponding item later on.
- \section2 Drag & drop support and MIME type handling
+ \section2 Drag and drop support and MIME type handling
The model/view classes support drag and drop operations, providing default behavior
that is sufficient for many applications. However, it is also possible to customize
@@ -2283,7 +2283,7 @@
\endlist
For more information about drag and drop with item views, refer to
- \l{Using drag & drop with item views}.
+ \l{Using drag and drop with item views}.
\section3 Convenience views
@@ -2294,7 +2294,7 @@
the existing contents with the data being transferred, the underlying model
will set the data of the target items rather than insert new rows and columns
into the model. For more information on drag and drop in convenience views,
- you can see \l{Using drag & drop with item views}.
+ you can see \l{Using drag and drop with item views}.
\section2 Performance optimization for large amounts of data
diff --git a/doc/src/frameworks-technologies/phonon.qdoc b/doc/src/frameworks-technologies/phonon.qdoc
index 83afb91..9620136 100644
--- a/doc/src/frameworks-technologies/phonon.qdoc
+++ b/doc/src/frameworks-technologies/phonon.qdoc
@@ -524,24 +524,5 @@
the QtOpenGL shared library. If this is not what you want, it is
possible to configure Qt without OpenGL support. In that case, you
need to run \c configure with the \c -no-opengl option.
-
- \section1 Work in Progress
-
- Phonon and its Qt backends, though fully functional for
- multimedia playback, are still under development. Functionality to
- come is the possibility to capture media and more processors for
- both music and video files.
-
- Another important consideration is to implement support for
- storing media to files; i.e., not playing back media directly.
-
- We also hope in the future to be able to support direct
- manipulation of media streams. This will give the programmer more
- freedom to manipulate streams than just through processors.
-
- Currently, the multimedia framework supports one input source. It will be
- possible to include several sources. This is useful in, for example, audio
- mixer applications where several audio sources can be sent, processed and
- output as a single audio stream.
*/
diff --git a/doc/src/getting-started/examples.qdoc b/doc/src/getting-started/examples.qdoc
index 398eee8..851e161 100644
--- a/doc/src/getting-started/examples.qdoc
+++ b/doc/src/getting-started/examples.qdoc
@@ -36,7 +36,7 @@
You can run the examples from the \l{Examples and Demos Launcher}
application (except see \l{QML Examples and Demos} {QML Examples}
- for special instructions for running thos examples).
+ for special instructions for running those examples).
The examples are listed below by functional area. Each example
listed in a particular functional area is meant to illustrate how
@@ -53,7 +53,8 @@
deliberately show off Qt's features. You might want to look at
these as well.
- These examples are provided under the terms of the \l{BSD License}.
+ These examples are provided under the terms of the
+ \l{New and Modified BSD Licenses}{Modified BSD License}.
\section1 Examples by Functional Area
diff --git a/doc/src/getting-started/gettingstartedqml.qdoc b/doc/src/getting-started/gettingstartedqml.qdoc
index 065628a..c555627 100644
--- a/doc/src/getting-started/gettingstartedqml.qdoc
+++ b/doc/src/getting-started/gettingstartedqml.qdoc
@@ -81,7 +81,7 @@
In QML, the basic visual item is the \l {Rectangle}{Rectangle} element. The
\c Rectangle element has properties to control the element's appearance and location.
- \snippet examples/tutorials/gettingStarted/gsQml/core/Button.qml document
+ \snippet examples/tutorials/gettingStarted/gsQml/parts/part0/Button.qml document
First, the \c { import QtQuick 1.0 } allows the qmlviewer tool to import the QML elements
we will later use. This line must exist for every QML file. Notice that the version
diff --git a/doc/src/getting-started/installation.qdoc b/doc/src/getting-started/installation.qdoc
index c6e79d9..a68310c 100644
--- a/doc/src/getting-started/installation.qdoc
+++ b/doc/src/getting-started/installation.qdoc
@@ -40,7 +40,7 @@ for your platform from the following list.
*/
/*! \page install-x11.html
-\title Installing Qt on X11 Platforms
+\title Installing Qt for X11 Platforms
\ingroup installation
\brief How to install Qt on platforms with X11.
\previouspage Installation
@@ -151,7 +151,7 @@ for your platform from the following list.
/*!
\page install-win.html
-\title Installing Qt on Windows
+\title Installing Qt for Windows
\ingroup installation
\brief How to install Qt on Windows.
\previouspage Installation
@@ -269,7 +269,7 @@ for your platform from the following list.
*/
/*! \page install-mac.html
-\title Installing Qt on Mac OS X
+\title Installing Qt for Mac OS X
\ingroup installation
\brief How to install Qt on Mac OS X.
\previouspage Installation
@@ -563,7 +563,7 @@ in the \l{Qt for the Symbian platform Requirements} 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
+the instructions given in the \l{Installing Qt for the Symbian platform from a
Binary Package} document.
\section1 Step 1: Set Up the Development Environment
@@ -697,187 +697,224 @@ 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.
-\section1 Step 1: Setup the development environment
+\section1 Step 1: Setup the Development Environment
+
+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.
+
- 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
- directory you want Qt installed, e.g. \c{/home/user/qt/%VERSION%}.
+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%}.
+
\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
- Then you can update the PATH variable;
+Then you can update the PATH variable;
+
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 37
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 37
\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
+
+to build the libraries using RVCT or
\snippet doc/src/snippets/code/doc_src_installation.qdoc 39
- to build the libraries using GCCE.
+
+to build the libraries using GCCE.
+
\section1 Step 5: Build Qt
- To build Qt for the device, type:
+To build Qt for the device, type:
\snippet doc/src/snippets/code/doc_src_installation.qdoc 40
- Congratulations, Qt is now ready to use.
+Congratulations, Qt is now ready to use.
-\section1 Step 6: Building Qt packages for the Device
- 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
- \bold{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:
- If you have no certificate, build a self signed Qt:
+\bold{Building a Qt package without a certificate}
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 41
+If you have no certificate, build a self signed Qt:
- The Qt libraries are built with "All -Tcb" capability, so that
- they can support all types of applications. However, these
- capabilities are automatically lowered if you make a self-signed
- package.
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 41
- \bold{Building a Qt package with a Symbian developer certificate}
+The Qt libraries are built with "All -Tcb" capability, so that
+they can support all types of applications. However, these
+capabilities are automatically lowered if you make a self-signed
+package.
- If you have a symbian-signed developer certificate, specify the
- capabilities you can sign for, for example:
+\bold{Building a Qt package with a Symbian developer certificate}
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 42
-
- \section2 Installing Qt packages to the device.
+If you have a Symbian-signed developer certificate, specify the
+capabilities you can sign for, for example:
- It is possible to install packages to a phone in Linux by putting
- the package on the phone memory card and then installing manually
- from the phone menu. However, this is tedious and will not work
- on phones without a memory card, so the method recommended by Qt is
- to use the App TRK tool.
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 42
- \section3 Obtaining the App TRK package.
+\section2 Installing Qt Packages to the Device.
- Download the package from the following location.
+It is possible to install packages to a phone in Linux by putting
+the package on the phone memory card and then installing manually
+from the phone menu. However, this is tedious and will not work
+on phones without a memory card, so the method recommended by Qt is
+to use the App TRK tool.
- \list
- \o \l{http://tools.ext.nokia.com/trk/}{Application TRK}.
- Choose the correct installation package based on the
- S60 version of your device
- (\c{S60_<S60-version>_app_trk_<TRK-version>.sisx}).
- \endlist
+\section3 Obtaining the App TRK package.
- This package currently has to be installed by putting the
- package on the memory card and installing from the phone
- menu, or using a Windows PC for doing the install. However,
- the installation only has to be done once.
+Download the package from the following location.
- \section3 Configuring App TRK on the phone.
+\list
+\o \l{http://tools.ext.nokia.com/trk/}{Application TRK}.
+ Choose the correct installation package based on the
+ S60 version of your device
+ (\c{S60_<S60-version>_app_trk_<TRK-version>.sisx}).
+\endlist
- When App TRK is installed, connect the phone to the PC using
- the USB cable. Select "PCSuite" as connection type. Then run
- App TRK on the phone, and make sure that the connection type is
- USB. This can be changed under
- the \c Settings menu entry. If necessary, choose \c Connect
- from the menu.
+This package currently has to be installed by putting the
+package on the memory card and installing from the phone
+menu, or using a Windows PC for doing the install. However,
+the installation only has to be done once.
- \section3 Configuring the USB serial driver on the Linux system.
+\section3 Configuring App TRK on the Phone
- On Linux, phone should appear as the \c /dev/ttyUSB1 device,
- however if you are running an old kernel, you may need to
- force the USB module to be loaded correctly before the device
- will appear:
+When App TRK is installed, connect the phone to the PC using
+the USB cable. Select "PCSuite" as connection type. Then run
+App TRK on the phone, and make sure that the connection type is
+USB. This can be changed under the \c Settings menu entry.
+If necessary, choose \c Connect from the menu.
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 43
+\section3 Configuring the USB Serial Driver on the Linux System
- Note the identifier on the line where your Symbian device
- appears. Then execute the following, using the first and
- second part of the identifier in place of \c XXX,
- respectively.
+On Linux, phone should appear as the \c /dev/ttyUSB1 device,
+however if you are running an old kernel, you may need to
+force the USB module to be loaded correctly before the device
+will appear:
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 44
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 43
- The \c rmmod step may fail if the module is not already
- loaded, but that is harmless.
+Note the identifier on the line where your Symbian device
+appears. Then execute the following, using the first and
+second part of the identifier in place of \c XXX,
+respectively.
- \section3 Building the \c runonphone tool.
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 44
- Note that building the \c runonphone tool requires a separate
- installation of Qt for Linux. If there is a version of Qt
- installed by your distribution's package mechanism, that that
- should do fine. Some distributions separate the libraries from
- the development setup which includes qmake. Make sure you have
- both installed.
+The \c rmmod step may fail if the module is not already
+loaded, but that is harmless.
- First make sure that the \c qmake you use is taken from the
- Linux installation of Qt. The easiest way to make sure of this
- is to open a new shell and run the following command:
+\section3 Building the runonphone Tool.
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 45
+Note that building the \c runonphone tool requires a separate
+installation of Qt for Linux. If there is a version of Qt
+installed by your distribution's package mechanism, that that
+should do fine. Some distributions separate the libraries from
+the development setup which includes \c qmake. Make sure you
+have both installed.
- \c qmake will tell you where it is installed.
+You will also need the \l{libusb} libraries and header files
+installed. Usually, installing a development package such as
+\c{libusb-dev} will ensure that you have all the necessary
+dependencies installed.
- Copy the \c{%QTDIR%/tools/runonphone} folder to a place outside
- of the Qt tree. Then go to the folder in a shell and build it:
+First, make sure that the \c qmake you use is taken from the
+Linux installation of Qt. The easiest way to make sure of this
+is to open a new shell and run the following command:
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 46
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 45
- Copy the resulting executable to a folder which is in your
- \c PATH environment variable.
+\c qmake will tell you where it is installed.
- \section3 Installing the built package onto the phone.
+Copy the \c{%QTDIR%/tools/runonphone} folder to a place outside
+of the Qt tree. Then go to the folder in a shell and build it:
- Return to the root of the Qt tree configured for Symbian. Then
- install the Qt libraries by running the following:
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 46
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 47
+Copy the resulting executable to a folder which is in your
+\c PATH environment variable.
- \note If the installation fails, please make sure that there is
- no previously installed version of Qt on the phone.
+\section3 Installing the Built Package onto the Phone
- Qt requires some dependent packages to be installed on the device,
- they are shipped in the Symbian SDK and can be installed using the
- runonphone tool as well.
- The packages can be found in the EPOCROOT at the following locations;
+\note Before starting, please make sure that there is no previously
+installed version of Qt on the phone.
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 50
+Return to the root of the Qt tree configured for Symbian. Then
+install the Qt libraries by running the following:
-\section1 Running Qt demos
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 47
- 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.
+You may need to supply the path of the serial device file using
+the \c{-p} option:
- Install and run the demo by using the following commands:
+\snippet doc/src/snippets/code/doc_src_installation.qdoc runonphone with device file path
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 48
+If the installation fails, please make sure that there is
+no previously installed version of Qt on the phone.
- The same command can be used for other applications:
+Qt requires some dependent packages to be installed on the device,
+they are shipped in the Symbian SDK and can be installed using the
+runonphone tool as well.
+The packages can be found in the EPOCROOT at the following locations;
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 49
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 50
- For more information about building and running Qt programs on the
- Symbian platform, see \l{The Symbian platform - Introduction to Qt}.
+It is also possible to install packages onto the device using the
+\c runonphone build rule that \c qmake automatically generates for
+each Qt project. Options can be supplied to the \c runonphone tool
+that is invoked begind the scenes:
- We hope you will enjoy using Qt.
+\snippet doc/src/snippets/code/doc_src_installation.qdoc make runonphone with options
+
+If you are running \c runonphone or invoking the \c runonphone
+build rule often, it is possible to set the \c QT_RUN_ON_PHONE_OPTIONS
+environment variable with the options you normally use:
+
+\snippet doc/src/snippets/code/doc_src_installation.qdoc make runonphone with preset environment variable
+
+This makes installation of packages onto a device easier and less
+error-prone.
+
+
+\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"
+demo.
+
+Install and run the demo by using the following commands:
+
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 48
+
+The same command can be used for other applications:
+
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 49
+
+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.
*/
/*!
diff --git a/doc/src/images/webkit-imageanalyzer-screenshot.png b/doc/src/images/webkit-imageanalyzer-screenshot.png
index 987f8a2..c96371a 100644
--- a/doc/src/images/webkit-imageanalyzer-screenshot.png
+++ b/doc/src/images/webkit-imageanalyzer-screenshot.png
Binary files differ
diff --git a/doc/src/index.qdoc b/doc/src/index.qdoc
index e42dfca..57fc18a 100644
--- a/doc/src/index.qdoc
+++ b/doc/src/index.qdoc
@@ -45,7 +45,7 @@
<li><a href="how-to-learn-qt.html">How to learn Qt</a></li>
<li><a href="tutorials.html">Tutorials</a></li>
<li><a href="all-examples.html">Examples</a></li>
- <li><a href="qt4-7-intro.html">Whats new in Qt 4.7</a></li>
+ <li><a href="qt4-7-intro.html">What's new in Qt 4.7</a></li>
</ul>
</div>
</div>
diff --git a/doc/src/legal/opensourceedition.qdoc b/doc/src/legal/opensourceedition.qdoc
index e3a3e27..602e6d3 100644
--- a/doc/src/legal/opensourceedition.qdoc
+++ b/doc/src/legal/opensourceedition.qdoc
@@ -46,7 +46,7 @@
that are compatible with these free software licenses.
Additionally, the \l{Qt Examples}{examples} included with Qt are provided under
- the terms of the \l{BSD License}.
+ the terms of the \l{New and Modified BSD Licenses}{Modified BSD License}.
The support of open source with the Open Source Versions of Qt has enabled large
successful software projects like KDE to thrive, with thousands of developers
diff --git a/doc/src/legal/trademarks.qdoc b/doc/src/legal/trademarks.qdoc
index 42cb7a9..3bf783f 100644
--- a/doc/src/legal/trademarks.qdoc
+++ b/doc/src/legal/trademarks.qdoc
@@ -33,20 +33,20 @@
\brief Information about trademarks owned by Nokia and other organisations.
Nokia, the Nokia logo, Qt, and the Qt logo are trademarks of Nokia
-  Corporation and/or its subsidiaries in Finland and other countries.
+ Corporation and/or its subsidiaries in Finland and other countries.
\list
\o Intel, Intel Inside (logos), MMX and Pentium are \reg trademarks of
Intel Corporation in the United States, other countries, or both.
- \o Java and all Java-based trademarks are trademarks of Sun Microsystems,
- Inc. in the United States, other countries, or both.
+ \o Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+ Other names may be trademarks of their respective owners.
\o Linux is a \reg trademark of Linus Torvalds in the United States, other
countries or both.
\o Mac, Mac OS and Macintosh are \reg trademarks of Apple Computer, Inc.,
registered in the U.S. and other countries.
- \o Microsoft, Windows, Windows NT, XP, Visual Studio and the Windows logo
- are \reg trademarks of Microsoft Corporation in the United States, other
- countries, or both.
+ \o Microsoft, Windows, Windows NT, XP, Windows Vista, Visual Studio and the
+ Windows logo are \reg trademarks of Microsoft Corporation in the United
+ States, other countries, or both.
\o Motif is a registered trademark of The Open Group in the United States,
other countries, or both.
\o OpenGL is a \reg trademark of Silicon Graphics, Inc. in the United States
diff --git a/doc/src/platforms/compiler-notes.qdoc b/doc/src/platforms/compiler-notes.qdoc
index 5ff3112..fb534df 100644
--- a/doc/src/platforms/compiler-notes.qdoc
+++ b/doc/src/platforms/compiler-notes.qdoc
@@ -31,273 +31,14 @@
\title Compiler Notes
\brief Information about the C++ compilers and tools used to build Qt.
- This page contains information about the C++ compilers and tools used
- to build Qt on various platforms.
+ This page used to contain information about the C++ compilers and tools
+ used to build Qt on various platforms. This information is now maintained
+ in the \l{Platform and Compiler Notes} for each platform.
- \tableofcontents
-
- Please refer to the \l{Platform Notes} for information on the platforms
- Qt is currently known to run on, and see the \l{Supported Platforms}
- page for information about the status of each platform.
+ Please refer to the \l{Supported Platforms} page for information about the
+ status of each platform.
If you have anything to add to this list or any of the platform or
compiler-specific pages, please submit it via the \l{Bug Report Form}
or through the \l{Public Qt Repository}.
-
- \section1 Supported Features
-
- Not all compilers used to build Qt are able to compile all modules. The following table
- shows the compiler support for five modules that are not uniformly available for all
- platforms and compilers.
-
- \table
- \header \o Compiler \o{5,1} Features
- \header \o \o Concurrent \o XmlPatterns \o WebKit(*) \o CLucene \o Phonon
- \row \o g++ 3.3 \o \o \bold{X} \o \o \bold{X} \o \bold{X}
- \row \o g++ 3.4 and up \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X}
- \row
- \row \o SunCC 5.5 \o \o \o \o \bold{X} \o \bold{X}
- \row
- \row \o aCC series 3 \o \o \o \o \bold{X} \o \bold{X}
- \row \o aCC series 6 \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X}
- \row \o xlC 6 \o \o \o \o \bold{X} \o \bold{X}
- \row \o Intel CC 10 \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X}
- \row
- \row \o MSVC 2003 \o \bold{X} \o \bold{X} \o \o \bold{X} \o \bold{X}
- \row \o MSVC 2005 and up \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X}
- \endtable
-
- * WebKit is only supported as a dynamically built library. Static linkage is not supported.
-
- \target GCC
- \section1 GCC
-
- \section2 GCC on Windows (MinGW)
-
- We have tested Qt with this compiler on Windows XP.
- The minimal version of MinGW supported is:
-
- \list
- \o GCC 3.4.2
- \o MinGW runtime 3.7
- \o win32api 3.2
- \o binutils 2.15.91
- \o mingw32-make 3.80.0-3
- \endlist
-
- \note For users of the MinGW binary package: This package is now
- based on MinGW 4.4. The installer no longer offers to download
- MinGW for you, but rather offers to use a version of MinGW that
- you already have installed on your machine. You just tell the
- installer which directory MinGW is installed in. If you don't
- already have MinGW 4.4 installed, you can download a .zip archive
- from our \l{ftp://ftp.trolltech.com/misc/MinGW-gcc440_1.zip} {ftp
- site}. This archive provides fixes to MinGW and support for
- missing API, See the _patches directory in the archive for
- details.
-
- \note A MinGW installation is only needed to build against the
- binary pacakge, not to run the pre-compiled binaries that are in
- the package.
-
- \section2 GCC 4.0.0
-
- The released package of the compiler has some bugs that lead to
- miscompilations. We recommend using GCC 4.0.1 or later, or to use
- a recent CVS snapshot of the GCC 4.0 branch. The version of GCC
- 4.0.0 that is shipped with Mac OS X 10.4 "Tiger" is known to work
- with Qt for Mac OS X.
-
- \section2 HP-UX
-
- The hpux-g++ platform is tested with GCC 3.4.4.
-
- \section2 Solaris
-
- Please use GCC 3.4.2 or later.
- Please not that WebKit is not supported for Solaris, regardless of which compiler is used.
-
- \section2 Mac OS X
-
- Please use the latest GCC 3.3 from Apple or a later version of GCC 3.
- The gcc 3.3 that is provided with Xcode 1.5 is known to generate bad code.
- Use the November 2004 GCC 3.3 updater \l{http://connect.apple.com}{available from Apple}.
-
- \section2 GCC 3.4.6 (Debian 3.4.6-5) on AMD64 (x86_64)
-
- This compiler is known to miscompile some parts of Qt when doing a
- release build. There are several workarounds:
-
- \list 1
- \o Use a debug build instead.
- \o For each miscompilation encountered, recompile the file, removing the -O2 option.
- \o Add -fno-gcse to the QMAKE_CXXFLAGS_RELEASE.
- \endlist
-
- \section1 HP ANSI C++ (aCC)
-
- The hpux-acc-32 and hpux-acc-64 platforms are tested with aCC A.03.57. The
- hpuxi-acc-32 and hpuxi-acc-64 platforms are tested with aCC A.06.10.
-
- \section1 Intel C++ Compiler
-
- Qt supports the Intel C++ compiler on both Windows and Linux.
- However, there are a few issues on Linux (see the following
- section).
-
- \section2 Intel C++ Compiler for Linux
-
- Nokia currently tests the following compilers:
-
- \list
-
- \o Intel(R) C++ Compiler for applications running on IA-32,
- Version 10.1 Build 20080602 Package ID: l_cc_p_10.1.017
-
- \o Intel(R) C++ Compiler for applications running on Intel(R) 64,
- Version 10.1 Build 20080602 Package ID: l_cc_p_10.1.017
-
- \endlist
-
- We do not currently test the IA-64 (Itanium) compiler.
-
- \section2 Known Issues with Intel C++ Compiler for Linux
-
- \list
-
- \o Precompiled header support does not work in version 10.0.025
- and older. For these compilers, you should configure Qt with
- -no-pch. Precompiled header support works properly in version
- 10.0.026 and later.
- \o Version 10.0.026 for Intel 64 is known to miscompile qmake when
- building in release mode. For now, configure Qt with
- -debug. Version 10.1.008 and later can compile qmake in release
- mode.
- \o Versions 10.1.008 to 10.1.015 for both IA-32 and Intel 64 are
- known crash with "(0): internal error: 0_47021" when compiling
- QtXmlPatterns, QtWebKit, and Designer in release mode. Version
- 10.1.017 compiles these modules correctly in release mode.
- \endlist
-
- \section2 Intel C++ Compiler (Windows, Altix)
-
- Qt 4 has been tested successfully with:
-
- \list
- \o Windows - Intel(R) C++ Compiler for 32-bit applications,
- Version 9.1.040.
- \o Altix - Intel(R) C++ Itanium(R) Compiler for Itanium(R)-based
- applications Version 8.1 Build 20050406 Package ID: l_cc_pc_8.1.030
- \endlist
-
- We currently only test the Intel compiler on 32-bit Windows versions.
-
- \section1 MIPSpro (IRIX)
-
- \bold{IRIX is an unsupported platform. See the \l{Supported Platforms} page
- and Qt's Software's online \l{Platform Support Policy} page for details.}
-
- Qt 4.4.x requires MIPSpro version 7.4.2m.
-
- Note that MIPSpro version 7.4.4m is currently not supported, since it has
- introduced a number of problems that have not yet been resolved.
- We recommend using 7.4.2m for Qt development. However, please note the
- unsupported status of this platform.
-
- \target Sun Studio
- \section1 Forte Developer / Sun Studio (Solaris)
-
- \section2 Sun Studio
-
- Qt is tested using Sun Studio 12 (Sun CC 5.9). Go to
- \l{Sun Studio Patches} page on Sun's Web site to download
- the latest patches for your Sun compiler.
-
- Please note that Qt 4.6 is stricter in its STL requirements and
- that the default STL implementation used by Sun CC does not pass
- those requirements. This does not affect binary compatibility and
- you can continue to use STL in your own code, but Qt's
- STL-compatibility functions will be disabled.
-
- Sun CC ships with a secondary STL implementation (called stlport4)
- which is standards-compliant and can be used by Qt. You can enable
- it by passing the -library=stlport4 option to the compiler. Note
- that this does not affect Qt's binary compatibility, but it may
- affect that of other libraries and programs that use STL.
-
- \section2 Sun WorkShop 5.0
-
- Sun WorkShop 5.0 is not supported with Qt 4.
-
- \section1 Visual Studio (Windows)
-
- We do most of our Windows development on Windows XP, using Microsoft
- Visual Studio .NET 2005 and Visual Studio 2008 (both the 32- and 64-bit
- versions).
-
- Qt works with the Standard Edition, the Professional Edition and Team
- System Edition of Visual Studio 2005.
-
- In order to use Qt with the Visual Studio 2005/2008 Express Edition you need
- to download and install the platform SDK. Due to limitations in the
- Express Edition it is not possible for us to install the Qt Visual
- Studio Integration. You will need to use our command line tools to
- build Qt applications with this edition.
-
- The Visual C++ Linker doesn't understand filenames with spaces (as in
- \c{C:\Program files\Qt\}) so you will have to move it to another place,
- or explicitly set the path yourself; for example:
-
- \snippet doc/src/snippets/code/doc_src_compiler-notes.qdoc 0
-
- If you are experiencing strange problems with using special flags that
- modify the alignment of structure and union members (such as \c{/Zp2})
- then you will need to recompile Qt with the flags set for the
- application as well.
-
- If you're using Visual Studio .NET (2002) Standard Edition, you should be
- using the Qt binary package provided, and not the source package.
- As the Standard Edition does not optimize compiled code, your compiled
- version of Qt would perform suboptimally with respect to speed.
-
- With Visual Studio 2005 Service Pack 1 a bug was introduced which
- causes Qt not to compile, this has been fixed with a hotfix available
- from Microsoft. See this
- \l{http://qt.nokia.com/developer/faqs/faq.2006-12-18.3281869860}{Knowledge Base entry}
- for more information.
-
- There currently is a problem when compiling Qt with Visual Studio 2010 for 64-bit.
- Its optimizer causes trouble and generates code that crashes for the release builds.
- To avoid the crashes, You need to apply the hotfix in the following article
- http://support.microsoft.com/kb/2280741.
-
- \section1 IBM xlC (AIX)
-
- The makeC++SharedLib utility must be in your PATH and be up to date to
- build shared libraries. From IBM's
- \l{http://www.redbooks.ibm.com/abstracts/sg245674.html}{C and C++ Application Development on AIX}
- Redbook:
-
- \list
- \o "The second step is to use the makeC++SharedLib command to create the
- shared object. The command has many optional arguments, but in its
- simplest form, can be used as follows:"
- \snippet doc/src/snippets/code/doc_src_compiler-notes.qdoc 1
- \o "The full path name to the command is not required; however, to avoid
- this, you will have to add the directory in which it is located to
- your PATH environment variable. The command is located in the
- /usr/vacpp/bin directory with the VisualAge C++ Professional for AIX,
- Version 5 compiler."
- \endlist
-
- \section2 VisualAge C++ for AIX, Version 6.0
-
- Make sure you have the
- \l{http://www-1.ibm.com/support/search.wss?rs=32&amp;tc=SSEP5D&amp;dc=D400}{latest upgrades}
- installed.
-
- \section2 GCCE (Symbian)
-
- GCCE cannot be used to compile Qt libaries for the Symbian platform, but GCCE is supported
- when compiling Qt applications for Symbian platform.
*/
diff --git a/doc/src/platforms/emb-deployment.qdoc b/doc/src/platforms/emb-deployment.qdoc
index 6b22ba4..9a36097 100644
--- a/doc/src/platforms/emb-deployment.qdoc
+++ b/doc/src/platforms/emb-deployment.qdoc
@@ -58,7 +58,7 @@
directory relative to the path set using the \c -prefix parameter
when running the \c configure script; ensure that this is a
sensible path in the target device environment. See the
- \l {Installing Qt on Embedded Linux#Step 3: Building the
+ \l {Installing Qt for Embedded Linux#Step 3: Building the
Library}{installation} documentation for more details.
\section1 Environment Variables
diff --git a/doc/src/platforms/emb-hardwareacceleration.qdocinc b/doc/src/platforms/emb-hardwareacceleration.qdocinc
index fb00e09..83ecef5 100644
--- a/doc/src/platforms/emb-hardwareacceleration.qdocinc
+++ b/doc/src/platforms/emb-hardwareacceleration.qdocinc
@@ -1,140 +1,140 @@
- \section1 Hardware Acceleration
-
- When designing applications for embedded devices there is often a
- compromise between graphics effects and performance. On most
- devices, you cannot have both simply because the hardware needed
- for such operations just is not there. With a growing number of
- devices that use hardware dedicated to graphics operations there is
- less need to compromise.
-
- In addition to enabling dynamic graphics effects, there are two
- other benefits to using graphics acceleration. One is that graphics
- acceleration hardware is more power efficient than using the CPU.
- The reason for this is that the CPU might require a clock speed
- that is up to 20 times higher than the GPU, achieving the same
- results. E.g. a typical hardware accelerated mobile graphics unit
- can rasterize one or two bilinear texture fetches in one cycle,
- while a software implementation takes easily more than 20 cycles.
- Typical \e {System-on-a-chip} (SoC) graphics hardware generally have
- a much lower clock speed and memory bandwidth, and different level
- of acceleration than desktop GPUs. One example is that many GPUs
- leave out transformation and lighting from the graphics pipeline
- and only implements rasterization.
-
- Another reason to use a GPU is to offload the main CPU, either for
- power saving or to perform other operations in parallel. Often
- drawing speed with a GPU is not that much faster than a CPU but
- the clear benefit of using the GPU is to free up the CPU to perform
- other tasks which can be used to create a more responsive use
- experience.
-
- The key to writing good applications for devices is therefore to
- limit the wow factor down to what the target hardware can handle,
- and to take advantage of any graphics dedicated hardware. Qt
- provides several ways to both render advanced effects on the screen
- and speed up your application using hardware accelerated graphics.
-
- \tableofcontents
-
- \section2 Qt for Embedded Graphics pipeline
-
- Qt uses QPainter for all graphics operations. By using the same API
- regardless of platform, the code can be reused on different devices.
- QPainter use different paint engines implemented in the QPaintEngine API to
- do the actual painting.
-
- The QPaintEngine API provides paint engines for each window system and
- painting framework supported by Qt. In regards to Qt for Embedded, this
- also includes implementations for OpenGL ES versions 1.1 and 2.0, as well
- as OpenVG and DirectFB(Embedded Linux only).
-
- By using one of these paint engines, you will be able to improve the
- graphics performance of your Qt application. However, if the graphics
- operations used are not supported, this might as well be a trap, slowing
- down your application significantly. This all depends on what kind of
- graphics operations that are supported by the target devices hardware
- configuration.
-
- \image platformHWAcc.png
-
- The paint engine will direct all graphics operations supported by the
- devices hardware to the GPU, and from there they are sent to the
- framebuffer. Unsupported graphics operations falls back to the
- QRasterPaintEngine and are handled by the CPU before sent to the
- framebuffer. In the end, the operating system sends the paint updates off
- to the screen/display. The fallback operation is quite expensive in regards
- to memory consumption, and should be avoided.
-
- \section2 Hardware configuration requirements
-
- Before implementing any application using hardware acceleration, it is wise
- to get an overview of what kind of hardware accelerated graphics operations
- that are available for the target device.
-
- \note On devices with no hardware acceleration, Qt will use
- QRasterPaintEngine, which handles the acceleration using software. On
- devices supporting OpenGL ES, OpenVG or DirectFB(not supported by Windows
- CE), Qt will use the
- respective paint engines to accelerate painting. However, hardware
- configurations that only support a limited set of hardware acceleration
- features, might slow the application graphics down rather than speeding it
- up when using unsupported operations that must fall back to the raster
- engine.
-
- \section3 Different architectures
-
- Based on the architecture used in a device we can make a recommendation on
- which hardware acceleration techniques to use. There are mainly two
- different architectures on embedded devices. These are devices with a
- Unified Memory Architecture (UMA), and devices with dedicated graphics
- memory. Generally, high-end devices will have dedicated graphics memory.
- Low-end devices will just use system memory, sometimes reserving a memory
- region and sometimes not.
-
- In addition to this, we can categorize the devices into five types based on
- the different graphics operations supported by their hardware.
-
- \list 1
- \o No support for graphics acceleration.
- \o Support for blitter and alpha blending.
- \o Support for path based 2D vector graphics.
- \o Support for fixed function 3D graphics.
- \o Support for programmable 3D graphics.
- \endlist
-
- Based on these characteristics the table below recommends which paint
- engines to use with the different types of hardware configurations.
-
- \section3 Recommended use of hardware acceleration based on hardware
-
- \table
- \header
- \o Type
- \o UMA
- \o Non-UMA
- \row
- \o \bold {None}
- \o Qt Raster Engine
- \o Qt Raster Engine
- \row
- \o \bold {Blitter}
- \o DirectFB
- \o DirectFB
- \row
- \o \bold {2D Vector}
- \o OpenVG
- \o OpenVG
- \row
- \o \bold {Fixed 3D}
- \o OpenGL (ES) 1.x
- \o OpenGL (ES) 1.x
- \row
- \o \bold {Programmable 3D}
- \o OpenGL (ES) 2.x
- \o OpenGL (ES) 2.x
- \endtable
-
- \note Since the DirectFB API is quite primitive, the raster paint engine
- handles most of the operations.
-
- \note Blitter and Alpha blending is currently not supported on Windows CE.
+\section1 Hardware Acceleration
+
+When designing applications for embedded devices there is often a
+compromise between graphics effects and performance. On most
+devices, you cannot have both simply because the hardware needed
+for such operations just is not there. With a growing number of
+devices that use hardware dedicated to graphics operations there is
+less need to compromise.
+
+In addition to enabling dynamic graphics effects, there are two
+other benefits to using graphics acceleration. One is that graphics
+acceleration hardware is more power efficient than using the CPU.
+The reason for this is that the CPU might require a clock speed
+that is up to 20 times higher than the GPU, achieving the same
+results. E.g. a typical hardware accelerated mobile graphics unit
+can rasterize one or two bilinear texture fetches in one cycle,
+while a software implementation takes easily more than 20 cycles.
+Typical \e {System-on-a-chip} (SoC) graphics hardware generally have
+a much lower clock speed and memory bandwidth, and different level
+of acceleration than desktop GPUs. One example is that many GPUs
+leave out transformation and lighting from the graphics pipeline
+and only implements rasterization.
+
+Another reason to use a GPU is to offload the main CPU, either for
+power saving or to perform other operations in parallel. Often
+drawing speed with a GPU is not that much faster than a CPU but
+the clear benefit of using the GPU is to free up the CPU to perform
+other tasks which can be used to create a more responsive use
+experience.
+
+The key to writing good applications for devices is therefore to
+limit the wow factor down to what the target hardware can handle,
+and to take advantage of any graphics dedicated hardware. Qt
+provides several ways to both render advanced effects on the screen
+and speed up your application using hardware accelerated graphics.
+
+\tableofcontents
+
+\section2 Qt for Embedded Graphics pipeline
+
+Qt uses QPainter for all graphics operations. By using the same API
+regardless of platform, the code can be reused on different devices.
+QPainter use different paint engines implemented in the QPaintEngine API to
+do the actual painting.
+
+The QPaintEngine API provides paint engines for each window system and
+painting framework supported by Qt. In regards to Qt for Embedded, this
+also includes implementations for OpenGL ES versions 1.1 and 2.0, as well
+as OpenVG and DirectFB(Embedded Linux only).
+
+By using one of these paint engines, you will be able to improve the
+graphics performance of your Qt application. However, if the graphics
+operations used are not supported, this might as well be a trap, slowing
+down your application significantly. This all depends on what kind of
+graphics operations that are supported by the target devices hardware
+configuration.
+
+\image platformHWAcc.png
+
+The paint engine will direct all graphics operations supported by the
+devices hardware to the GPU, and from there they are sent to the
+framebuffer. Unsupported graphics operations falls back to the
+QRasterPaintEngine and are handled by the CPU before sent to the
+framebuffer. In the end, the operating system sends the paint updates off
+to the screen/display. The fallback operation is quite expensive in regards
+to memory consumption, and should be avoided.
+
+\section2 Hardware configuration requirements
+
+Before implementing any application using hardware acceleration, it is wise
+to get an overview of what kind of hardware accelerated graphics operations
+that are available for the target device.
+
+\note On devices with no hardware acceleration, Qt will use
+QRasterPaintEngine, which handles the acceleration using software. On
+devices supporting OpenGL ES, OpenVG or DirectFB(not supported by Windows
+CE), Qt will use the
+respective paint engines to accelerate painting. However, hardware
+configurations that only support a limited set of hardware acceleration
+features, might slow the application graphics down rather than speeding it
+up when using unsupported operations that must fall back to the raster
+engine.
+
+\section3 Different architectures
+
+Based on the architecture used in a device we can make a recommendation on
+which hardware acceleration techniques to use. There are mainly two
+different architectures on embedded devices. These are devices with a
+Unified Memory Architecture (UMA), and devices with dedicated graphics
+memory. Generally, high-end devices will have dedicated graphics memory.
+Low-end devices will just use system memory, sometimes reserving a memory
+region and sometimes not.
+
+In addition to this, we can categorize the devices into five types based on
+the different graphics operations supported by their hardware.
+
+\list 1
+ \o No support for graphics acceleration.
+ \o Support for blitter and alpha blending.
+ \o Support for path based 2D vector graphics.
+ \o Support for fixed function 3D graphics.
+ \o Support for programmable 3D graphics.
+\endlist
+
+Based on these characteristics the table below recommends which paint
+engines to use with the different types of hardware configurations.
+
+\section3 Recommended use of hardware acceleration based on hardware
+
+\table
+ \header
+ \o Type
+ \o UMA
+ \o Non-UMA
+ \row
+ \o \bold {None}
+ \o Qt Raster Engine
+ \o Qt Raster Engine
+ \row
+ \o \bold {Blitter}
+ \o DirectFB
+ \o DirectFB
+ \row
+ \o \bold {2D Vector}
+ \o OpenVG
+ \o OpenVG
+ \row
+ \o \bold {Fixed 3D}
+ \o OpenGL (ES) 1.x
+ \o OpenGL (ES) 1.x
+ \row
+ \o \bold {Programmable 3D}
+ \o OpenGL (ES) 2.x
+ \o OpenGL (ES) 2.x
+\endtable
+
+\note Since the DirectFB API is quite primitive, the raster paint engine
+handles most of the operations.
+
+\note Blitter and Alpha blending is currently not supported on Windows CE.
diff --git a/doc/src/platforms/emb-install.qdoc b/doc/src/platforms/emb-install.qdoc
index 11392b4..b5b408a 100644
--- a/doc/src/platforms/emb-install.qdoc
+++ b/doc/src/platforms/emb-install.qdoc
@@ -28,10 +28,10 @@
/*!
\page qt-embedded-install.html
- \title Installing Qt on Embedded Linux
+ \title Installing Qt for Embedded Linux
\ingroup qt-embedded-linux
\ingroup installation
- \brief How to install Qt on Embedded Linux.
+ \brief How to install Qt for Embedded Linux.
This document describes how to install \l{Qt for Embedded Linux} in your
development environment:
@@ -152,7 +152,7 @@
\endlist
Note that the virtual framebuffer requires a Qt for X11
- installation. See \l {Installing Qt on X11 Platforms} for details.
+ installation. See \l {Installing Qt for X11 Platforms} for details.
The Linux framebuffer, on the other hand, is enabled by default on
all modern Linux distributions. For information on older versions,
diff --git a/doc/src/platforms/emb-pointer.qdoc b/doc/src/platforms/emb-pointer.qdoc
index 22935b4..81e532f 100644
--- a/doc/src/platforms/emb-pointer.qdoc
+++ b/doc/src/platforms/emb-pointer.qdoc
@@ -186,8 +186,11 @@
device file. Some drivers also require write access to the device file.
For instance, if you have specified the mouse driver with
\snippet doc/src/snippets/code/doc_src_emb-pointer.qdoc 11
- then examine the permissions of the device file by entering the following
- command in a console:
+ then examine the permissions of the device file by entering the
+ following command in a console:
+ \snippet doc/src/snippets/code/doc_src_emb-pointer.qdoc show permissions
+ Change the permissions of the device file, if necessary, in the following
+ way:
\snippet doc/src/snippets/code/doc_src_emb-pointer.qdoc 12
If the device file is actually a symbolic link to another file, you must
diff --git a/doc/src/platforms/emb-qvfb.qdoc b/doc/src/platforms/emb-qvfb.qdoc
index 4be2f64..418d2d2 100644
--- a/doc/src/platforms/emb-qvfb.qdoc
+++ b/doc/src/platforms/emb-qvfb.qdoc
@@ -40,8 +40,8 @@
QVFb is an X11 application supplied with Qt for X11 that provides
a virtual framebuffer for Qt for Embedded Linux to use. To use it,
- you need to \l{Installing Qt on X11 Platforms}{configure and
- install Qt on X11 platforms} appropriately. Further requirements
+ you need to \l{Installing Qt for X11 Platforms}{configure and
+ install Qt for X11 platforms} appropriately. Further requirements
can be found in the \l{Qt for Embedded Linux Requirements}
document.
diff --git a/doc/src/platforms/emb-running.qdoc b/doc/src/platforms/emb-running.qdoc
index 269f4f3..12222a6 100644
--- a/doc/src/platforms/emb-running.qdoc
+++ b/doc/src/platforms/emb-running.qdoc
@@ -63,7 +63,7 @@
\row
\o
Provided that the environment variables are adjusted properly
- during the \l {Installing Qt on Embedded Linux}{installation process}, you
+ during the \l {Installing Qt for Embedded Linux}{installation process}, you
should see the \l {Text Edit} demo appear.
It might be that the hardware drivers must be specified explicitly
diff --git a/doc/src/platforms/mac-differences.qdoc b/doc/src/platforms/mac-differences.qdoc
index dfcecca..8436043 100644
--- a/doc/src/platforms/mac-differences.qdoc
+++ b/doc/src/platforms/mac-differences.qdoc
@@ -32,7 +32,7 @@
\ingroup platform-specific
This file outlines known issues and possible workarounds when
- using Qt on Mac OS X. Contact Qt's technical support team if you find
+ using Qt for Mac OS X. Contact Qt's technical support team if you find
additional issues which are not covered here. (See also the
document \l{qtmac-as-native.html} {Qt is Mac OS X Native}.)
diff --git a/doc/src/platforms/platform-notes-rtos.qdoc b/doc/src/platforms/platform-notes-rtos.qdoc
index 4a34ece..8c30701 100644
--- a/doc/src/platforms/platform-notes-rtos.qdoc
+++ b/doc/src/platforms/platform-notes-rtos.qdoc
@@ -27,8 +27,8 @@
/*!
\page platform-notes-vxworks.html
- \title Platform Notes - VxWorks
- \contentspage Platform Notes
+ \title Platform and Compiler Notes - VxWorks
+ \contentspage Platform and Compiler Notes
\target VxWorks
\note VxWorks is a community supported platform. See the
@@ -143,8 +143,8 @@
/*!
\page platform-notes-qnx.html
- \title Platform Notes - QNX
- \contentspage Platform Notes
+ \title Platform and Compiler Notes - QNX
+ \contentspage Platform and Compiler Notes
\target QNX
\note QNX is a community supported platform. See the
diff --git a/doc/src/platforms/platform-notes.qdoc b/doc/src/platforms/platform-notes.qdoc
index dff1b5b..dbedc1d 100644
--- a/doc/src/platforms/platform-notes.qdoc
+++ b/doc/src/platforms/platform-notes.qdoc
@@ -39,35 +39,91 @@
/*!
\page platform-notes.html
\ingroup platform-specific
- \title Platform Notes
+ \title Platform and Compiler Notes
\brief Information about the platforms on which Qt can be used.
This page contains information about the platforms Qt is currently known
to run on, with links to platform-specific notes, including any known bugs
or incompatibilities.
+ Information about the combinations of platforms and compilers
+ supported by Qt can be found on the \l{Supported Platforms} page.
+
\list
- \o \l{Platform Notes - X11}
- \tableofcontents{1 Platform Notes - X11}
- \o \l{Platform Notes - Windows}
- \tableofcontents{1 Platform Notes - Windows}
- \o \l{Platform Notes - Mac OS X}
- \tableofcontents{1 Platform Notes - Mac OS X}
- \o \l{Platform Notes - Symbian}
- \tableofcontents{1 Platform Notes - Symbian}
- \o \l{Platform Notes - Embedded Linux}
- \tableofcontents{1 Platform Notes - Embedded Linux}
- \o \l{Platform Notes - Windows CE}
- \tableofcontents{1 Platform Notes - Windows CE}
- \o \l{Platform Notes - QNX}
- \tableofcontents{1 Platform Notes - QNX}
- \o \l{Platform Notes - VxWorks}
- \tableofcontents{1 Platform Notes - VxWorks}
+ \o \l{Platform and Compiler Notes - X11}
+ \tableofcontents{1 Platform and Compiler Notes - X11}
+ \o \l{Platform and Compiler Notes - Windows}
+ \tableofcontents{1 Platform and Compiler Notes - Windows}
+ \o \l{Platform and Compiler Notes - Mac OS X}
+ \tableofcontents{1 Platform and Compiler Notes - Mac OS X}
+ \o \l{Platform and Compiler Notes - Symbian}
+ \tableofcontents{1 Platform and Compiler Notes - Symbian}
+ \o \l{Platform and Compiler Notes - Embedded Linux}
+ \tableofcontents{1 Platform and Compiler Notes - Embedded Linux}
+ \o \l{Platform and Compiler Notes - Windows CE}
+ \tableofcontents{1 Platform and Compiler Notes - Windows CE}
+ \o \l{Platform and Compiler Notes - QNX}
+ \tableofcontents{1 Platform and Compiler Notes - QNX}
+ \o \l{Platform and Compiler Notes - VxWorks}
+ \tableofcontents{1 Platform and Compiler Notes - VxWorks}
\endlist
- See also the \l{Compiler Notes} for information about compiler-specific
- build issues. Information about the combinations of platforms and compilers
- supported by Qt can be found on the \l{Supported Platforms} page.
+ \section1 General Compiler Notes
+
+ \section2 Supported Features
+
+ Not all compilers used to build Qt are able to compile all modules. The following table
+ shows the compiler support for five modules that are not uniformly available for all
+ platforms and compilers.
+
+ \table
+ \header \o Compiler \o{5,1} Features
+ \header \o \o Concurrent \o XmlPatterns \o WebKit(*) \o CLucene \o Phonon
+ \row \o g++ 3.3 \o \o \bold{X} \o \o \bold{X} \o \bold{X}
+ \row \o g++ 3.4 and up \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X}
+ \row
+ \row \o SunCC 5.5 \o \o \o \o \bold{X} \o \bold{X}
+ \row
+ \row \o aCC series 3 \o \o \o \o \bold{X} \o \bold{X}
+ \row \o aCC series 6 \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X}
+ \row \o xlC 6 \o \o \o \o \bold{X} \o \bold{X}
+ \row \o Intel CC 10 \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X}
+ \row
+ \row \o MSVC 2003 \o \bold{X} \o \bold{X} \o \o \bold{X} \o \bold{X}
+ \row \o MSVC 2005 and up \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X}
+ \endtable
+
+ * WebKit is only supported as a dynamically built library. Static linkage is not supported.
+
+ \section2 GCC 3.4.6 (Debian 3.4.6-5) on AMD64 (x86_64)
+
+ This compiler is known to miscompile some parts of Qt when doing a
+ release build. There are several workarounds:
+
+ \list 1
+ \o Use a debug build instead.
+ \o For each miscompilation encountered, recompile the file, removing the \c{-O2} option.
+ \o Add \c{-fno-gcse} to the
+ \l{qmake Variable Reference#QMAKE_CXXFLAGS_RELEASE}{QMAKE_CXXFLAGS_RELEASE} qmake
+ variable.
+ \endlist
+
+ \section2 GCC 4.0.0
+
+ The released package of the compiler has some bugs that lead to
+ miscompilations. We recommend using GCC 4.0.1 or later, or to use
+ a recent CVS snapshot of the GCC 4.0 branch. The version of GCC
+ 4.0.0 that is shipped with Mac OS X 10.4 "Tiger" is known to work
+ with Qt for Mac OS X.
+
+ \section2 Intel C++ Compiler
+
+ Qt supports the Intel C++ compiler on both Windows and Linux.
+ However, there are a few issues on Linux; see
+ \l{Platform and Compiler Notes - X11#Intel C++ Compiler for Linux}{Intel C++ Compiler for Linux}
+ for details.
+
+ \section1 Feedback and Corrections
If you have anything to add to this list or any of the platform or
compiler-specific pages, please submit it via the \l{Bug Report Form}
@@ -76,8 +132,8 @@
/*!
\page platform-notes-x11.html
- \title Platform Notes - X11
- \contentspage Platform Notes
+ \title Platform and Compiler Notes - X11
+ \contentspage Platform and Compiler Notes
This page contains information about the X11 platforms Qt is currently
known to run on, with links to platform-specific notes. More information
@@ -89,8 +145,7 @@
\target AIX
\section1 AIX - 5.2
- Qt has been tested on AIX 5.2, using the
- \l{Compiler Notes#IBM xlC (AIX)}{xlC} compiler.
+ Qt has been tested on AIX 5.2, using the xlC compiler.
\table
\header \o Compiler \o Notes
@@ -113,13 +168,38 @@
either \c{-no-stl} or \c{-no-largefile}.
\endtable
+ \section2 IBM xlC
+
+ The makeC++SharedLib utility must be in your PATH and be up to date to
+ build shared libraries. From IBM's
+ \l{http://www.redbooks.ibm.com/abstracts/sg245674.html}{C and C++ Application Development on AIX}
+ Redbook:
+
+ \list
+ \o "The second step is to use the makeC++SharedLib command to create the
+ shared object. The command has many optional arguments, but in its
+ simplest form, can be used as follows:"
+ \snippet doc/src/snippets/code/doc_src_compiler-notes.qdoc 1
+ \o "The full path name to the command is not required; however, to avoid
+ this, you will have to add the directory in which it is located to
+ your PATH environment variable. The command is located in the
+ /usr/vacpp/bin directory with the VisualAge C++ Professional for AIX,
+ Version 5 compiler."
+ \endlist
+
+ \section2 VisualAge C++ for AIX, Version 6.0
+
+ Make sure you have the
+ \l{http://www-1.ibm.com/support/search.wss?rs=32&amp;tc=SSEP5D&amp;dc=D400}{latest upgrades}
+ installed.
+
\target FreeBSD
\section1 FreeBSD - 6.0-RELEASE
\note FreeBSD is a community supported platform. See the
\l{Supported Platforms} page for more information.
- The system compiler on FreeBSD 4.x is gcc 2.95.4, which is not
+ The system compiler on FreeBSD 4.x is GCC 2.95.4, which is not
officially supported by Qt 4. We develop using and recommend
ports/lang/gcc34. You will need to run configure with the
\c{-platform freebsd-g++34} arguments. Optionally, you may use
@@ -132,7 +212,6 @@
Note that we do not actively test FreeBSD 4.x and 5.x. Our developers
migrated to 6.x after the Qt 4 launch. FreeBSD-CURRENT is not supported.
- \target HP-UX
\section1 HP-UX
Qt supports HP-UX on both PA-RISC and the Itanium (IA64) architectures.
@@ -140,17 +219,26 @@
\section2 PA-RISC - B.11.11 or later
You can configure Qt for aCC in 32 and 64 bit mode (hpux-acc-64 or
- hpux-acc-32), or gcc in 32 bit mode (hpux-g++). The default platform is
+ hpux-acc-32), or GCC in 32 bit mode (hpux-g++). The default platform is
hpux-acc-32. The minimum required version for aCC (HP ANSI C++) on PA-RISC
- is A.03.57. The supported gcc compiler is gcc 3.4.3.
+ is A.03.57. The supported GCC compiler is GCC 3.4.3.
\section2 Itanium - B.11.23 or later
You can configure Qt for aCC in 32 and 64 bit mode (hpuxi-acc-64 or
- hpuxi-acc-32). gcc is currently unsupported. The default platform is
+ hpuxi-acc-32). GCC is currently unsupported. The default platform is
hpuxi-acc-64. The minimum required version for aCC (HP ANSI C++) on
Itanium is A.06.12.
+ \section2 HP ANSI C++ (aCC)
+
+ The hpux-acc-32 and hpux-acc-64 platforms are tested with aCC A.03.57. The
+ hpuxi-acc-32 and hpuxi-acc-64 platforms are tested with aCC A.06.10.
+
+ \section2 GCC
+
+ The hpux-g++ platform is tested with GCC 3.4.4.
+
\section2 OpenGL Support
Qt's \l{QtOpenGL}{OpenGL} module requires GLX 1.3 or later to be installed.
@@ -161,20 +249,29 @@
\target IRIX
\section1 IRIX - 6.5.x
- \bold{IRIX is an unsupported platform - please see Qt's online
- \l{Platform Support Policy} for details.}
+ \bold{IRIX is an unsupported platform. See the \l{Supported Platforms} page
+ and Qt's Software's online \l{Platform Support Policy} page for details.}
Unpackaging and IRIX tar:
Because of long filenames some files will be cut off incorrectly with IRIX
tar. Please use GNU tar to unpack Qt packages.
+ \section2 MIPSpro
+
+ Qt 4.4.x requires MIPSpro version 7.4.2m.
+
+ Note that MIPSpro version 7.4.4m is currently not supported, since it has
+ introduced a number of problems that have not yet been resolved.
+ We recommend using 7.4.2m for Qt development. However, please note the
+ unsupported status of this platform.
+
\section1 Linux
There are no known problems with using Qt on production versions of
Linux/x86, Linux/ppc, Linux/amd64 and Linux/ia64 (including Altix(R)).
- For the gcc/g++ compiler, please also see the relevant
- \l{Compiler Notes#GCC}{compiler page}.
+ For the GCC compiler, please also see the relevant
+ \l{Platform and Compiler Notes#General Compiler Notes}{General Compiler Notes}.
\section2 Installation problems
@@ -198,6 +295,40 @@
"Failed Dependency". Use the \c{--nodeps} option to \c rpm to workaround
this problem.
+ \section2 Intel C++ Compiler for Linux
+
+ Nokia currently tests the following compilers:
+
+ \list
+
+ \o Intel(R) C++ Compiler for applications running on IA-32,
+ Version 10.1 Build 20080602 Package ID: l_cc_p_10.1.017
+
+ \o Intel(R) C++ Compiler for applications running on Intel(R) 64,
+ Version 10.1 Build 20080602 Package ID: l_cc_p_10.1.017
+
+ \endlist
+
+ We do not currently test the IA-64 (Itanium) compiler.
+
+ \section2 Known Issues with Intel C++ Compiler for Linux
+
+ \list
+
+ \o Precompiled header support does not work in version 10.0.025
+ and older. For these compilers, you should configure Qt with
+ -no-pch. Precompiled header support works properly in version
+ 10.0.026 and later.
+ \o Version 10.0.026 for Intel 64 is known to miscompile qmake when
+ building in release mode. For now, configure Qt with
+ -debug. Version 10.1.008 and later can compile qmake in release
+ mode.
+ \o Versions 10.1.008 to 10.1.015 for both IA-32 and Intel 64 are
+ known crash with "(0): internal error: 0_47021" when compiling
+ QtXmlPatterns, QtWebKit, and Designer in release mode. Version
+ 10.1.017 compiles these modules correctly in release mode.
+ \endlist
+
\target Solaris
\section1 Solaris - 9 or later
@@ -207,25 +338,50 @@
to truncate long filenames. We recommend using star instead
(http://star.berlios.de).
- \section2 CC on Solaris
+ Please note that WebKit is not supported for Solaris, regardless of
+ which compiler is used.
+
+ \section2 CC
- Be sure to check our \l{Compiler Notes#Sun Studio}{Forte Developer / Sun Studio}
- notes.
+ See the notes for \l{Forte Developer / Sun Studio}.
- \section2 GCC on Solaris
+ \section2 GCC
+
+ Please use GCC 3.4.2 or later.
- Be sure to check the installation notes for \l{GCC on Solaris}.
Do not use GCC with Sun's assembler/linker, this will result in link-time
errors in shared libraries. Use GNU binutils instead.
GCC 3.2.* is known to miscompile Qt due to an optimizer bug that will
- cause the resulting binaries to hang. Please use GCC 3.4.2 or later.
+ cause the resulting binaries to hang.
+
+ \section2 Forte Developer / Sun Studio
+
+ Qt is tested using Sun Studio 12 (Sun CC 5.9). Go to
+ \l{Sun Studio Patches} page on Sun's Web site to download
+ the latest patches for your Sun compiler.
+
+ Please note that Qt 4.6 is stricter in its STL requirements and
+ that the default STL implementation used by Sun CC does not pass
+ those requirements. This does not affect binary compatibility and
+ you can continue to use STL in your own code, but Qt's
+ STL-compatibility functions will be disabled.
+
+ Sun CC ships with a secondary STL implementation (called stlport4)
+ which is standards-compliant and can be used by Qt. You can enable
+ it by passing the -library=stlport4 option to the compiler. Note
+ that this does not affect Qt's binary compatibility, but it may
+ affect that of other libraries and programs that use STL.
+
+ \section2 Sun WorkShop 5.0
+
+ Sun WorkShop 5.0 is not supported with Qt 4.
*/
/*!
\page platform-notes-windows.html
- \title Platform Notes - Windows
- \contentspage Platform Notes
+ \title Platform and Compiler Notes - Windows
+ \contentspage Platform and Compiler Notes
This page contains information about the Windows platforms Qt is currently
known to run on, with links to platform-specific notes. More information
@@ -255,12 +411,87 @@
and other applications that require screen grabbing while direct
rendering is enabled. Other GL-applications may not work as expected,
unless direct rendering is disabled.
+
+ \section2 GCC (MinGW)
+
+ We have tested Qt with this compiler on Windows XP.
+ The minimal version of MinGW supported is GCC 4.4.
+
+ \note For users of the MinGW binary package: This package is now
+ based on MinGW 4.4. The installer no longer offers to download
+ MinGW for you, but rather offers to use a version of MinGW that
+ you already have installed on your machine. You just tell the
+ installer which directory MinGW is installed in. If you don't
+ already have MinGW 4.4 installed, you can download a .zip archive
+ from our \l{ftp://ftp.trolltech.com/misc/MinGW-gcc440_1.zip}{FTP
+ site}. This archive provides fixes to MinGW and support for
+ missing API, See the _patches directory in the archive for
+ details.
+
+ \note A MinGW installation is only needed to build against the
+ binary pacakge, not to run the pre-compiled binaries that are in
+ the package.
+
+ \section2 Intel C++ Compiler (Windows, Altix)
+
+ Qt 4 has been tested successfully with:
+
+ \list
+ \o Windows - Intel(R) C++ Compiler for 32-bit applications,
+ Version 9.1.040.
+ \o Altix - Intel(R) C++ Itanium(R) Compiler for Itanium(R)-based
+ applications Version 8.1 Build 20050406 Package ID: l_cc_pc_8.1.030
+ \endlist
+
+ We currently only test the Intel compiler on 32-bit Windows versions.
+
+ \section2 Visual Studio (Windows)
+
+ We do most of our Windows development on Windows XP, using Microsoft
+ Visual Studio .NET 2005 and Visual Studio 2008 (both the 32- and 64-bit
+ versions).
+
+ Qt works with the Standard Edition, the Professional Edition and Team
+ System Edition of Visual Studio 2005.
+
+ In order to use Qt with the Visual Studio 2005/2008 Express Edition you need
+ to download and install the platform SDK. Due to limitations in the
+ Express Edition it is not possible for us to install the Qt Visual
+ Studio Integration. You will need to use our command line tools to
+ build Qt applications with this edition.
+
+ The Visual C++ Linker doesn't understand filenames with spaces (as in
+ \c{C:\Program files\Qt\}) so you will have to move it to another place,
+ or explicitly set the path yourself; for example:
+
+ \snippet doc/src/snippets/code/doc_src_compiler-notes.qdoc 0
+
+ If you are experiencing strange problems with using special flags that
+ modify the alignment of structure and union members (such as \c{/Zp2})
+ then you will need to recompile Qt with the flags set for the
+ application as well.
+
+ If you're using Visual Studio .NET (2002) Standard Edition, you should be
+ using the Qt binary package provided, and not the source package.
+ As the Standard Edition does not optimize compiled code, your compiled
+ version of Qt would perform suboptimally with respect to speed.
+
+ With Visual Studio 2005 Service Pack 1 a bug was introduced which
+ causes Qt not to compile, this has been fixed with a hotfix available
+ from Microsoft. See this
+ \l{http://qt.nokia.com/developer/faqs/faq.2006-12-18.3281869860}{Knowledge Base entry}
+ for more information.
+
+ There currently is a problem when compiling Qt with Visual Studio 2010 for 64-bit.
+ Its optimizer causes trouble and generates code that crashes for the release builds.
+ To avoid the crashes, You need to apply the hotfix in the following article
+ http://support.microsoft.com/kb/2280741.
*/
/*!
\page platform-notes-mac.html
- \title Platform Notes - Mac OS X
- \contentspage Platform Notes
+ \title Platform and Compiler Notes - Mac OS X
+ \contentspage Platform and Compiler Notes
This page contains information about the Mac OS X versions Qt is currently
known to run on, with links to platform-specific notes. More information
@@ -287,11 +518,15 @@
\section2 Required GCC version
- Apple's gcc 4 that is shipped with the Xcode Tools for both Mac OS X 10.4
- and 10.5 will compile Qt. There is preliminary support for gcc 4.2 which
+ Apple's GCC 4 that is shipped with the Xcode Tools for both Mac OS X 10.4
+ and 10.5 will compile Qt. There is preliminary support for GCC 4.2 which
is included with Xcode Tools 3.1+ (configurable with
\c{-platform macx-g++42}).
+ Please use the latest GCC 3.3 from Apple or a later version of GCC 3.
+ The GCC 3.3 that is provided with Xcode 1.5 is known to generate bad code.
+ Use the November 2004 GCC 3.3 updater \l{http://connect.apple.com}{available from Apple}.
+
\section2 Binary Package
The binary package requires that you have your .qt-license file in your
@@ -300,7 +535,7 @@
this file in the email they receive.
The binary package was built on Mac OS X 10.4 with Xcode Tools 2.1
- (gcc 4.0.0) for Qt 4.1.0, Xcode Tools 2.2 (gcc 4.0.1) for Qt 4.1.1-4.1.4
+ (GCC 4.0.0) for Qt 4.1.0, Xcode Tools 2.2 (GCC 4.0.1) for Qt 4.1.1-4.1.4
and Xcode Tools 2.3 for 4.2.0. It will only link executables built
against 10.4 (or a 10.4 SDK). You should be able to run applications
linked against these frameworks on Mac OS X 10.3.9 and Mac OS X 10.4+.
@@ -374,8 +609,8 @@
/*!
\page platform-notes-windows-ce.html
- \title Platform Notes - Windows CE
- \contentspage Platform Notes
+ \title Platform and Compiler Notes - Windows CE
+ \contentspage Platform and Compiler Notes
This page contains information about the Windows CE and Windows Mobile
platforms Qt is currently known to run on, with links to platform-specific
@@ -385,8 +620,8 @@
/*!
\page platform-notes-symbian.html
- \title Platform Notes - Symbian
- \contentspage Platform Notes
+ \title Platform and Compiler Notes - Symbian
+ \contentspage Platform and Compiler Notes
\ingroup platform-specific
\brief Information about the state of support for the Symbian platform.
@@ -468,6 +703,13 @@
for Phonon.
\endtable
+ \section1 Compiler Notes
+
+ \section2 GCCE (Symbian)
+
+ GCCE cannot be used to compile Qt libaries for the Symbian platform, but GCCE is supported
+ when compiling Qt applications for the Symbian platform.
+
\section1 Known Issues
Known issues can be found by visiting the
@@ -580,8 +822,8 @@
/*!
\page platform-notes-embedded-linux.html
- \title Platform Notes - Embedded Linux
- \contentspage Platform Notes
+ \title Platform and Compiler Notes - Embedded Linux
+ \contentspage Platform and Compiler Notes
This page contains information about the Embedded Linux platforms Qt is
currently known to run on, with links to platform-specific notes. More
diff --git a/doc/src/platforms/qt-embedded-linux.qdoc b/doc/src/platforms/qt-embedded-linux.qdoc
index 553c4b1..cd20917 100644
--- a/doc/src/platforms/qt-embedded-linux.qdoc
+++ b/doc/src/platforms/qt-embedded-linux.qdoc
@@ -67,7 +67,7 @@
\o
\list
\o \l {Qt for Embedded Linux Architecture}{Architecture Overview}
- \o \l {Installing Qt on Embedded Linux}{Installation}
+ \o \l {Installing Qt for Embedded Linux}{Installation}
\o \l {Running Qt for Embedded Linux Applications}{Running Applications}
\o \l {Qt for Embedded Linux Examples}{Examples}
\endlist
diff --git a/doc/src/platforms/supported-platforms.qdoc b/doc/src/platforms/supported-platforms.qdoc
index 31866c4..3a7d590 100644
--- a/doc/src/platforms/supported-platforms.qdoc
+++ b/doc/src/platforms/supported-platforms.qdoc
@@ -44,9 +44,8 @@
\tableofcontents
- Information about the specific platforms Qt runs on can be found on the
- \l{Platform Notes} page. Information about the compilers used on each platform
- can be found on the \l{Compiler Notes} page.
+ Information about the specific platforms Qt runs on, and the compilers used
+ on each platform, can be found on the \l{Platform and Compiler Notes} page.
\section1 Tier 1 Platforms
@@ -123,6 +122,8 @@
\o RVCT 2.2 [build 686 or later], WINSCW 3.2.5 [build 482 or later], GCCE (for applications)
\endtable
+ \note The PPC architecture on Mac has been downgraded from tier 1 to tier 2 for 4.7.
+
\section1 Tier 3 Platforms (Not supported by Nokia)
All platforms not specifically listed above are not supported by Nokia. Nokia does
diff --git a/doc/src/platforms/symbian-introduction.qdoc b/doc/src/platforms/symbian-introduction.qdoc
index 8932747..7bc5303 100644
--- a/doc/src/platforms/symbian-introduction.qdoc
+++ b/doc/src/platforms/symbian-introduction.qdoc
@@ -29,7 +29,7 @@
\group qtsymbian
\title Qt for the Symbian platform
\ingroup qt-embedded
- \brief Documents related to Qt on the Symbian platform
+ \brief Documents related to Qt for the Symbian platform
Qt for Symbian is a C++ framework for GUI and application development
for embedded devices running Symbian. Qt for Symbian provides all
@@ -42,14 +42,14 @@
\o
\list
\o \l {Qt for the Symbian platform Requirements}
- \o \l {Installing Qt on the Symbian platform from a Binary Package}
- \o \l {Installing Qt on the Symbian platform}
+ \o \l {Installing Qt for the Symbian platform from a Binary Package}
+ \o \l {Installing Qt for the Symbian platform}
\o \l {The Symbian platform - Introduction to Qt}{Introduction to using Qt}
\endlist
\o
\list
\o \l {Exception Safety with Symbian}
- \o \l {Platform Notes - Symbian} {Qt for the Symbian platform - state of support}
+ \o \l {Platform and Compiler Notes - Symbian} {Qt for the Symbian platform - state of support}
\o \l {qmake Platform Notes#Symbian platform} {Qt for Symbian extensions for qmake}
\o \l {Symbian Platform Security Requirements} {Symbian Platform Security Requirements}
\endlist
@@ -93,10 +93,10 @@
\section1 Installing Qt and Running Demos
- Follow the instructions found in \l{Installing Qt on the Symbian platform from a Binary Package}
+ Follow the instructions found in \l{Installing Qt for the Symbian platform from a Binary Package}
to learn how to install Qt using a binary package and how to build and run Qt demos.
- Follow the instructions found in \l{Installing Qt on the Symbian platform} to learn how to install Qt using
+ Follow the instructions found in \l{Installing Qt for the Symbian platform} to learn how to install Qt using
using source package and how to build and run the Qt demos.
\section1 Building Your Own Applications
diff --git a/doc/src/platforms/wince-customization.qdoc b/doc/src/platforms/wince-customization.qdoc
index a674350..b3b9170 100644
--- a/doc/src/platforms/wince-customization.qdoc
+++ b/doc/src/platforms/wince-customization.qdoc
@@ -33,7 +33,7 @@
When working with a custom SDK for Windows CE, Qt provides an easy way
to add support for it to your development environment. The following is
- a tutorial that covers how to create a specification for Qt on Windows
+ a tutorial that covers how to create a specification for Qt for Windows
CE platforms.
\tableofcontents
diff --git a/doc/src/platforms/wince-introduction.qdoc b/doc/src/platforms/wince-introduction.qdoc
index cd66242..2e9da59 100644
--- a/doc/src/platforms/wince-introduction.qdoc
+++ b/doc/src/platforms/wince-introduction.qdoc
@@ -29,7 +29,7 @@
\group qtce
\title Qt for Windows CE
\ingroup qt-embedded
- \brief Documents related to Qt on Windows CE
+ \brief Documents related to Qt for Windows CE
Qt for Windows CE is a C++ framework for GUI and application development
for embedded devices running Windows CE. It runs on a variety of processors,
@@ -41,7 +41,7 @@
\o
\list
\o \l {Qt for Windows CE Requirements}
- \o \l {Installing Qt on Windows CE}
+ \o \l {Installing Qt for Windows CE}
\o \l {Windows CE - Introduction to using Qt}{Introduction to using Qt}
\endlist
\o
@@ -81,7 +81,7 @@
\section1 Installing Qt
- Follow the instructions found in \l{Installing Qt on Windows CE}.
+ Follow the instructions found in \l{Installing Qt for Windows CE}.
\section1 Building your own applications
diff --git a/doc/src/platforms/winsystem.qdoc b/doc/src/platforms/winsystem.qdoc
index 2919bb7..64e35c5 100644
--- a/doc/src/platforms/winsystem.qdoc
+++ b/doc/src/platforms/winsystem.qdoc
@@ -44,8 +44,8 @@
\tableofcontents
For information about which platforms are supported by Qt, see the
- \l{Platform Notes}. For information on distributing Qt applications, see
- \l{Deploying Qt Applications}.
+ \l{Platform and Compiler Notes}. For information on distributing Qt
+ applications, see \l{Deploying Qt Applications}.
\target x11
\section1 Qt for X11
diff --git a/doc/src/porting/qt4-designer.qdoc b/doc/src/porting/qt4-designer.qdoc
index fff3e89..ea5147a 100644
--- a/doc/src/porting/qt4-designer.qdoc
+++ b/doc/src/porting/qt4-designer.qdoc
@@ -36,18 +36,14 @@
\QD has been completely re-written based on our experience with
the previous versions of the product for Qt 3. One of the main new
- ideas behind this new version is to release the application as a
+ ideas is to release the application as a
collection of interchangeable components that include the property
editor, the widget box, and other useful tools for creating
graphical user interfaces with Qt. These components can either be
used together in the \QD application, or independently integrated
into other systems. As a result, certain features such as the
project editor and code editor have been removed from the version
- included with this release.
-
- The current version of \QD is near feature complete and can be used for
- many tasks. However, it is still under continuous development. This
- document will explain what is already in place.
+ included with release 4.
See also the \l{Qt Designer Manual}.
@@ -128,7 +124,7 @@
\row
\i \bold{Widget Editing Mode}
- The new \QD allows widgets to be dropped into existing layouts on
+ \QD now allows widgets to be dropped into existing layouts on
the form. Previously, it was necessary to break layouts in order
to add new widgets to them.
@@ -189,7 +185,7 @@
\row
\i \bold{The Resource Editor}
- The new \QD fully supports The Qt Resource System, and provide the
+ \QD now fully supports The Qt Resource System, and provides the
Resource Editor to help designers and developers manage the
resources that are needed by their applications.
@@ -210,8 +206,8 @@
\i \inlineimage designer-action-editor.png
\i \bold{The Action Editor}
- With the release of Qt 4.1, \QD introduces the Action Editor
- simplifying the management of actions when creating main window
+ With the release of Qt 4.1, \QD the Action Editor was introduced
+ to simplify the management of actions when creating main window
applications.
When creating a main window, you can add a menu bar and toolbars
@@ -261,7 +257,7 @@
\section1 Run-Time Support for Forms
- With the Qt 4.1 release, the new QtUiTools module is introduced to
+ With the Qt 4.1 release, the new QtUiTools module was introduced to
provide classes handling forms created with \QD.
Currently the module only contains the QUiLoader class.
diff --git a/doc/src/qt-webpages.qdoc b/doc/src/qt-webpages.qdoc
index 9947d7b..05817df 100644
--- a/doc/src/qt-webpages.qdoc
+++ b/doc/src/qt-webpages.qdoc
@@ -46,8 +46,8 @@
*/
/*!
- \externalpage http://qt.nokia.com/products/add-on-products/add-on-products/
- \title Third-Party Tools
+ \externalpage http://qt.nokia.com/services-partners/partners/partner-directory
+ \title Partner Directory
*/
/*!
diff --git a/doc/src/qt4-intro.qdoc b/doc/src/qt4-intro.qdoc
index 7d55f82..2384051 100644
--- a/doc/src/qt4-intro.qdoc
+++ b/doc/src/qt4-intro.qdoc
@@ -157,7 +157,7 @@
\l{QtUiTools}{dynamic user interface building}.
\o New \l{Proxy Models}{proxy models} to enable view-specific sorting and
filtering of data displayed using item views.
- \o Support for \l{Installing Qt on Mac OS X}{universal binaries} on Mac OS X.
+ \o Support for \l{Installing Qt for Mac OS X}{universal binaries} on Mac OS X.
\o Additional features for developers using \l{QtOpenGL}{OpenGL}, such as
support for pixel and sample buffers.
\o A flexible \l{QSyntaxHighlighter}{syntax highlighting class} based on the
diff --git a/doc/src/snippets/code/doc_src_emb-pointer.qdoc b/doc/src/snippets/code/doc_src_emb-pointer.qdoc
index d333c90..b051a98 100644
--- a/doc/src/snippets/code/doc_src_emb-pointer.qdoc
+++ b/doc/src/snippets/code/doc_src_emb-pointer.qdoc
@@ -104,6 +104,10 @@ QWS_MOUSE_PROTO=IntelliMouse:/dev/input/mouse0
//! [11]
+//! [show permissions]
+ls -l /dev/input/mouse0
+//! [show permissions]
+
//! [12]
chmod a+rw /dev/input/mouse0
//! [12]
diff --git a/doc/src/snippets/code/doc_src_installation.qdoc b/doc/src/snippets/code/doc_src_installation.qdoc
index 0593567..2e59db9 100644
--- a/doc/src/snippets/code/doc_src_installation.qdoc
+++ b/doc/src/snippets/code/doc_src_installation.qdoc
@@ -301,11 +301,24 @@ make
runonphone -s lib/Qt.sis
//! [47]
+//! [runonphone with device file path]
+runonphone -s lib/Qt.sis -p /dev/ttyUSB1
+//! [runonphone with device file path]
+
//! [48]
cd demos/embedded/fluidlauncher
runonphone -s fluidlauncher.sis fluidlauncher.exe
//! [48]
+//! [make runonphone with options]
+make runonphone "QT_RUN_ON_PHONE_OPTIONS=-p /dev/ttyUSB1"
+//! [make runonphone with options]
+
+//! [make runonphone with preset environment variable]
+export QT_RUN_ON_PHONE_OPTIONS="-p /dev/ttyUSB1"
+make runonphone
+//! [make runonphone with preset environment variable]
+
//! [49]
cd myapp
qmake
diff --git a/doc/src/snippets/code/src_qtestlib_qtestcase.cpp b/doc/src/snippets/code/src_qtestlib_qtestcase.cpp
index c9bda61..6ae8939 100644
--- a/doc/src/snippets/code/src_qtestlib_qtestcase.cpp
+++ b/doc/src/snippets/code/src_qtestlib_qtestcase.cpp
@@ -48,7 +48,7 @@ QVERIFY(1 + 1 == 2);
//! [1]
-QVERIFY2(1 + 1 == 2, "A breach in basic arithmetic occured.");
+QVERIFY2(1 + 1 == 2, "A breach in basic arithmetic occurred.");
//! [1]
diff --git a/doc/src/snippets/declarative/borderimage/borderimage-defaults.qml b/doc/src/snippets/declarative/borderimage/borderimage-defaults.qml
new file mode 100644
index 0000000..1888f4e
--- /dev/null
+++ b/doc/src/snippets/declarative/borderimage/borderimage-defaults.qml
@@ -0,0 +1,55 @@
+/****************************************************************************
+**
+** 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: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 QtQuick 1.0
+
+Rectangle {
+ id: page
+ color: "white"
+ width: 180; height: 180
+
+//! [tiled border image]
+BorderImage {
+ width: 180; height: 180
+ border { left: 30; top: 30; right: 30; bottom: 30 }
+ source: "pics/borderframe.png"
+}
+//! [tiled border image]
+}
diff --git a/doc/src/snippets/declarative/flipable/flipable.qml b/doc/src/snippets/declarative/flipable/flipable.qml
index cd5da4b..8d48bd9 100644
--- a/doc/src/snippets/declarative/flipable/flipable.qml
+++ b/doc/src/snippets/declarative/flipable/flipable.qml
@@ -46,26 +46,27 @@ Flipable {
width: 240
height: 240
- property int angle: 0
property bool flipped: false
- front: Image { source: "front.png" }
- back: Image { source: "back.png" }
+ front: Image { source: "front.png"; anchors.centerIn: parent }
+ back: Image { source: "back.png"; anchors.centerIn: parent }
transform: Rotation {
- origin.x: flipable.width/2; origin.y: flipable.height/2
- axis.x: 0; axis.y: 1; axis.z: 0 // rotate around y-axis
- angle: flipable.angle
+ id: rotation
+ origin.x: flipable.width/2
+ origin.y: flipable.height/2
+ axis.x: 0; axis.y: 1; axis.z: 0 // set axis.y to 1 to rotate around y-axis
+ angle: 0 // the default angle
}
states: State {
name: "back"
- PropertyChanges { target: flipable; angle: 180 }
+ PropertyChanges { target: rotation; angle: 180 }
when: flipable.flipped
}
transitions: Transition {
- NumberAnimation { properties: "angle"; duration: 1000 }
+ NumberAnimation { target: rotation; property: "angle"; duration: 4000 }
}
MouseArea {
diff --git a/doc/src/snippets/declarative/keys/keys-handler.qml b/doc/src/snippets/declarative/keys/keys-handler.qml
index 9e3a3b4..be0eedb 100644
--- a/doc/src/snippets/declarative/keys/keys-handler.qml
+++ b/doc/src/snippets/declarative/keys/keys-handler.qml
@@ -38,7 +38,7 @@
**
****************************************************************************/
-import Qt 4.7
+import QtQuick 1.0
Item {
width: 400; height: 400
diff --git a/doc/src/snippets/declarative/keys/keys-pressed.qml b/doc/src/snippets/declarative/keys/keys-pressed.qml
index 523c95b..90a4e37 100644
--- a/doc/src/snippets/declarative/keys/keys-pressed.qml
+++ b/doc/src/snippets/declarative/keys/keys-pressed.qml
@@ -38,7 +38,7 @@
**
****************************************************************************/
-import Qt 4.7
+import QtQuick 1.0
Item {
width: 400; height: 400
diff --git a/doc/src/sql-programming/sql-driver.qdoc b/doc/src/sql-programming/sql-driver.qdoc
index 21b106a..9c99ad2 100644
--- a/doc/src/sql-programming/sql-driver.qdoc
+++ b/doc/src/sql-programming/sql-driver.qdoc
@@ -153,7 +153,7 @@
\snippet doc/src/snippets/code/doc_src_sql-driver.qdoc 3
- After installing Qt, as described in the \l{Installing Qt on X11
+ After installing Qt, as described in the \l{Installing Qt for X11
Platforms} document, you also need to install the plugin in the
standard location:
@@ -478,7 +478,7 @@
\snippet doc/src/snippets/code/doc_src_sql-driver.qdoc 13
- After installing Qt, as described in the \l{Installing Qt on X11 Platforms} document,
+ After installing Qt, as described in the \l{Installing Qt for X11 Platforms} document,
you also need to install the plugin in the standard location:
\snippet doc/src/snippets/code/doc_src_sql-driver.qdoc 14
@@ -565,7 +565,7 @@
\snippet doc/src/snippets/code/doc_src_sql-driver.qdoc 18
- After installing Qt, as described in the \l{Installing Qt on X11 Platforms} document,
+ After installing Qt, as described in the \l{Installing Qt for X11 Platforms} document,
you also need to install the plugin in the standard location:
\snippet doc/src/snippets/code/doc_src_sql-driver.qdoc 19
@@ -638,7 +638,7 @@
\snippet doc/src/snippets/code/doc_src_sql-driver.qdoc 21
- After installing Qt, as described in the \l{Installing Qt on X11 Platforms} document,
+ After installing Qt, as described in the \l{Installing Qt for X11 Platforms} document,
you also need to install the plugin in the standard location:
\snippet doc/src/snippets/code/doc_src_sql-driver.qdoc 22
diff --git a/doc/src/template/scripts/functions.js b/doc/src/template/scripts/functions.js
index 47539d2..62bc535 100755
--- a/doc/src/template/scripts/functions.js
+++ b/doc/src/template/scripts/functions.js
@@ -105,17 +105,17 @@ function processNokiaData(response){
/* start a new list element */
full_li_element = '<li';
/* if the pageType element reads APIPage, add class name api */
- if (propertyTags[j].getElementsByTagName('pageType')[0].firstChild.nodeValue == 'APIPage') {
+ if (propertyTags[i].getElementsByTagName('pageType')[0].firstChild.nodeValue == 'APIPage') {
full_li_element += ' class="api"';
apiCount++;
}
/* if the pageType element reads Article, add class name article */
- else if (propertyTags[j].getElementsByTagName('pageType')[0].firstChild.nodeValue == 'Article') {
+ else if (propertyTags[i].getElementsByTagName('pageType')[0].firstChild.nodeValue == 'Article') {
full_li_element += ' class="article"';
articleCount++;
}
/* if the pageType element reads Example, add class name example */
- else if (propertyTags[j].getElementsByTagName('pageType')[0].firstChild.nodeValue == 'Example') {
+ else if (propertyTags[i].getElementsByTagName('pageType')[0].firstChild.nodeValue == 'Example') {
full_li_element += ' class="example"';
exampleCount++;
}
diff --git a/doc/src/template/style/narrow.css b/doc/src/template/style/narrow.css
index c1e3f61..fbb0752 100644
--- a/doc/src/template/style/narrow.css
+++ b/doc/src/template/style/narrow.css
@@ -223,6 +223,7 @@
float: right;
margin: 15px 40px 0 0;
font-size: 11px;
+ position: relative;
}
.narrow #narrowmenu {
diff --git a/doc/src/template/style/style.css b/doc/src/template/style/style.css
index ec0202a..16bc9ed 100755
--- a/doc/src/template/style/style.css
+++ b/doc/src/template/style/style.css
@@ -101,7 +101,7 @@
}
a
{
- color: #00732f;
+ color: #00732F;
text-decoration: none;
}
hr
@@ -650,7 +650,7 @@
margin-top: 5px;
_margin: 0 0 0 -20px;
padding: 10px;
- width: 220px;
+ width: 30%;
_width: 196px;
height: 250px;
overflow: auto;
@@ -660,13 +660,31 @@
-webkit-box-shadow: 0 4px 6px 0 rgba(0,0,0,.2);
-moz-box-shadow: 0 4px 6px 0 rgba(0,0,0,.2);
box-shadow: 0 4px 6px 0 rgba(0,0,0,.2);
+ font-size: 11px;
+ }
+
+ #resultdialog a
+ {
+ color: #00732f;
}
#resultdialog.active {
display: block;
- width:30%;
}
+ .narrow #resultdialog {
+ width: 60%;
+ _width: 360px;
+ }
+
+ .narrow #resultdialog.active {
+ right: 10px;
+ *left: auto;
+ _left: auto;
+ _right: -20px;
+ }
+
+
#resultdialog #resultclose {
float: right;
}
@@ -779,6 +797,7 @@
margin-right: 15px;
font-weight: bold;
color: #B0ADAB;
+ font: bold 10px/1.2 Verdana;
}
.toolbuttons #print
@@ -892,7 +911,6 @@
}
.wrap .content h2
{
- border-bottom:1px solid #DDDDDD;
font:600 16px/1.2 Arial;
margin-top:15px;
width:100%;
@@ -926,6 +944,15 @@
color: #4c0033;
text-decoration: underline;
}
+ descr p a
+ {
+ text-decoration: underline;
+ }
+
+ .descr p a:visited
+ {
+ text-decoration: underline;
+ }
.feedback
{
float: none;
@@ -981,7 +1008,7 @@
/*display:inline-block;*/
margin-left:10px;
min-width:250px;
- line-height: 1.2;
+ line-height: 1.5;
min-width:100%;
min-height:15px;
}
@@ -1270,6 +1297,10 @@
background-color: #E6E7E8;
margin: 0;
}
+ .small
+ {
+ font: normal 9px/1 Verdana;
+ }
/* end footer elements */
@@ -1444,7 +1475,7 @@
}
- .creator .header, .footer, .wrapper
+ .creator .header, .creator .footer, .creator .wrapper
{
max-width: 1500px;
margin: 0px;
@@ -1649,6 +1680,58 @@
}
/* end of creator spec*/
+ .item {
+ float: left;
+ position: relative;
+ width: 100%;
+ overflow: hidden;
+ }
+
+
+ .item .primary {
+ margin-right: 220px;
+ position: relative;
+ }
+
+ .item hr {
+ margin-left: -220px;
+ }
+
+ .item .secondary {
+ float: right;
+ width: 200px;
+ position: relative;
+ }
+
+ .item .cols {
+ clear: both;
+ display: block;
+ }
+
+ .item .cols .col {
+ float: left;
+ margin-left: 1.5%;
+ }
+
+ .item .cols .col.first {
+ margin-left: 0;
+ }
+
+ .item .cols.two .col {
+ width: 45%;
+ }
+
+ .item .box {
+ margin: 0 0 10px 0;
+ }
+
+ .item .box h3 {
+ margin: 0 0 10px 0;
+ }
+
+ .cols.unclear {
+ clear:none;
+ }
}
/* end of screen media */