profile/ivi/qtdeclarative.git
12 years agoRelease pixmap cache data to avoid leaking memory
Chris Adams [Mon, 21 Nov 2011 23:59:33 +0000 (09:59 +1000)]
Release pixmap cache data to avoid leaking memory

Previously, QDeclarativePixmapStore did not release cache entries on
destruction.  This commit ensures that all cache entries are released
properly.  Note that while any QDeclarativePixmapData which contains
a texture will be deleted, the texture itself will be scheduled for
cleanup rather than released directly.

Task-number: QTBUG-22742
Change-Id: I62ddf57f2b55b732ab369321eb9ed0d7af01c135
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoAllow current item creation to interrupt async delegate creation.
Martin Jones [Thu, 1 Dec 2011 04:30:44 +0000 (14:30 +1000)]
Allow current item creation to interrupt async delegate creation.

Fixes unstable test tst_QQuickGridView::insertBeforeVisible().

Change-Id: Iebf02d3c4c202b300409be567906c64c02917dda
Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
12 years agoRepeater delegates have no parent in Component.onCompleted
Martin Jones [Thu, 1 Dec 2011 03:03:31 +0000 (13:03 +1000)]
Repeater delegates have no parent in Component.onCompleted

Task-number: QTBUG-22279

Change-Id: I5c0b4a9becfee06dfc4a52e546ad81fb0b6f238a
Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
12 years agoEnsure flickable velocity is updated when under heavy load.
Martin Jones [Thu, 1 Dec 2011 01:48:59 +0000 (11:48 +1000)]
Ensure flickable velocity is updated when under heavy load.

If the Flickable is forced to move very quickly due to highlight motion
the smoothed velocity animation may not have an opportunity to run
before being reset, resulting in the velocity not being updated.  In this
case just set the velocity directly since the motion is driven by an
animation anyway.

Change-Id: I1e5e9396f4c1cd12e95c6ac47941dad25e4aa897
Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
12 years agoChange the license header from BSD to LGPL
Charles Yin [Tue, 29 Nov 2011 03:49:29 +0000 (13:49 +1000)]
Change the license header from BSD to LGPL

Change-Id: I68b118f45d0f34607af1a727f24bc94ddb6b6a07
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoMove XmlListModel to seperate plugin
Charles Yin [Wed, 16 Nov 2011 07:58:19 +0000 (17:58 +1000)]
Move XmlListModel to seperate plugin

XmlListModel is the only feature inside QtDeclarative which depends on
the QtXmlPatterns module, move this item to a separate plugin can reduce
the unnecessary dependency in most use cases.

To use the new XmlListModel, an additional "import QtQuick.xmllistmodel 2.0" is
needed.

Task-number:QTBUG-22158
Change-Id: I9e19eb6cbba46cd40fb7ffcdbd741f346779a54d
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
12 years agoHave tutorial built along with other examples
Alan Alpert [Wed, 30 Nov 2011 06:44:05 +0000 (16:44 +1000)]
Have tutorial built along with other examples

Change-Id: I9f64659ca1621a5fea8e9013ecd264d971207d4d
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoAdd support for assigning literal value to sequence property
Chris Adams [Wed, 2 Nov 2011 00:21:37 +0000 (10:21 +1000)]
Add support for assigning literal value to sequence property

It is a language semantic that we allow clients to assign a single
value to a sequence/list property (assuming that the types match).
Now that we support sequence types, this commit adds support for
this semantic by determining whether the built-in type of the literal
corresponds to the associated sequence (eg, int for QList<int>, qreal
for QList<qreal>, bool for QList<bool>, QString for QStringList etc).

Similarly, some value types can be constructed from literal string
values (via string converters) and these need to be handled also.

Task-number: QTBUG-18062
Task-number: QTBUG-21770
Change-Id: Iacd91b2af122cd8f20b7df2fa6056a7d7c52bf53
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoDon't update dependent anchors on destruction unless required.
Michael Brasser [Wed, 30 Nov 2011 06:03:10 +0000 (16:03 +1000)]
Don't update dependent anchors on destruction unless required.

Change-Id: Ic088e800d5bbad0a819824a21b4c0bf430126786
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoCleanup and optimize QQuickContents.
Michael Brasser [Wed, 30 Nov 2011 04:58:12 +0000 (14:58 +1000)]
Cleanup and optimize QQuickContents.

Change-Id: I12e51b431a7568bc80d8200d1c619373a72521c0
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoNon-blocking view delegate instantiation.
Martin Jones [Thu, 3 Nov 2011 05:52:13 +0000 (15:52 +1000)]
Non-blocking view delegate instantiation.

Task-number: QTBUG-21792

Change-Id: I29a4028cd24eb55d4768aacaa3abbd1786061398
Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
12 years agoV8Profiler: make the profiler run in the main thread
Christiaan Janssen [Wed, 30 Nov 2011 15:03:47 +0000 (16:03 +0100)]
V8Profiler: make the profiler run in the main thread

Change-Id: I31f126c4014ee2a5045ff6d66dcfef63ec869e98
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
12 years agoExtend the grammar of QML binding declarations.
Roberto Raggi [Tue, 29 Nov 2011 12:06:47 +0000 (13:06 +0100)]
Extend the grammar of QML binding declarations.

