platform/upstream/qtdeclarative.git
12 years agoAdded environment variable for enforcing the threaded renderer.
Samuel Rødal [Thu, 3 May 2012 21:09:22 +0000 (23:09 +0200)]
Added environment variable for enforcing the threaded renderer.

On a 120 Hz display for example, the threaded renderer makes the
animations go from rubber to velvet.

Change-Id: I28175b4a063dbf5d92ec128797e811c90891b3d5
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Donald Carr <donald.carr@nokia.com>
12 years agoDoc: Moving Qt Quick docs for new doc structure
Geir Vattekar [Mon, 7 May 2012 11:06:02 +0000 (13:06 +0200)]
Doc: Moving Qt Quick docs for new doc structure

-moved documentation from
   doc/src/qtquick2
   doc/src/localstorage
   doc/src/particles
 to src/quick/doc/
-fixed qdocconf file
-fixed snippets, images, and other qdoc errors related to the new
 directories
-fixed links in the main Qt Quick page

Change-Id: Ie3408c2624f623c17de07e5635d5c7284d02b973
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
12 years agoExpose ImperialUSSystem and ImperialUKSystem to QML locale
Martin Jones [Tue, 8 May 2012 00:27:39 +0000 (10:27 +1000)]
Expose ImperialUSSystem and ImperialUKSystem to QML locale

New enums added to QLocale must be exposed in QML too.

Change-Id: I3d4ca6c63d21eaedb2e78a01b7b3d6abace92318
Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
12 years agoEnable QML_IMPORT_TRACE for setImportPathList and setPluginPathList
Denis Mingulov [Tue, 1 May 2012 18:44:36 +0000 (21:44 +0300)]
Enable QML_IMPORT_TRACE for setImportPathList and setPluginPathList

Currently QQmlImportDatabase methods addPluginPath and addImportPath
are providing a debug output by QML_IMPORT_TRACE environment variable.
QQmlImportDatabase::setImportPathList and QQmlImportDatabase - do not.
So the current import/plugin path list might be inconsistent with the
provided debug output.

This commit adds support for QML_IMPORT_TRACE for both 'set' methods.

Change-Id: I52bb3c7b7e7e5c1119f5b73c7574da2952f4242d
Reviewed-by: Matthew Vogt <matthew.vogt@nokia.com>
12 years agoStop flicking on a full pixel.
Martin Jones [Fri, 20 Apr 2012 07:02:44 +0000 (17:02 +1000)]
Stop flicking on a full pixel.

When the user flicks/moves the view, stop on a full pixel.  This
ensures optimal presentation when static without affecting the
smoothness of animation.

Change-Id: I2d8ae084151f56d8e569fde35fb498866ad60f9c
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoRemove QQmlData::objectNameChanged callback.
Michael Brasser [Tue, 17 Apr 2012 03:54:20 +0000 (13:54 +1000)]
Remove QQmlData::objectNameChanged callback.

The objectName property now has a proper NOTIFY signal. Also
remove the objectName accessor, as it is no longer required.

Task-number: QTBUG-23526
Change-Id: Ib18ba7335bf62a2fe2a9e489cb4c0f1fb142d74c
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
12 years agoAdd documentation/links for incubateObject
Martin Jones [Tue, 8 May 2012 01:41:28 +0000 (11:41 +1000)]
Add documentation/links for incubateObject

Change-Id: I0ba05f513c6e11451b49848eb69e4b579e75f9a4
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
12 years agoDo not send double click when press was not accepted
Laszlo Agocs [Mon, 7 May 2012 10:38:14 +0000 (13:38 +0300)]
Do not send double click when press was not accepted

Sending the double click does not make sense in this case. In the
worst case something accepts the double click, leaving the mouse
grabber set, which results in blocking all further input due to having
everything delivered to that one item.

Change-Id: Ief4de360203e55e56f83179075e050f717a12108
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoSet test data directory correctly for QML profiler tests
Martin Jones [Tue, 8 May 2012 06:22:54 +0000 (16:22 +1000)]
Set test data directory correctly for QML profiler tests

Change-Id: I52f41aacb2963699394dc3ea22d6a4723b189a87
Reviewed-by: Damian Jansen <damian.jansen@nokia.com>
12 years agoFix MSVC warning C4200 (zero-sized array in struct/union).
Friedemann Kleint [Tue, 8 May 2012 15:27:52 +0000 (17:27 +0200)]
Fix MSVC warning C4200 (zero-sized array in struct/union).

Warning C4200: nonstandard extension used : zero-sized array in
struct/union. Cannot generate copy-ctor or copy-assignment
operator when UDT contains a zero-sized array.

Change-Id: Icf23b367b88a4a4f9549cc714af2a30287027da8
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoAdapt to _qpa file rename in qtbase.
Girish Ramakrishnan [Tue, 8 May 2012 06:39:03 +0000 (23:39 -0700)]
Adapt to _qpa file rename in qtbase.

qtbase change 36547f4eff44361f7a6acd0cff107c0e47561f93
renamed qpa headers.

