aboutsummaryrefslogtreecommitdiffstats
path: root/doc/src/declarative/whatsnew.qdoc
blob: d2326fae4499c767beec28cb40c4eeaec43dc036 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
/****************************************************************************
**
** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of
** this file.
**
** Other Usage
** Alternatively, this file may be used in accordance with the terms
** and conditions contained in a signed written agreement between you
** and Nokia.
**
**
**
**
** $QT_END_LICENSE$
**
****************************************************************************/

/*!
\title What's New in Qt Quick
\page qtquick-whatsnew.html

\section1 Qt 5.0.0 includes QtQuick 2.0

QtQuick 2.0 is a major update.

MouseArea now propagates clicked, doubleClicked and pressAndHold differently to pressed. 
These will now be propagated to the highest-stacking-order enabled MouseArea which has a handler for them.
You can still ignore these events in the handler to let them pass through.

The Binding element can now be used as a value source, and will also restore any previously
set binding when its \e when clause becomes false.

QDeclarativeExpression can now be directly (and more efficiently) constructed from a
QDeclarativeScriptString.

Flickable: added dragging, draggingHorizontally and draggingVerically properties.

The Loader element now only emits the \c sourceChanged signal when the source is changed and the
\c sourceComponentChanged signal when the sourceComponent is changed. It used to emit both signals when one
of the properties was changed.

\section2 QtQuick 1 is now a separate library and module

Writing C++ applications using QtQuick 1 specific API, i.e. QDeclarativeView or QDeclarativeItem
requires adding the "qtquick1" module to the .pro file, e.g. QT += declarative qtquick1

QDeclarativeView and QDeclarativeItem headers are now in the QtQuick 1 module, i.e.
#include <QtQuick1/QDeclarativeView>
#include <QtQuick1/QDeclarativeItem>

"import QtQuick 1.0" loads the module dynamically.  To deploy QtQuick 1 applications
the library (lib/libQtQuick1*) and plugin (imports/QtQuick/) must be installed.


\section1 Qt 4.7.4 includes QtQuick 1.1

QtQuick 1.1 is a minor feature update.  \e {import QtQuick 1.1} to use the new
features.

\section2 PinchArea

PinchArea provides support for the common two finger pinch gesture.

\section2 LayoutMirroring attached property

\l {LayoutMirroring}{Layout mirroring} is useful when you need to support both
left-to-right and right-to-left layout versions of your application that target
different language areas.

\section2 Anchors

Added the following property:
\list
\o \l {Item::}{anchors.mirrored}
\endlist

\section2 Text

Added the following properties:
\list
\o \l {Text::}{lineHeight}
\o \l {Text::}{lineHeightMode}
\o \l {Text::}{lineCount}
\o \l {Text::}{maximumLineCount}
\o \l {Text::}{truncated}
\o \l {Text::}{effectiveHorizontalAlignment}
\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::}{inputMethodComposing}
\o \l {TextEdit::}{mouseSelectionMode}
\o \l {TextEdit::}{effectiveHorizontalAlignment}
\o \l {TextEdit::}{deselect()}
\o \l {TextEdit::}{isRightToLeft()}
\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::}{inputMethodComposing}
\o \l {TextInput::}{mouseSelectionMode}
\o \l {TextInput::}{effectiveHorizontalAlignment}
\o \l {TextInput::}{deselect()}
\o \l {TextInput::}{isRightToLeft()}
\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 MouseArea

Added the following property:
\list
\o \l{MouseArea::}{preventStealing}
\endlist

\section2 ListView and GridView

Added the following properties and methods:
\list
\o \l{ListView::}{layoutDirection}
\o \l{ListView::}{effectiveLayoutDirection}
\o \l{ListView::}{positionViewAtBeginning()}
\o \l{ListView::}{positionViewAtEnd()}
\endlist

\section2 Flow, Grid and Row

Added the following properties:
\list
\o \l{Flow::}{layoutDirection}
\o \l{Flow::}{effectiveLayoutDirection}
\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{Property Binding#Property Binding}{assigned to properties from JavaScript}
to create property bindings.
\o QtQuick now supports Right to Left layout in positioners, views, anchors and text elements.
\endlist


\section1 Qt 4.7.1

\section2 QtQuick namespace

In prior Qt releases, all the Qt Quick elements were available in the \e Qt
namespace. Starting with Qt 4.7.1, the elements are also available in the
\e QtQuick namespace, which improves naming consistency, and allows the
development of Qt Quick to occur at a faster rate than Qt's usual minor release
schedule.

The change for developers is very simple - where you previously wrote
\e {import Qt 4.7}, just replace it with \e {import QtQuick 1.0}, like this:

\code
import QtQuick 1.0 

Text {
    text: "Welcome to QtQuick 1.0!"
}
\endcode

\e {import Qt 4.7} continues to work so existing applications won't break even
if they aren't updated, but it is recommended that all import statements be
modified to the new form.
*/