This allows the use of non-iterative statements
on the right hand side of a binding declaration.

Change-Id: I60fac880766ba99a410b3647e41b1252677a372f
Reviewed-by: Christian Kamm <christian.d.kamm@nokia.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
12 years agoWhitespace fixes
Alan Alpert [Tue, 29 Nov 2011 02:37:34 +0000 (12:37 +1000)]
Whitespace fixes

Change-Id: I73d4599907474958be2112f3b0f590f14fbec99e
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
12 years agoAdd QQuickItem::setImplicitSize()
Michael Brasser [Tue, 29 Nov 2011 00:19:01 +0000 (10:19 +1000)]
Add QQuickItem::setImplicitSize()

This allows us to batch up size changes better, leading to fewer layout
recalculations.

Change-Id: I423113fab78666a99ca05439f852f57c92f6f821
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoDeleting an incubated object after setInitialState() crashes
Martin Jones [Tue, 29 Nov 2011 23:44:13 +0000 (09:44 +1000)]
Deleting an incubated object after setInitialState() crashes

Incubating objects are often parented in setInitialState(), which
can lead to the incubating object being deleted after object creation,
but before completion.  When incubator.clear() is called after
this point, it would attempt to delete the already deleted
object. This change guards the incubation object in the incubator.

Change-Id: I9585e93027250b8b6b3f1777b10ee1008ae7b818
Reviewed-by: Glenn Watson <glenn.watson@nokia.com>
12 years agoAnchoring system optimizations.
Michael Brasser [Fri, 25 Nov 2011 02:53:57 +0000 (12:53 +1000)]
Anchoring system optimizations.

Do a better job of only updating anchors when
needed. For example, if an item is anchored to
its parent, it shouldn't react when the parent
moves, only when it resizes.

Change-Id: I57b480631fc6e89ab214b3fd337478d2e6534044
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoDebugger: Disable breakpoint relocation in JS
Kai Koehne [Tue, 22 Nov 2011 14:32:46 +0000 (15:32 +0100)]
Debugger: Disable breakpoint relocation in JS

Because we pass scripts lazily to v8, breakpoints can be relocated to
lines unexpected to the user. Therefore disable breakpoint relocation
alltogether for the time being.

Change-Id: I34b4b9b1267270014c3a17cb6cad1e3c7eded074
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
12 years agoqmlplugindump: Avoid reporting types as attaching to themselves.
Christian Kamm [Tue, 29 Nov 2011 07:52:14 +0000 (08:52 +0100)]
qmlplugindump: Avoid reporting types as attaching to themselves.

Task-number: QTCREATORBUG-6625
Change-Id: I9f778757b490cb5d79249b92f8c7b6d9d1df66e6
Reviewed-by: Leandro Melo <leandro.melo@nokia.com>
12 years agoFix the evaluation of JS switch statements in QML bindings.
Roberto Raggi [Mon, 28 Nov 2011 08:37:03 +0000 (09:37 +0100)]
Fix the evaluation of JS switch statements in QML bindings.

Task-number: QTBUG-17012

Change-Id: Ic132cf63ed08592fec9c759df1b8b4d5830acea6
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
12 years agoProperly protect access to pixmap reader thread with mutex
Chris Adams [Wed, 16 Nov 2011 03:20:45 +0000 (13:20 +1000)]
Properly protect access to pixmap reader thread with mutex

Previously, access to the reader thread wasn't guarded properly,
causing a crash when the reader thread was deleted prior to
QDeclarativePixmapData (which then attempted to dereference the
thread pointer to cancel the request).  This commit adds locking
to ensure that access to the reader is protected properly.

This commit also fixes an issue where if a QDeclarativePixmapData
was deleted after its QDeclarativePixmapReply was removed from the
jobs queue but prior to processing, a pointer to the data could
be dereferenced as part of processing, but caching the required
information in the reply.

Task-number: QTBUG-22125
Change-Id: I32aa2ca41a297b48e68cb358f4aa4fafd999f215
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoAdd a length property to TextEdit.
Andrew den Exter [Mon, 28 Nov 2011 04:29:36 +0000 (14:29 +1000)]
Add a length property to TextEdit.

This returns the length of the unformatted text in a TextEdit which
should be cheaper to query than the length of the text property and
meaningful in the context of the selection and cursor properties.

Task-number: QTBUG-18949
Change-Id: Ia25c4553693923f97d299f1fdb8bfcf7f5937b13
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoAdd indexed deleter to sequence wrapper, implement length setter
Chris Adams [Mon, 21 Nov 2011 00:02:35 +0000 (10:02 +1000)]
Add indexed deleter to sequence wrapper, implement length setter

Previously, elements could not be deleted from sequences directly
without reassignment.  This commit adds an indexed deleter which
allows elements to be deleted by specifying an index.  A deleted
element will be replaced with a default-constructed element in the
sequence (slight departure from ECMA262r3 which specifies that it
should be replaced with Undefined).

This commit also implements the length property setter according
to the requirements on Array [[Put]] by ECMA262r3 which allows
removal of elements from a sequence (required for proper behaviour
of Array.prototype methods such as splice() and pop()).