Change-Id: I903b48d145837557d305366e2eb4eedd0ad32c14
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
12 years agoQmlDebugging: make sure that all data is sent on close
Christiaan Janssen [Tue, 8 May 2012 12:21:45 +0000 (14:21 +0200)]
QmlDebugging: make sure that all data is sent on close

Change-Id: I662a3865fec1e4d12d57389bfbe23d7221b6df16
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
12 years agoFix qmake logic
Kai Koehne [Mon, 7 May 2012 08:24:49 +0000 (10:24 +0200)]
Fix qmake logic

Regression introduced with 8867be2d1d92e981ed736330f036a681ce4b520b

Change-Id: I8c109399c28c729403535332f8f15df8dfe32b8d
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
12 years agoAdded some documentatio notes on QSGNode::markDirty()
Gunnar Sletta [Thu, 3 May 2012 14:05:13 +0000 (16:05 +0200)]
Added some documentatio notes on QSGNode::markDirty()

Change-Id: I631d85596113c38c9f19da9e65e9cae90c3bfebf
Reviewed-by: Geir Vattekar <geir.vattekar@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoMinor optimizations and cleanup
Aaron Kennedy [Fri, 4 May 2012 12:14:43 +0000 (13:14 +0100)]
Minor optimizations and cleanup

Change-Id: Iecbd5c46af00f649b1f1d78cdf5f2b40a2844897
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
12 years agoQQmlInspector: Use qmlscene in auto tests
Aurindam Jana [Fri, 4 May 2012 13:13:11 +0000 (15:13 +0200)]
QQmlInspector: Use qmlscene in auto tests

Change-Id: I2f265409439183861c0d6d164247348db6097cb3
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
12 years agoQmlProfiler: storing binding type
Christiaan Janssen [Wed, 2 May 2012 15:32:57 +0000 (17:32 +0200)]
QmlProfiler: storing binding type

Change-Id: If1f02e1e6f6ce6aba9874a63d01a08d57571f991
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
12 years agoInitial bundle support
Aaron Kennedy [Tue, 10 Apr 2012 17:11:30 +0000 (18:11 +0100)]
Initial bundle support

Change-Id: I095249f64ecf4ef1e3fbfb164e3d50edffab61e8
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
12 years agoChange uses of {to,from}Ascii to {to,from}Latin1
Thiago Macieira [Thu, 3 May 2012 12:42:53 +0000 (14:42 +0200)]
Change uses of {to,from}Ascii to {to,from}Latin1

This operation should be a no-op anyway, since at this point in time,
the fromAscii and toAscii functions simply call their fromLatin1 and
toLatin1 counterparts.

Task-number: QTBUG-21872
Change-Id: I03084595ddc425a988374b8352fd23e9504ffba6
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
12 years agoFix tile rendering bug for context2d
Charles Yin [Fri, 4 May 2012 01:21:14 +0000 (11:21 +1000)]
Fix tile rendering bug for context2d

aboutToDraw() should be called before checking the painter device,
if no device, aboutToDraw() will create a new one.

Also just release the FBO when delete tile, not need to release the fbo
after each draw.

Change-Id: Ida5954f1c65f25f0ce273f732c1608ed49bc148c
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoAdd more warnings
Charles Yin [Fri, 4 May 2012 01:18:08 +0000 (11:18 +1000)]
Add more warnings

renderTaraget and renderStrategy are not allowed to be modified once
context was initialized.

Change-Id: Ic0aa493b4e686a063c318a1d1ec912c176e47ed4
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoImplement QQuickContext2DRenderThread class for threaded context2d rendering
Charles Yin [Thu, 3 May 2012 13:31:17 +0000 (23:31 +1000)]
Implement QQuickContext2DRenderThread class for threaded context2d rendering

Change-Id: I221690c730fd412b23705c0d687d1abbac38974d
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoEnsure binding target has not been deleted
Matthew Vogt [Thu, 26 Apr 2012 23:15:11 +0000 (09:15 +1000)]
Ensure binding target has not been deleted

Prevent the evaluation of bindings if the target has been deleted.
Also, mark an item as queued for deletion at the beginning of the
destructor call chain, so that bindings triggered by the operation
of the destructor itself are not evaluated (after the context is
destructed, if necessary).

Task-number: QTBUG-25516
Change-Id: I587ef7923eb749eb7980156ad73822c1fb7c1ff3
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoChange Qt::MiterJoin to Qt::SvgMiterJoin for context2d join
Charles Yin [Fri, 4 May 2012 01:25:51 +0000 (11:25 +1000)]
Change Qt::MiterJoin to Qt::SvgMiterJoin for context2d join

Qt::MiterJoin has different behavior with HTML5 context2d spec, fortunately Qt::SvgMiterJoin is the right one.

Change-Id: Ice50c6f92b244a4d39f984510f76146682b02f07
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoEmit Component.onDestruction before context is invalidated
Matthew Vogt [Fri, 27 Apr 2012 06:12:09 +0000 (16:12 +1000)]
Emit Component.onDestruction before context is invalidated