Task-number: QTBUG-22808
Change-Id: I62511b3edc2ec35f92d2a2bd719278e129c98547
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoUpdate to QtQuick 2.0
Alan Alpert [Mon, 28 Nov 2011 03:16:59 +0000 (13:16 +1000)]
Update to QtQuick 2.0

Note that the plugin only exposes QObject types, not QDeclarativeItem.

Change-Id: I817d143f762239e32456a7ac8fcca29c483a4f8e
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoGet the tutorial running again
Alan Alpert [Mon, 28 Nov 2011 01:49:10 +0000 (11:49 +1000)]
Get the tutorial running again

Note that it still uses QtQuick 1.0

Change-Id: I1b6e174c2ec06ba6108f11cb295e32bc76ac3e36
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoInitial window implementation
Alan Alpert [Fri, 18 Nov 2011 09:32:56 +0000 (19:32 +1000)]
Initial window implementation

Includes adding a color property on QQuickCanvas. Note that most Window
related properties come from the QWindow inheritance.

Task-number: QTBUG-19799
Change-Id: I00f6c90a1e2a5c85d787793d6edac2cd7d5309ab
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
12 years agoRemove unused function magnitude()
Kent Hansen [Mon, 28 Nov 2011 08:38:54 +0000 (09:38 +0100)]
Remove unused function magnitude()

Change-Id: I58660467ed38e70606ac727f1d82177efaa19805
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
12 years agoFix unused variable warning in QQuickItemParticle::take
Kent Hansen [Mon, 28 Nov 2011 08:41:10 +0000 (09:41 +0100)]
Fix unused variable warning in QQuickItemParticle::take

Change-Id: I7664fdc47e7f42f5eda1bfea09def0cb880f49da
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
12 years agoQDeclarativeInspectorService: Call updateStatus() in GUI thread.
Aurindam Jana [Mon, 28 Nov 2011 14:41:40 +0000 (15:41 +0100)]
QDeclarativeInspectorService: Call updateStatus() in GUI thread.

Change-Id: I8eee3df9cb1b01f220827fb278d91bc3fa4332d4
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
12 years agoFix unused variable warning in QSGContext constructor
Kent Hansen [Mon, 28 Nov 2011 08:40:34 +0000 (09:40 +0100)]
Fix unused variable warning in QSGContext constructor

Change-Id: I8b6fbc7765093e3ec98f5847d99dbb406ff71221
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
12 years agoDebugger: Fix compilation error with msvc
Kai Koehne [Mon, 28 Nov 2011 13:45:22 +0000 (14:45 +0100)]
Debugger: Fix compilation error with msvc

MSVC "cannot allocate an array of constant size 0". The argument isnt
accessed anyway, so we can just pass 0 instead.

Change-Id: I3d65707148f045f2ed2779604c164297830bfe87
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
12 years agoFix test cases including headers with fixed Qt version
Pekka Vuorela [Thu, 24 Nov 2011 08:55:53 +0000 (10:55 +0200)]
Fix test cases including headers with fixed Qt version

Change-Id: Id6a8e9bf732d3eab69f1ef337dde626845125507
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
12 years agoRemove unused QTBUG_21691 macros
Joona Petrell [Thu, 24 Nov 2011 09:34:09 +0000 (11:34 +0200)]
Remove unused QTBUG_21691 macros

Change-Id: I481fe67d1511d927da805e3fafe5ddd55b0ad0c7
Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
12 years agoQtDeclarative: Fix warnings in tests.
Friedemann Kleint [Fri, 25 Nov 2011 07:49:45 +0000 (08:49 +0100)]
QtDeclarative: Fix warnings in tests.

- Unused parameters
- Missing interfaces
- tst_QQuickListView: Fix call canvas->rootContext()->setContextProperty
  to use a QVariant (instead of implicitly converting to QObject*)
  which was apparently intended.

Change-Id: Idc95d9408051e6f5b7005a7eccd764ac218ff867
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
12 years agoAdd a getFormattedText function to TextEdit.
Andrew den Exter [Mon, 28 Nov 2011 04:03:34 +0000 (14:03 +1000)]
Add a getFormattedText function to TextEdit.

The same as getText except it include formatting tags if the TextEdit
has a rich text format set.

Change-Id: I601e8d396254ab6105aa7d105e25b14fcf69c4e5
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoRemove obsolete include from QDeclarativePixmapCache test
Jason McDonald [Mon, 28 Nov 2011 06:20:25 +0000 (16:20 +1000)]
Remove obsolete include from QDeclarativePixmapCache test

Change-Id: I5583bb8c4f98b7e1b8a7daec7a3ab53a1d931f56
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
12 years agoFix multiline eliding and support eliding when height is set.
Martin Jones [Mon, 28 Nov 2011 05:32:31 +0000 (15:32 +1000)]
Fix multiline eliding and support eliding when height is set.

Task-number: QTBUG-22920, QTBUG-22116

Change-Id: Ibe78ce1b0b438eec32955b986a8740f173cd082f
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
12 years agoRemove QtQuick1-specific define from declarative.pro
Kent Hansen [Fri, 25 Nov 2011 09:00:07 +0000 (10:00 +0100)]
Remove QtQuick1-specific define from declarative.pro

This only needs to be defined in qtquick1.pro; it's used
in qtquick1/util/qdeclarativeview.cpp.

Change-Id: I14dbf3e192218c6cc740295d4f575842de48dddc
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoqml debugger: Create abstraction for State management
Kent Hansen [Wed, 23 Nov 2011 11:09:15 +0000 (12:09 +0100)]
qml debugger: Create abstraction for State management

State and PropertyChanges aren't part of the core qml types. The
(general-purpose) qml debugger shouldn't have to know those types;
they are only relevant when QtQuick (2.0) has been imported.

Introduce a delegate interface that performs State processing.
Implement a delegate for QtQuick 2, and install it when the QtQuick 2
module is imported.

Change-Id: I8af1157346ca9365eb0f7b99ccb71744d17fcebc
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
12 years agoqdeclarativedebugclient: Fix flaky autotest
Kent Hansen [Fri, 25 Nov 2011 22:03:24 +0000 (23:03 +0100)]
qdeclarativedebugclient: Fix flaky autotest

The connectToHost() call can try to establish the connection directly
(synchronously), in which case the warning message will be output
before the subsequent ignoreMessage() call, causing the test to fail.

Change-Id: I08a6a7d4d090cbb942c348e0787b586c71318f99
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
12 years agoExplain the implications of QML versions a little more
Alan Alpert [Mon, 28 Nov 2011 03:11:25 +0000 (13:11 +1000)]
Explain the implications of QML versions a little more

Change-Id: I2b1667333a18daebba5224e210f219721096bc91
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoRemoved ShaderEffectItem and qt_ModelViewProjectionMatrix.
Kim Motoyoshi Kalland [Fri, 25 Nov 2011 09:01:32 +0000 (10:01 +0100)]
Removed ShaderEffectItem and qt_ModelViewProjectionMatrix.

ShaderEffectItem was replaced by ShaderEffect, and
qt_ModelViewProjectionMatrix with qt_Matrix a while ago. The old
names were kept working for a transition period, but it's now time
to remove them completely.

Change-Id: Ife030d2122250784fe2ec80b1f8645301b0165d0
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
12 years agoBetter falling bear sprite
Alan Alpert [Wed, 23 Nov 2011 01:43:49 +0000 (11:43 +1000)]
Better falling bear sprite

He looked too comfortable.

Change-Id: I8de05188587c53b18639cd2dc2a011db193b7790
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoqmltestrunner reports wrong LOC for failed test cases
Charles Yin [Fri, 25 Nov 2011 01:41:04 +0000 (11:41 +1000)]
qmltestrunner reports wrong LOC for failed test cases

The callerFile() and callerLine() calls GetFrame() with incorrect index,
the right index should be the current frame index + 1.

Task-number:QTBUG-22887
Change-Id: I694073b80853bf66e02414a158c8e155f8be8390
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
12 years agoRewrite Connections signal handlers at compile time.
Michael Brasser [Thu, 24 Nov 2011 04:43:09 +0000 (14:43 +1000)]
Rewrite Connections signal handlers at compile time.

Task-number: QTBUG-22726
Change-Id: I039d54661bbf7d44912c894bf0cc1d70023a9187
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoDeclarativeDebugServices: Cleanup Code
Aurindam Jana [Fri, 25 Nov 2011 12:34:35 +0000 (13:34 +0100)]
DeclarativeDebugServices: Cleanup Code

Removed addEngine and removeEngine methods from services
that do not use the functions of QDeclarativeEngine.

Change-Id: Id2ddcbe8cf5706d1e4ca4b59011c7e3574cfdba8
Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
12 years agoV8DebugService: Optimize Code.
Aurindam Jana [Thu, 24 Nov 2011 17:12:17 +0000 (18:12 +0100)]
V8DebugService: Optimize Code.

Replace usage of QJSEngine with V8 APIs.

Change-Id: I5221d11c1fb96a4912063d452af437a7f5bdb471
Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
12 years agoRemove harfbuzz cruft from {declarative,qtquick1}.pro
Kent Hansen [Fri, 25 Nov 2011 08:20:28 +0000 (09:20 +0100)]
Remove harfbuzz cruft from {declarative,qtquick1}.pro

As of b97215b04c0bf12ecfd51ccdeaedd1fab5e8bc03 in qtbase, modules
outside of qtbase can include private text headers without depending
on the harfbuzz sources being present.

Change-Id: Idb3d70d70c1f0f194382a405daa573e66146272a
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoQtDeclarative: Fix building of tests on Windows.
Friedemann Kleint [Fri, 25 Nov 2011 07:27:09 +0000 (08:27 +0100)]
QtDeclarative: Fix building of tests on Windows.

Export inner classes, add missing module.

Change-Id: Iabc69ac5f08b70ade994c26d36bd08359fa71137
Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
12 years agoQtDeclarative: Remove obsolete qmetaobjectbuilder-test.
Friedemann Kleint [Fri, 25 Nov 2011 07:44:51 +0000 (08:44 +0100)]
QtDeclarative: Remove obsolete qmetaobjectbuilder-test.