When a component no longer has any live references, emit the
destruction signal immediately so that handlers are run before the
associated V8 resources are invalidated.  Also, when the root
context of the engine is destroyed, emit the destruction signal
before destroying any resources needed to process the resulting
binding invocations.

Change-Id: I722dd6e4b60c499b533fc45e33b61e95bca6187f
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoRefactor canvas item unit tests
Charles Yin [Thu, 3 May 2012 05:21:08 +0000 (15:21 +1000)]
Refactor canvas item unit tests

Change-Id: I99ba84889ce360d2def27834f15af43c2bdf29bc
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoSet ptr to zero after freeing memory
Chris Adams [Fri, 27 Apr 2012 07:42:06 +0000 (17:42 +1000)]
Set ptr to zero after freeing memory

This commit ensures that we set the notifyList to zero after
freeing it, to avoid possibility of dereferencing freed memory.

Change-Id: I0ce90507ad209748642a218608e118e5034bfabd
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoChange test size so there is enough detail on each platform.
Glenn Watson [Thu, 3 May 2012 22:52:08 +0000 (08:52 +1000)]
Change test size so there is enough detail on each platform.

Sometimes this test would fail if the window manager didn't
create the window at the requested size.

Change-Id: I97e0c139694040950b3ec116899fcf04a0194d55
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoKeep polishing until there is nothing left to polish.
Gunnar Sletta [Thu, 3 May 2012 13:48:53 +0000 (15:48 +0200)]
Keep polishing until there is nothing left to polish.

Some items will trigger changes in updatePolish() which
again trigger property changes which needs polish to
be executed again. If we do not polish until the set
is fully cleared, we will end up with some items being
in an unpolished state.

To avoid polishing from going on indefinitely, we have a
countdown that spits out a warning if polishing goes
on forever.

Change-Id: I4da6e884ca0d52b9b2701082ecf13e8c65508524
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoAdd some ignore rules to ignore list
Yuchen Deng [Sun, 8 Apr 2012 13:02:00 +0000 (21:02 +0800)]
Add some ignore rules to ignore list

Change-Id: I7953e503d5665aaccf87ca4fe8b1b4169bfae5c8
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoRemove QSGEngine
Gunnar Sletta [Wed, 2 May 2012 15:29:54 +0000 (17:29 +0200)]
Remove QSGEngine

Change-Id: Iaab0d9f607b1f4ca6dfb13495a456d1b31bb980a
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoRemove QJS exception API
Kent Hansen [Wed, 7 Mar 2012 12:56:33 +0000 (13:56 +0100)]
Remove QJS exception API

This API has been deprecated for a while. It's legacy stuff from
QtScript.

Until someone proves that QJSValue::isError() isn't sufficient to
handle JavaScript exceptions, we won't provide any additional API
for that.

Also removed QJSValuePrivate::lessThan(), which was using the
exception mechanism, but the function itself wasn't used anymore
(another remnant from the QtScript days).

Change-Id: I3dffc6a7835874153f90d25ae2a72c93ea6db39a
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoDo not try to apply autoRotation when the particle has no velocity
Alan Alpert [Tue, 1 May 2012 06:57:05 +0000 (16:57 +1000)]
Do not try to apply autoRotation when the particle has no velocity

Task-number: QTBUG-25025

Change-Id: Ibc1340d6ea0e36a8bf412f4da704ef8cd3447294
Reviewed-by: Glenn Watson <glenn.watson@nokia.com>
12 years agoUpdate Screen documentation
Alan Alpert [Tue, 1 May 2012 04:08:24 +0000 (14:08 +1000)]
Update Screen documentation

Task-Number: QTBUG-25031

Change-Id: Ie27b42417d63d50769eedcf1f760405861f439e5
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoFix alignment bug in QQuickText with multi-line text and implicit width
Yann Bodson [Thu, 3 May 2012 05:00:33 +0000 (15:00 +1000)]
Fix alignment bug in QQuickText with multi-line text and implicit width

If the horizontal alignment is not left and the width of the text is not
known during the first pass, we need to relayout once we know the
maximum line width.

Task-number: QTBUG-18617
Change-Id: I0cad100946beda151034067e23439185684de144
Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
12 years agoEnsure the cursor rectangle is updated when preedit text changes.
Andrew den Exter [Thu, 3 May 2012 03:03:29 +0000 (13:03 +1000)]
Ensure the cursor rectangle is updated when preedit text changes.

Updating only when the cursor position changes isn't enough because
changing pre-edit text changes the width of the pre-edit area and
the x offset of all cursor positions within it.

Change-Id: I3c0a5e4ad4714a903ca84c1a25374491f34d95a0
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
12 years agoAdd a static flag to avoid unnecessary QQmlData::init() calls
Charles Yin [Wed, 2 May 2012 23:55:48 +0000 (09:55 +1000)]
Add a static flag to avoid unnecessary QQmlData::init() calls

Change-Id: I0b38753bfaf2d1e22ab67977001b946a686b0f56
Reviewed-by: Matthew Vogt <matthew.vogt@nokia.com>
12 years agoFix build error when QT_NO_FILESYSTEMWATCHER is set
sh kim [Thu, 22 Mar 2012 02:19:43 +0000 (11:19 +0900)]
Fix build error when QT_NO_FILESYSTEMWATCHER is set