The test now lives in qtbase.

Change-Id: I50166795d8cae039272bc9448b9e1fc64248e10f
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
12 years agoFix crash calling VisualDataGroup.setGroups during initialization.
Andrew den Exter [Fri, 25 Nov 2011 06:09:38 +0000 (16:09 +1000)]
Fix crash calling VisualDataGroup.setGroups during initialization.

A VisualDataModel's meta type is constructed in componentComplete(),
avoid accessing it before then.

Change-Id: Ic9fdfa3c458d5da3014289b777f74df87aa97103
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoFix searchs for insert positions in QDeclarativeListCompositor.
Andrew den Exter [Fri, 25 Nov 2011 03:33:09 +0000 (13:33 +1000)]
Fix searchs for insert positions in QDeclarativeListCompositor.

When scanning for a start range don't stop on ranges that don't
have an group flags unless that range is the terminal range.
This fixes a couple of issues where moving an item to the end
of the list would position it after a prepend only range instead
of before it, or would miscalculate the iterator offset resulting
in invalid indexes in the insert range.

Change-Id: Ic4aa001edf43ec86a65d432cd8f80abf0b44d276
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoRemove ints from mouse event handling.
Martin Jones [Fri, 25 Nov 2011 05:22:09 +0000 (15:22 +1000)]
Remove ints from mouse event handling.

Change-Id: Icda13ae3644dc274e08e626545df75d3e561cf87
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoAdd getText(), insert(), and remove() functions to TextEdit.
Andrew den Exter [Thu, 24 Nov 2011 02:53:05 +0000 (12:53 +1000)]
Add getText(), insert(), and remove() functions to TextEdit.

The getText() function provides access to the plain text content of a
TextEdit, and the insert() and remove() functions allow the text content
to be edited inline instead of having to assign an edited string to the
text property to make any change.

Change-Id: Id4edf0312358e2d2db45e4c649b7bd3d22f02ffa
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoImprove performance on touch event delivery.
Martin Jones [Thu, 24 Nov 2011 07:22:31 +0000 (17:22 +1000)]
Improve performance on touch event delivery.

We continuously constructed and sorted the paint ordered items for every
touch event (and paint), even though the list in most cases is identical
to the childItems list, and when it is different it rarely changes.

Detect when we can just use the childItems list directly, and otherwise
cache the ordered items list.

Change-Id: I5db0f19fc021d0c95aa6f8372ae47e6ce138d5ad
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoMake the particles benchmarks compile again
Kent Hansen [Thu, 24 Nov 2011 13:54:13 +0000 (14:54 +0100)]
Make the particles benchmarks compile again

Change-Id: Ia56fcb06ee1ef73d81288358f584cb65e3242254
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
12 years agoFix style issues
Kent Hansen [Thu, 24 Nov 2011 13:52:35 +0000 (14:52 +0100)]
Fix style issues

Make the Sanity Bot happy.

Change-Id: Idb6d7f8c758de991c60e100b76d54ad49e16212b
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
12 years agoPropegate the smooth property to the textureprovider
Gunnar Sletta [Thu, 24 Nov 2011 13:12:56 +0000 (14:12 +0100)]
Propegate the smooth property to the textureprovider

Task-number: QTBUG-22880

Change-Id: I693a44e87fb87bc92e1647f6158d23986f98623a
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
12 years agoAdded test for input method selection in TextInput
Pekka Vuorela [Tue, 15 Nov 2011 11:43:16 +0000 (13:43 +0200)]
Added test for input method selection in TextInput

Change-Id: I4438625f9bb82e53bbdf173c9148f587984d7f81
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
12 years agoQDeclarativeDebugService: Crash fix
Aurindam Jana [Thu, 24 Nov 2011 12:14:21 +0000 (13:14 +0100)]
QDeclarativeDebugService: Crash fix

Query for serviceNames in registerService.

Change-Id: I570bd68c424cec696ca813a7fa1b485b64e328a4
Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
12 years agoQQuickTextInput - Remove nonexisting method from header
Pekka Vuorela [Thu, 17 Nov 2011 12:34:06 +0000 (14:34 +0200)]
QQuickTextInput - Remove nonexisting method from header

Change-Id: I48aa6efec784ea3ae937636083f6ce211521bfc6
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoTextInput elements not to have tentative commit in inputMethodQuery
Pekka Vuorela [Tue, 15 Nov 2011 16:17:29 +0000 (18:17 +0200)]
TextInput elements not to have tentative commit in inputMethodQuery

Tentative commit should not be part of surrounding text, it's already
a property of the input method.
Change-Id: I64aec9763fb20770b6729f7f59dcbe23cf5a6718
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoFixed assert during QQuickCanvas::hideEvent().
Kim Motoyoshi Kalland [Mon, 21 Nov 2011 13:02:45 +0000 (14:02 +0100)]
Fixed assert during QQuickCanvas::hideEvent().

Also fixed a memory leak in the non-threaded renderer so that it
is on par with the threaded one.

Change-Id: Ie3111730a9d10085c83f7aafceda240419b722cd
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
12 years agoConsoleAPI: Use environment variable
Aurindam Jana [Fri, 18 Nov 2011 15:41:08 +0000 (16:41 +0100)]
ConsoleAPI: Use environment variable