Change-Id: I41cd921f6f779b8103e8dbef9c1f8e8e661fb4ad
Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
12 years agoFix QQuickImage tiling_QTBUG_6716 and mirror tests.
Yann Bodson [Wed, 2 May 2012 04:29:20 +0000 (14:29 +1000)]
Fix QQuickImage tiling_QTBUG_6716 and mirror tests.

QQuickView::grabFrameBuffer doesn't crash on mac anymore.
Also update mirror test to reflect the way we handle tiling now
(centered if no horizontal or vertical alignment set).

Task-number: QTBUG-21688
Change-Id: Ifaa321ac0914840562ee61241c8f30d8fe8e8f04
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoTransform the velocity taken from touch event
Laszlo Agocs [Wed, 2 May 2012 11:15:13 +0000 (14:15 +0300)]
Transform the velocity taken from touch event

Change-Id: Ib90531f4526fad0c51b2f2e1e7c5ebcff4f5dec8
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoMark image particle material as requiring full matrix.
Glenn Watson [Wed, 2 May 2012 04:20:42 +0000 (14:20 +1000)]
Mark image particle material as requiring full matrix.

The image particle shader does additional transformations to the
incoming vertex positions. This change notifies custom renderers
to avoid any optimizations that may break this functionality.

Change-Id: I82353d689a1d19b4edf2cc91e42164e6a1f75b6b
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
12 years agoGradient doc fix
Damian Jansen [Mon, 30 Apr 2012 05:54:20 +0000 (15:54 +1000)]
Gradient doc fix

4.7 -> 5.0

Change-Id: I76413bdd7812342015727c73c56a576d603c9830
Reviewed-by: Glenn Watson <glenn.watson@nokia.com>
12 years agoFix compile warning
Bea Lam [Tue, 1 May 2012 07:48:34 +0000 (17:48 +1000)]
Fix compile warning

Change-Id: Iccbb17c929f7966bb1cfa21437434d9a9a6a04ee
Reviewed-by: Bea Lam <bea.lam@nokia.com>
12 years agoPort tst_qquickshadereffect to QMetaMethod-based connectNotify()
Kent Hansen [Thu, 26 Apr 2012 09:10:04 +0000 (11:10 +0200)]
Port tst_qquickshadereffect to QMetaMethod-based connectNotify()

The const char *-based API is deprecated and will be removed in Qt5.

Change-Id: Ib265719c4314f260f2cf0ee478990658449ca7d5
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
12 years agoImprove QQuickText tests
Yann Bodson [Mon, 16 Apr 2012 00:12:38 +0000 (10:12 +1000)]
Improve QQuickText tests

Test list support and make sure that we paint the text elements.
This should also improve QQuickTextNode code coverage.

Change-Id: I96c24cc452c6a4cf16064d580738e6764d859812
Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
12 years agoFix content pos adjustment when resizing first item
Bea Lam [Mon, 30 Apr 2012 02:55:45 +0000 (12:55 +1000)]
Fix content pos adjustment when resizing first item

If visibleItems.first() changes size in a ListView, the size change
should be made in the direction of the content flow. This was not
working correctly for layouts other than the default vertical+LTR
layout. This patch fixes the issue for other layouts and also fixes
resizing of implicitly sized delegates (e.g. positioners) within the
default layout.

Change-Id: Ib1d84ce000a3a341fe617cf644420dc5d589d577
Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
12 years agoRemove init() call from QQmlData's ctor.
Charles Yin [Tue, 1 May 2012 04:32:04 +0000 (14:32 +1000)]
Remove init() call from QQmlData's ctor.

This static method only needs to be called once and is already called
in QQmlEnginePrivate::init() method.

Change-Id: If2ea46ed06dca068164116b3f0b04cc404a18fb5
Reviewed-by: Matthew Vogt <matthew.vogt@nokia.com>
12 years agoRemove warning
Yann Bodson [Tue, 1 May 2012 01:29:00 +0000 (11:29 +1000)]
Remove warning

Enumeration value 'AlignJustify' was not handled in switch.

Change-Id: Id93f1002c8ec8fcf9da78d7d9b81516044f71c9d
Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
12 years agoMore robust tracking of signal handler expression ownership.
Michael Brasser [Thu, 26 Apr 2012 06:12:21 +0000 (16:12 +1000)]
More robust tracking of signal handler expression ownership.

Reference count the expressions, and improve testing.

Change-Id: I810509eae1c7608b367e9ff5f7891a294667a692
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
12 years agoConsolidate SignalSpy item
Charles Yin [Thu, 22 Mar 2012 02:27:30 +0000 (12:27 +1000)]
Consolidate SignalSpy item

1. Add signalArguments to track emitted signal parameters
2. Add valid property to track signal connection status
3. Make count, valid, signalArguments read only properties

Task-number: QTBUG-18531
Change-Id: I08e99c1086786a0e5095bf0d04750dec33153fde
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoKeep XMLHttpRequest response data after receiving a server error
Topi Reinio [Wed, 18 Apr 2012 12:55:02 +0000 (14:55 +0200)]
Keep XMLHttpRequest response data after receiving a server error