Show detailed information, such as file and line number, for
console.log, console.debug and print when the environment variable
QML_CONSOLE_EXTENDED is set.

Change-Id: I8f660f58d0fd08971ce9706b4a418ed60f312980
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
12 years agoGet rid of unused inputMethodQuery and inputMethodEvent functions in QQuickCanvas
Joona Petrell [Fri, 18 Nov 2011 11:19:09 +0000 (13:19 +0200)]
Get rid of unused inputMethodQuery and inputMethodEvent functions in QQuickCanvas

* in Qt5 input method events and queries are meant to be sent directly to
  QInputPanel::inputItem() instead of the focused QWindow
* protected inputMethodEvent was actually never called by QWindow::event()
  like it called other specialized event functions

Change-Id: I68cced106808098c320841d6a17a0cc170a8369f
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoMove registration of QtQuick 2 types to separate class
Kent Hansen [Tue, 22 Nov 2011 14:56:10 +0000 (15:56 +0100)]
Move registration of QtQuick 2 types to separate class

Just a bit of cleanup to make QtQuick2's definition follow the
convention of QtQuick1, in preparation of moving QtQuick2 to its own
library.

Change-Id: If9e19e5f5512f9417373bb977bcb424186554c8f
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoMove QDeclarativeListModel and friends from util/ to qml/
Kent Hansen [Tue, 22 Nov 2011 12:26:20 +0000 (13:26 +0100)]
Move QDeclarativeListModel and friends from util/ to qml/

QDeclarativeWorkerScript depends on QDeclarativeListModel et al, so the latter
should also reside under qml/.

Note that QDeclarativeOpenMetaObject also had to be moved, since
QDeclarativeListModel depends on it.

Change-Id: I164cba0e530d22b5771056a2acde12a18d5e83e1
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
12 years agoMove QDeclarativeApplication from util/ to qml/
Kent Hansen [Mon, 21 Nov 2011 10:38:26 +0000 (11:38 +0100)]
Move QDeclarativeApplication from util/ to qml/

QDeclarativeEngine/QV8Engine depend on QDeclarativeApplication,
so this class should reside under qml/, not util/.

Change-Id: I2cd49ba1170bfb610a7607525891cb80c8828f27
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
12 years agoRemove unused code.
Martin Jones [Thu, 24 Nov 2011 00:16:42 +0000 (10:16 +1000)]
Remove unused code.

Change-Id: Ib6ed3b9ff80593ce84930c0837201be3516b7918
Reviewed-by: Damian Jansen <damian.jansen@nokia.com>
12 years agoSkip tst_QQuickListView::resizeFirstDelegate unstable test
Martin Jones [Thu, 24 Nov 2011 00:35:08 +0000 (10:35 +1000)]
Skip tst_QQuickListView::resizeFirstDelegate unstable test

Task-number: QTBUG-22872
Change-Id: Ie77701f4f2ab5c56106f9c58b9ace869868e3452
Reviewed-by: Damian Jansen <damian.jansen@nokia.com>
12 years agoUse the AST for binding rewriting when possible.
Michael Brasser [Mon, 21 Nov 2011 05:51:54 +0000 (15:51 +1000)]
Use the AST for binding rewriting when possible.

Change-Id: I1ac8bd39ea7e02f7c236c030ca233e1060746431
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoDebugger: Don't register v8 callback until client is attached
Kai Koehne [Mon, 14 Nov 2011 11:01:04 +0000 (12:01 +0100)]
Debugger: Don't register v8 callback until client is attached

Registering the v8 debugger callback reportedly slows down
performance. Do this only if a client is really attached. When
attaching, request the already compiled scripts to make sure
breakpoint urls are properly adapted.

Change-Id: I9ff24b7ca53e13da06f70a9e5860bbd4b9aa0d99
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
12 years agoDebugger: Extend v8 debugger autotests
Kai Koehne [Mon, 14 Nov 2011 15:37:43 +0000 (16:37 +0100)]
Debugger: Extend v8 debugger autotests

Add a few test cases for attaching to a non-blocking process (using the new
timer.qml test file).

Change-Id: I480fb358411b5b19e22bc9875e1809f1faad5514
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
12 years agoDebugger: Re-enable autotests for v8 debugger
Kai Koehne [Mon, 21 Nov 2011 10:50:30 +0000 (11:50 +0100)]
Debugger: Re-enable autotests for v8 debugger

The crash in getScopes has been fixed in qtbase (commit ecd31946789)

Change-Id: I853d2567701ac986b30fc9013dac4c05eb450c9a
Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
12 years agoDebugger: Make registration of services explicit
Kai Koehne [Mon, 21 Nov 2011 15:03:53 +0000 (16:03 +0100)]
Debugger: Make registration of services explicit

Services now have to call registerService() themselves in the constructor.
This fixes a race condition where the empty implementation of messageReceived()
was called instead of the one in the subclass because the object wasn't fully
constructed yet.

Change-Id: I590ec8b76e906bdb6b5cdcb18680938edde283ee
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
12 years agoIncrease the limit of the QDeclarativePixmapCache to something sensible
Gunnar Sletta [Tue, 22 Nov 2011 14:15:28 +0000 (15:15 +0100)]
Increase the limit of the QDeclarativePixmapCache to something sensible