Fix XMLHttpRequest.responseText being set to empty string whenever a
server status code other than '200/OK' is received. XMLHttpRequest
specification says that response entity body is to be returned unless
the error flag is set, and the flag is set only in case of abort() or
network error. This change enables clients to receive additional error
information the server may return in the response body.

http://www.w3.org/TR/XMLHttpRequest/#the-responsetext-attribute

Task-number: QTBUG-21706

Change-Id: I7e44f481494dc7eddea3868d6f92ee45d7ab0c69
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
Reviewed-by: Bea Lam <bea.lam@nokia.com>
12 years agoEnsure context is valid before VME method creation
Matthew Vogt [Fri, 27 Apr 2012 06:09:22 +0000 (16:09 +1000)]
Ensure context is valid before VME method creation

Ensure that a valid context exists prior to evaluation of a VME method
function.  Invalid contexts can occur if a method's first invocation is
triggered after the destruction of the component's context.

Task-number: QTBUG-25516
Change-Id: I349a73c5713e178f920c44f5ddcaa1dc6eec199f
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
12 years agoPrevent object being delete by GC before object is fully created
Charles Yin [Mon, 23 Apr 2012 04:11:31 +0000 (14:11 +1000)]
Prevent object being delete by GC before object is fully created

Add a new flag inCreation to QQmlData. Set it to true when a top-level object begins creation,
and back to false when initial creation is finished and the object has been marked indestructible.
In the GC callback function, if inCreation is true, skip the GC and make a weak reference for next GC loop.

Change-Id: I4ec82864c52f6be0c3e6ef892474dd77d835e152
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
12 years agopopulate transition for positioners
Bea Lam [Tue, 17 Apr 2012 01:35:14 +0000 (11:35 +1000)]
populate transition for positioners

Fix positioners to apply a "populate" transition for initially added
items. This is consistent with ListView and GridView and also fixes the
behaviour from QtQuick 1.x where the positioners were instead running
the "move" transition for initially added items.

Change-Id: Ib43f1141ce3e7379df085c178b684f89b8567403
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
12 years agoRename absorb to enabled.
Frederik Gladhorn [Fri, 27 Apr 2012 09:36:16 +0000 (11:36 +0200)]
Rename absorb to enabled.

This makes the code easier to read.

Change-Id: Id0deca6e9bdbcf7291eaa30fda0ec5b76bbf5bf6
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@nokia.com>
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
12 years agoImproved scene graph docs
Gunnar Sletta [Tue, 24 Apr 2012 12:31:20 +0000 (14:31 +0200)]
Improved scene graph docs

Change-Id: I013e8eba2c13bd7abb01d2116af2e72c99ea5921
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
12 years agoElaborate on drag and drop and model view examples with snippets.
Andrew den Exter [Fri, 27 Apr 2012 06:35:12 +0000 (16:35 +1000)]
Elaborate on drag and drop and model view examples with snippets.

Change-Id: I8a6874c4bb480ed9bcc59e743b97d439f053840e
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
12 years agoMention the common usecase for classBegin in QQmlParserStatus doc
Alan Alpert [Fri, 27 Apr 2012 02:09:01 +0000 (12:09 +1000)]
Mention the common usecase for classBegin in QQmlParserStatus doc

Change-Id: I17800a5f03831750432eab2775a47f6146733e92
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoWhitespace fix in the source code.
Jerome Pasion [Fri, 27 Apr 2012 08:47:36 +0000 (10:47 +0200)]
Whitespace fix in the source code.

Change-Id: I1ff9d3f72102807fc07c0519287fbc990b9c37a1
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
12 years agoEnsure external value types are initialized before write
Matthew Vogt [Thu, 26 Apr 2012 01:05:41 +0000 (11:05 +1000)]
Ensure external value types are initialized before write

Ensure that the logic used when writing to a property having a value
type provided by an external module matches that used for properties
of internal value types.

Change-Id: I925b8b30a211ef813e2a51134411a162b0b146b5
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
12 years agoFix typo in documentation
Yann Bodson [Fri, 27 Apr 2012 06:50:52 +0000 (16:50 +1000)]
Fix typo in documentation

Change-Id: Ia3cc61b2af7a68e15ad9668dc67275e8a2386a8c
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
12 years agoTextEdit to honor input direction on neutral text
Pekka Vuorela [Tue, 24 Apr 2012 13:46:27 +0000 (16:46 +0300)]
TextEdit to honor input direction on neutral text

Text with neutral direction, such as e.g. plain spaces, do not
need to make text left aligned on arabic input method.

Change-Id: I9aab5244ec47cf80fb2ba0f83e7087430eb2c7bb
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
12 years agoFix TextEdit with right aligned text when size changes
Pekka Vuorela [Fri, 20 Apr 2012 14:18:53 +0000 (17:18 +0300)]
Fix TextEdit with right aligned text when size changes

Geometry change was avoiding updating size of the QTextDocument, thus
it was not able to right align before something else triggered size
change, e.g. a modification to the text. Also removed unnecessary
cursorRectangleChanged signal that was emitted when moving focus with
mouse.

Change-Id: I293fd5119473eb3def5acd1b3fbb951c12e14412
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
12 years agoQQuickTextInput aligment to follow input method on neutral content
Pekka Vuorela [Fri, 13 Apr 2012 14:49:52 +0000 (17:49 +0300)]
QQuickTextInput aligment to follow input method on neutral content

Earlier input method was followed only on empty editor. This made
inputting one space character with arabic to be visualized left to
right.

As related change arabic numbers are aligned right even though the
flow goes left to right.

Change-Id: I36448949569f6290faad69de14df424575d8b97e
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
12 years agoFix typos.
Frederik Gladhorn [Thu, 26 Apr 2012 16:26:43 +0000 (18:26 +0200)]
Fix typos.

Change-Id: I770f74c1aa323e9ec924da13d1ccd7747ac0def3
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
12 years agoDoc: Fixing errors due to incorrect QDoc commands.
Jerome Pasion [Thu, 26 Apr 2012 14:15:24 +0000 (16:15 +0200)]
Doc: Fixing errors due to incorrect QDoc commands.

-\hint, \QQV are not supported
-fixed \a
-\sa requires a comma to separate entries

Change-Id: Iae68fd92d7fbc5988e4ec801ab095fd717728036
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
12 years agoAvoid calling gc in QQmlEngine destructor.
Jędrzej Nowacki [Thu, 19 Apr 2012 12:38:38 +0000 (14:38 +0200)]
Avoid calling gc in QQmlEngine destructor.

GC may be expensive. GC call in QQmlEngine doesn't have much sense
because V8 will destroy all objects living in a current context.
The only problem is that V8 may decide to not invoke weak callbacks
which may cause a memory leak. To avoid that we track all QObjects that
have JavaScript ownership set and we delete them explicitly.

The change reduce time of destroying QQmlEngine by 75%, which is really
visible in qquicklistmodel test.

Change-Id: I2a3668fd23630669114baee8c241a7ecc4100e33
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
12 years agoRemoved parallel_test from parallel-unsafe autotest.
Rohan McGovern [Fri, 27 Apr 2012 05:16:30 +0000 (15:16 +1000)]
Removed parallel_test from parallel-unsafe autotest.

This autotest passes when run alone, but sometimes fails when run
concurrently with other tests.

Change-Id: Iaaedd29eea994bbf31344957ba24488936451ecc
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
12 years agoFix bounding rects of text items.
Andrew den Exter [Thu, 19 Apr 2012 01:08:28 +0000 (11:08 +1000)]
Fix bounding rects of text items.

Ensure the rectangles are correctly positioned with right
and center aligned text, not just sized correctly. Also add
padding to the clip rects so the cursor and styled text aren't
clipped at the item boundaries.

Change-Id: I03ef140589154ebd49b600b0a4c4fbeff845c10f
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
12 years agoDon't do a layout for wrapping if there is no width binding.
Andrew den Exter [Fri, 27 Apr 2012 01:30:34 +0000 (11:30 +1000)]
Don't do a layout for wrapping if there is no width binding.

If no width has been set on the TextEdit then the text will never wrap
so we can skip the layout on geometry changed.

Task-number: QTBUG-25489
Change-Id: I3aa8dcedeeed0792f3135a4a01f90f24941d01b3
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
12 years agoPropagate left key presses to the parent item when TextInput is empty.
Andrew den Exter [Fri, 27 Apr 2012 01:06:12 +0000 (11:06 +1000)]
Propagate left key presses to the parent item when TextInput is empty.

Don't overwrite the ignore value once it's been set to true.

Task-number: QTBUG-25447
Change-Id: I7284147bc525d0971564570f0dd0599cec190905
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
12 years agoapi: remove references to inputPanel.
Girish Ramakrishnan [Mon, 23 Apr 2012 04:18:19 +0000 (06:18 +0200)]
api: remove references to inputPanel.

Qt.application.inputPanel is now Qt.inputMethod. Also,
QGuiApplication::inputPanel is being removed.

Change-Id: I0033183235fe0fda6adff13cf5eaf4b8206d91fb
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoQmlDebugJS: Re-enable autotest on mac
Aurindam Jana [Thu, 26 Apr 2012 09:32:21 +0000 (11:32 +0200)]
QmlDebugJS: Re-enable autotest on mac

Execute getScripts() which was previously skipped.

Task-number: QTBUG-23475
Change-Id: I8e64b112fe6fa2d032b386f477594c3c21286431
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
12 years agoDebugger: Re-enable autotest on mac
Kai Koehne [Thu, 26 Apr 2012 09:28:18 +0000 (11:28 +0200)]
Debugger: Re-enable autotest on mac

Remove insignificant test after recent changes.

Task-number: QTBUG-25288
Change-Id: I4ec6237ede78dee4f362abe3135fcec32031fb75
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
12 years agoQmlDebugging: Exchange supported QDataStream versions
Aurindam Jana [Mon, 23 Apr 2012 07:23:23 +0000 (09:23 +0200)]
QmlDebugging: Exchange supported QDataStream versions