The limit used to be much higher, but was changed due to an accidental
tag-along in a commit in April.

Change-Id: Ie9f868b3059758aef87c2e1979ef22d840631930
Reviewed-by: Bjørn Erik Nilsen <bjorn.nilsen@nokia.com>
12 years agoRemove documentation for non-existing function
Gunnar Sletta [Tue, 22 Nov 2011 12:01:30 +0000 (13:01 +0100)]
Remove documentation for non-existing function

Change-Id: I1f08e0501694bde6991eb35adaadb9fa4a3356c1
Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
12 years agoDon't crash when importing script with syntax error
Kent Hansen [Mon, 21 Nov 2011 12:35:40 +0000 (13:35 +0100)]
Don't crash when importing script with syntax error

Task-number: QTBUG-22843
Change-Id: I2b1ed6cbbc7a566f54b441359941ea121a9033ba
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agov4: Get rid of dependency on QQuickAnchorLine type
Kent Hansen [Tue, 22 Nov 2011 14:10:42 +0000 (15:10 +0100)]
v4: Get rid of dependency on QQuickAnchorLine type

Delegate the meta-type id query and value comparison to
QDeclarativeMetaType.

Register a comparison function for QQuickAnchorLine in
QQuickItemsModule, so that not even QDeclarativeMetaType needs to
know the type declaration. (This is needed in order to be able to
move the items to a separate library.)

Change-Id: I6404d01b74143946ae0a79fa18d1777b675e4194
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
12 years agoAdd QtQuick1 plugin's major version to target path
Kent Hansen [Tue, 22 Nov 2011 11:01:48 +0000 (12:01 +0100)]
Add QtQuick1 plugin's major version to target path

This ensures that the plugin is only loaded when "import QtQuick 1.0"
(or 1.x, rather) is used, and not when "import QtQuick 2.0" (or a
later version) is used.

Change-Id: I3f7621f316449071d7a891c72840ab1d2fd6b962
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoFix PathView insertion/removal/move item offset
Martin Jones [Tue, 22 Nov 2011 07:26:49 +0000 (17:26 +1000)]
Fix PathView insertion/removal/move item offset

Fix item positioning post model changes and add auto tests. Also
fixes crash when inserting items before currentIndex, causing
offset to increase beyond item count.

Task-number: TBUG-22785
Change-Id: I17000ba497a190554c8b137a72b7e6551e8a0e56
Reviewed-by: Bea Lam <bea.lam@nokia.com>
12 years agotst_QQuickGridView::unaligned() was failing on mac
Bea Lam [Tue, 22 Nov 2011 07:04:57 +0000 (17:04 +1000)]
tst_QQuickGridView::unaligned() was failing on mac

Failing when threaded renderer is enabled. Ensure remove is
applied before testing the result.

Change-Id: I156efb43735ee0efd6a6f0b9a721979aafe17605
Reviewed-by: Bea Lam <bea.lam@nokia.com>
12 years agoStabilize Behavior tests.
Michael Brasser [Wed, 23 Nov 2011 05:30:14 +0000 (15:30 +1000)]
Stabilize Behavior tests.

Change-Id: I6ef68fa5f8fd7731c3e683de517ec3a2cb05365b
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
12 years agoDon't disconnect mid binding evaluation
Aaron Kennedy [Tue, 22 Nov 2011 13:43:10 +0000 (13:43 +0000)]
Don't disconnect mid binding evaluation

Task-number: QTBUG-22816
Change-Id: I7a958203945a051322228b6fade9e1d49d5f4c4a
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
12 years agoProfiler: Preserve line information also for optimized bindings
Kai Koehne [Fri, 11 Nov 2011 16:18:21 +0000 (17:18 +0100)]
Profiler: Preserve line information also for optimized bindings

Change-Id: Ibd5abb42364711fab454e6b9c13af53462730471
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoDebugger: Move server into it's own thread
Kai Koehne [Wed, 24 Aug 2011 11:51:07 +0000 (13:51 +0200)]
Debugger: Move server into it's own thread

So far the debugger infrastructure was running in the GUI thread,
which required e.g. nested event loops to implement blocking behavior.
The server and networking code are now running in their own thread,
while the services are still running in the main thread.

Because v8 isn't thread safe, we're adding two new JSEngines + isolates
to qv8debugservice: One to decode JSON messages in the debugger thread,
and one in the GUI thread.

Change-Id: I746f5e203968f7bcc510fb66118c88ef0fd0cd14
Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
12 years agoqmlplugindump: Fix QObject dump.
Christian Kamm [Mon, 21 Nov 2011 09:34:40 +0000 (10:34 +0100)]
qmlplugindump: Fix QObject dump.

* Hide deleteLater and the destroyed signal.
* Add destroy and toString functions.

Task-number: QTCREATORBUG-4903
Change-Id: Icbae3e1c82605baa84ac9cc8f38cd747e4dcf687
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoSpriteImage Example
Alan Alpert [Tue, 22 Nov 2011 04:27:34 +0000 (14:27 +1000)]
SpriteImage Example