Since the client and service needs to pack/unpack
datastreams, they need to encode/decode using the lowest common
QDataStream version.

Change-Id: I3b4886fece59b24950ba618da07a0fefd41a5637
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
12 years agoSpecialize for QJson types in the QObject meta-call binding
Kent Hansen [Tue, 24 Apr 2012 16:22:06 +0000 (18:22 +0200)]
Specialize for QJson types in the QObject meta-call binding

Avoid falling back to QVariant conversion; make the overload handling
consistent.

Also make the MaxSizeOf template helper class actually compute the
correct size needed for the argument storage.

Change-Id: I04afb378bd89743d542973cc3bb0ceb729b400d9
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoUse macro for QByteArrayData initialization.
Jędrzej Nowacki [Tue, 24 Apr 2012 08:35:45 +0000 (10:35 +0200)]
Use macro for QByteArrayData initialization.

Change-Id: I6fc09c69ddd7eba588950cbdaeff4002fcc00ef5
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
12 years agoRe-enable qmltest on non-Mac platforms.
Jason McDonald [Fri, 20 Apr 2012 08:26:13 +0000 (18:26 +1000)]
Re-enable qmltest on non-Mac platforms.

The test only fails on Mac, so only make it insignificant on Mac.

Task-number: QTBUG-25306
Change-Id: If8ca4422ad1db38392397770ef3004ed4a0e8274
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
12 years agoTypo fix
Pekka Vuorela [Thu, 5 Apr 2012 08:46:13 +0000 (11:46 +0300)]
Typo fix

Change-Id: Ic5be5ee5db80e8434a5ed0bce32a8b73805abac6
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoExpound on canvas example documentation
Alan Alpert [Fri, 20 Apr 2012 11:58:59 +0000 (21:58 +1000)]
Expound on canvas example documentation

Change-Id: I5bf82697dcbadaa9dc58e11ee22b2ab8c1a28852
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
12 years agoMore example docs
Alan Alpert [Mon, 23 Apr 2012 04:39:48 +0000 (14:39 +1000)]
More example docs

MouseArea, Threading and TouchInteraction

Change-Id: I9ca812d20a6c87d68ef91066ae0a4b9bc8829478
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoUse fixed font size in test
Alan Alpert [Fri, 20 Apr 2012 08:55:16 +0000 (18:55 +1000)]
Use fixed font size in test

Otherwise, system defaults can lead to different wrap points on
different platforms.

Task-number: QTBUG-25306
Change-Id: I4082fb2f9a805982e7c8d076154983af0a393226
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
12 years agoRemove relative directory elements in import paths
Matthew Vogt [Fri, 20 Apr 2012 04:50:03 +0000 (14:50 +1000)]
Remove relative directory elements in import paths

Avoid unnecessary conversions to/from QUrl.

Change-Id: If52e78cfdaf4fe344f34d961e300b21dd4a11fb2
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
12 years agoFlesh out examples documentation
Alan Alpert [Fri, 20 Apr 2012 11:01:04 +0000 (21:01 +1000)]
Flesh out examples documentation

Change-Id: I4f7a1ce6b9957f43e442947dc6b319e919ec9cf7
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
12 years agoOptimise memory usage of bound signals
Chris Adams [Mon, 23 Apr 2012 07:25:48 +0000 (17:25 +1000)]
Optimise memory usage of bound signals

We can save a few bytes per bound signal by using a flag pointer.

Change-Id: I96d23dc287722e549e21e4c5d978bed0ba2f4bed
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoAdapt qtdeclarative to the change in QMetaObject
Olivier Goffart [Thu, 19 Apr 2012 07:54:17 +0000 (09:54 +0200)]
Adapt qtdeclarative to the change in QMetaObject

Changed in qtbase in If0b8f586cbaf633eed10045adee3ba3366826c86

Change-Id: I28e7d84873c92908b10cbcd61ae66bd8d52ef51e
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
12 years agoDon't use the QRegExp methods that modify the object
Thiago Macieira [Mon, 23 Apr 2012 14:47:50 +0000 (16:47 +0200)]
Don't use the QRegExp methods that modify the object

QRegExp matching methods modify the object, which we don't want to. In
particular, when we receive a QRegExp from the user or we store in a
context that might require thread-safety, make sure we make a copy
before using it.

QRegularExpression has no such shortcoming.

Task-number: QTBUG-25064
Change-Id: I252d1c47d7039caacec6aac5b572371d5b7efe32
Reviewed-by: Giuseppe D'Angelo <dangelog@gmail.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoDebugger: Change name and protocol of QDeclarativeObserverMode
Aurindam Jana [Tue, 24 Apr 2012 07:23:13 +0000 (09:23 +0200)]
Debugger: Change name and protocol of QDeclarativeObserverMode

Rename QDeclarativeObserverMode to QmlInspector service.
This is because the current protocol has been changed
completely and just a version change is misleading.