Click the bear!

Change-Id: I804f95930000ec1b4dec2cd631bc51dd88689d1c
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoFix inserting before the visible area into cache buffer
Bea Lam [Fri, 18 Nov 2011 02:04:56 +0000 (12:04 +1000)]
Fix inserting before the visible area into cache buffer

Items being inserted after the visible index must be created, even if
they aren't in view (e.g. are in the cache buffer) otherwise they will
not appear at the correct index in the visibleItems list.

Task-number: QTBUG-22772
Change-Id: I235dc766a6abf4988872bb70aa40cdc767df8c96
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoTry again to fix currentIndex() test
Bea Lam [Tue, 22 Nov 2011 05:13:28 +0000 (15:13 +1000)]
Try again to fix currentIndex() test

Seems that if the threaded renderer is disabled, updatePolish() isn't
called on the view until after setCurrentIndex(), so then the view
starts at the wrong position and never moves upwards when
setCurrentIndex(0) is executed.

Change-Id: I74da9de8ac432d27189416287e7ea5937c1d6299
Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
12 years agoMove path with highlightMoveDuration: 0
Martin Jones [Mon, 21 Nov 2011 23:28:40 +0000 (09:28 +1000)]
Move path with highlightMoveDuration: 0

Task-number: QTBUG-22786

Change-Id: I10043bfa5d8c622fc4e7a25bcb1f96ef43d23890
Reviewed-by: Bea Lam <bea.lam@nokia.com>
12 years agoQt.locale() and JS locale type extension.
Martin Jones [Thu, 10 Nov 2011 08:33:27 +0000 (18:33 +1000)]
Qt.locale() and JS locale type extension.

Task-number: QTBUG-17129

Change-Id: I69cbbe858735b750b4e37ce489f2fa1ad5d8b5d3
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoEmit destruction signal before child contexts are destroyed.
Glenn Watson [Mon, 21 Nov 2011 22:02:17 +0000 (08:02 +1000)]
Emit destruction signal before child contexts are destroyed.

Verbatim comment from bug report:

When using a QtObject inside an item, and then we call a function
in the Component.onDestruction handler of that item, we get a
crash. This happens because the QDeclarativeContextData engine
has been invalidated before reaching
QDeclarativeExpressionPrivate::evalFunction.

Change code to emit the onDestruction signal before the child
contexts are invalidated.

Task-number: QTBUG-22535
Change-Id: Ic4983ae5fdf104ae977189c21dc202c9b02bc2bc
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
12 years agoFix default property preventing signals from being emitted.
Glenn Watson [Mon, 21 Nov 2011 23:13:21 +0000 (09:13 +1000)]
Fix default property preventing signals from being emitted.

Change the way connectAlias works so that even if the target
for the connection is not available immediately, anything that
is bound to it is notified when the target is changed.

(Fix is authored by Aaron).

Task-number: QTBUG-21580
Change-Id: Ida23c0e620069c50b123c71b5078929d4c7ec4e4
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoFix failing openInputPanel autotests
Joona Petrell [Mon, 21 Nov 2011 14:50:06 +0000 (16:50 +0200)]
Fix failing openInputPanel autotests

Task-number: QTBUG-21946
Change-Id: I605aca3ba5b01414c9533ca9673f1b51917df755
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoDebugger: Fix Qt library dependencies for autotests
Kai Koehne [Thu, 17 Nov 2011 11:23:20 +0000 (12:23 +0100)]
Debugger: Fix Qt library dependencies for autotests

Change-Id: Icf5465a60c7b76d5b80d0ecb40a2bd7eaa2a3689
Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
12 years agoAdding custom easing curves to property animations
Aaron Kennedy [Mon, 21 Nov 2011 17:51:31 +0000 (17:51 +0000)]
Adding custom easing curves to property animations

QDeclarativeEasingValueType gets the property customBezierCurve.
This allows to define a custom easing curve as a cubic bezier curve.

Change-Id: I33ae128ce29bba2834eedcbb90a9769a5391f997
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoFix compile.
Friedemann Kleint [Mon, 21 Nov 2011 16:02:16 +0000 (17:02 +0100)]
Fix compile.

Fix breakage introduced by
qtbase:dc0b588162951b3412e835d931637d74cb4e98b5,
missing forward declaration of QInputMethodEvent.

Change-Id: I0b659c97b15b651effb589611641e97156e385d3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
12 years agoDebugger: Fix QDeclarativeDebugTrace autotest
Kai Koehne [Thu, 17 Nov 2011 11:26:40 +0000 (12:26 +0100)]
Debugger: Fix QDeclarativeDebugTrace autotest

Change-Id: Ic17c42b6a6e388b92729fd2f653515b714f765b0
Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
12 years agoSilence compiler warnings about unused variables (MSVC)
Kai Koehne [Thu, 17 Nov 2011 09:47:36 +0000 (10:47 +0100)]
Silence compiler warnings about unused variables (MSVC)

Fixes most  'C4189: local variable is initialized but not referenced' warnings

Change-Id: I8c5a1ba0a50dd3fcb22294e564425846362ee911
Reviewed-by: Martin Jones <martin.jones@nokia.com>