Change-Id: I3b72f081f6ab77eac474dcef7a84375ef69e20dc
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
12 years agoDebugger: Fix race conditions in block mode
Kai Koehne [Tue, 24 Apr 2012 12:39:38 +0000 (14:39 +0200)]
Debugger: Fix race conditions in block mode

Using waitForMessage() in the constructor after registerService() is
_not_ safe: You might get the first message already after the
registerService() and before the waitForMessage() call. Instead,
use QMutex/QWaitCondition to block the initialization. Also make
the use of the block mode explicit, since the service might already
be enabled also for non-blocking modes ...

Change-Id: I387bfe0627c80e2029acff71f86d12cd9ab58de1
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
12 years agoDebugger: Fix warnings about declarative_debug in autotests
Kai Koehne [Wed, 25 Apr 2012 06:40:48 +0000 (08:40 +0200)]
Debugger: Fix warnings about declarative_debug in autotests

declarative_debug is deprecated and will be removed eventually.

Change-Id: I1f5a61c91c25e37ff39e9154bcaa3cd74d60e109
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
12 years agoDebugger: Improve output of autotests
Kai Koehne [Fri, 16 Mar 2012 15:44:24 +0000 (16:44 +0100)]
Debugger: Improve output of autotests

Change-Id: Ib938d2f39d8a0928c257ef923df5d5fcfa85c4cf
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
12 years agoDebugger: Fix race condition in block mode, QQmlDebugServer
Kai Koehne [Tue, 24 Apr 2012 11:31:17 +0000 (13:31 +0200)]
Debugger: Fix race condition in block mode, QQmlDebugServer

Make sure that the first message hasn't already arrived before
we call d->messageArrivedCondition.wait().

Change-Id: I0d3df9adbd41f71df5c1c7d6df90c0037f494514
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
12 years agoMake touch event delivery in the canvas reentrant
Laszlo Agocs [Tue, 24 Apr 2012 07:51:59 +0000 (10:51 +0300)]
Make touch event delivery in the canvas reentrant

At the moment the unlikely case of spinning the event loop from a
QQuickItem event handler for TouchBegin is not handled properly: It
will end up not delivering the subsequent TouchUpdate and TouchEnd
events to the item, leaving it in a state that should not normally
happen.

Change-Id: I668d065c9cf1a299bfd9268a9125d7a7e32f6786
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
12 years agoDebugger: Fix RAII usage of ReadWriteLocker
Kai Koehne [Wed, 11 Apr 2012 14:26:15 +0000 (16:26 +0200)]
Debugger: Fix RAII usage of ReadWriteLocker

Variables without a name are free to be deleted even before the
scope ends.

Change-Id: I07fb6f98cd5b36876db5de2e1b4e8ce355f74415
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
12 years agoDebugger: Add asserts for right usage of threads
Kai Koehne [Wed, 11 Apr 2012 14:27:14 +0000 (16:27 +0200)]
Debugger: Add asserts for right usage of threads

Change-Id: I7c377863eb42e693aa4022af33a83098547e0d58
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
12 years agoFix usage of QMutexLocker
Kai Koehne [Tue, 24 Apr 2012 13:17:24 +0000 (15:17 +0200)]
Fix usage of QMutexLocker

Not giving QMutexLocker a name means that it's lifetime is
not guaranteed to be bound to the current scope.

Change-Id: I6e58b0aab814c5e686fac3ff0aa6b671e17db240
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoDebugger: Make sure stateChanged is called from debugger thread
Kai Koehne [Fri, 16 Mar 2012 15:44:24 +0000 (16:44 +0100)]
Debugger: Make sure stateChanged is called from debugger thread

Make sure stateAboutToBeChanged(), stateChanged() is always called
from the debugger thread. This matches how messageReceived()
is called. On exit, run an event loop until all stateAboutToBeChanged
calls have returned.

Change-Id: I9cd6199cc80552ad97e4b7d504ea91aa116a6a34
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
12 years agoMark all Latin 1 strings with QString::fromLatin1 or QLatin1String
Thiago Macieira [Mon, 23 Apr 2012 14:46:20 +0000 (16:46 +0200)]
Mark all Latin 1 strings with QString::fromLatin1 or QLatin1String

This is in preparation of QString's constructor using UTF-8 by default

Change-Id: Ibd0a585342af572e3f74636deb97c1b6b3afeb9a
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Matthew Vogt <matthew.vogt@nokia.com>
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
12 years agoThe QUrl constructor can be used once again, so use it.
Thiago Macieira [Mon, 26 Mar 2012 22:56:23 +0000 (19:56 -0300)]
The QUrl constructor can be used once again, so use it.

Slight performance gain by avoiding a round-trip through QByteArray.

Change-Id: Ibcd2e20f92236ca9878e52665b6d677019bb19a4
Reviewed-by: Matthew Vogt <matthew.vogt@nokia.com>
12 years agoInitialize value type properties.
Roberto Raggi [Tue, 24 Apr 2012 10:03:51 +0000 (12:03 +0200)]
Initialize value type properties.

This patch ensures that the value type properties (e.g. QColor)
are initialized before updating their values.

Change-Id: I789fe8247e0ded17460570ab28b8834aa22f0a40
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>