profile/ivi/qtdeclarative.git
12 years agoAccessibility: childAt_helper descends too far.
Morten Johan Sorvig [Thu, 19 Jan 2012 07:02:09 +0000 (08:02 +0100)]
Accessibility: childAt_helper descends too far.

Recursive hit-testing using childAt_helper must stop
when it hits a leaf accessibility item. This leaf item
might not be a leaf item in Qt Quick - a button contains
text and mouse area items not visible to the accessibility
system for example.

Get the accessible interface and check if it has
children before recursing to the child items.

Change-Id: I2cc286cde4bce6b4ca340e8a1819edc5f84006a5
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
12 years agoRemove unneeded dependencies to QtWidgets and QtOpenGL
Lars Knoll [Wed, 29 Feb 2012 19:43:09 +0000 (20:43 +0100)]
Remove unneeded dependencies to QtWidgets and QtOpenGL

Change-Id: I43bb54524f5786a838073df8812107dda7b0d56e
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
12 years agoFix MouseArea autotest.
Laszlo Agocs [Mon, 12 Mar 2012 06:40:52 +0000 (08:40 +0200)]
Fix MouseArea autotest.

The hover test seems to be simply wrong. The double click tests worked
before due to the obscure handling of double click but were somewhat
incorrect in any case.

Change-Id: Ie5690e26eb5921fe149e128d24d331f52a5a9075
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
12 years agoFix tst_qquicktextedit.
Michael Brasser [Mon, 12 Mar 2012 00:55:25 +0000 (10:55 +1000)]
Fix tst_qquicktextedit.

Recent changes to mouse double-click handling mean that two
calls to QTest::mouseClick with the same position will result in a
double click, which was causing this test to fail.

Change-Id: I21e6aa7ab2221b6ea82b1afd13e36b7ba0aef8dc
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
12 years agoFix double click handler in QQuickItem.
Laszlo Agocs [Fri, 9 Mar 2012 10:00:29 +0000 (12:00 +0200)]
Fix double click handler in QQuickItem.

The legacy, desktop-oriented way of calling mousePressed from the
default handlers for mouseDoubleClick is not working properly with
QWindow and QGuiApplication: In Qt 5 a double click will never
suppress any lower level events (like press or release) and therefore
simulating a mouse press in the double click handlers is wrong.

Change-Id: Ic0ad97a5efbcd3deb1717229010dcb84681d7ed4
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
12 years agoRemove pin of qtbase for qtdeclarative.
Sergio Ahumada [Tue, 6 Mar 2012 12:17:16 +0000 (13:17 +0100)]
Remove pin of qtbase for qtdeclarative.

Change-Id: Ib70a3438d085adbed3a1ca7df81d593c7a512ae0
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
12 years agoSkip test that accesses deleted QML engine
Kent Hansen [Mon, 12 Mar 2012 12:13:48 +0000 (13:13 +0100)]
Skip test that accesses deleted QML engine

The test is blocking the CI because it crashes on linux/x64.
By "luck" it doesn't crash on the other test machines -- valgrind
still complains, though.

Task-number: QTBUG-24734
Change-Id: I6bc12ca72f8900339bc9139b40cf828aff8e47ba
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoFix flakiness in qquicklistmodel autotest
Kent Hansen [Mon, 12 Mar 2012 15:02:43 +0000 (16:02 +0100)]
Fix flakiness in qquicklistmodel autotest

The worker_remove_element test calls processEvents() before
calling waitForWorker(). It's possible that the worker actually
finishes during the processEvents() call. In such a situation,
waitForWorker() should return right away; otherwise it would
wait for 10000ms for a signal that had already emitted, and the
test would fail.

Change-Id: I8e98a3297cf5f360c1c405b1baa7524cc6593d81
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoMark presumed unstable test as insignificant.
Lars Knoll [Mon, 12 Mar 2012 16:01:16 +0000 (17:01 +0100)]
Mark presumed unstable test as insignificant.

Change-Id: Iea22ae6596c04ba95d59bcb3957bdc3cf9263ae2
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
12 years agoReturn early if animationjob was deleted in all callback methods.
Charles Yin [Fri, 9 Mar 2012 01:34:18 +0000 (11:34 +1000)]
Return early if animationjob was deleted in all callback methods.

Change-Id: I703c8a8904ffd760683de4ee74544dff9eb53144
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoRemove undefined method.
Stephen Kelly [Wed, 7 Mar 2012 20:17:02 +0000 (21:17 +0100)]
Remove undefined method.

Change-Id: Id95aebcfc5beac0154db4b1137fc08d5172f3428
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoMake headersclean in qtdeclarative enforce correct header conventions.
Rohan McGovern [Mon, 5 Mar 2012 05:55:31 +0000 (15:55 +1000)]
Make headersclean in qtdeclarative enforce correct header conventions.

This test wasn't testing much before.
Refactor it to reuse headersclean from qtbase.

It will now fail to compile if the headers from this module don't follow
the rules.

Change-Id: I2816b85543da74f66b993b7ee705cdb9e1c0f1c8
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
12 years agorefilled items should be moved immediately
Bea Lam [Mon, 5 Mar 2012 08:05:40 +0000 (18:05 +1000)]
refilled items should be moved immediately

refill() functionality should reposition items immediately, else
removeNonVisibleItems() sees different positions from those added in
addVisibleItems() if an item is animating.

Change-Id: Ib9904e08bf92b18fd4b712270c0ab69e9a113e04
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoClean up transition objects for positioners
Bea Lam [Wed, 7 Mar 2012 08:20:06 +0000 (18:20 +1000)]
Clean up transition objects for positioners

These must be cleaned up whenever items are removed from the internal
PositionedItem lists.

Change-Id: I56f64a29bd98c603b00faaead514fd43780c18de
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
12 years agoAdd mouse wheel events handler to MouseArea
Luis Gabriel Lima [Thu, 5 Jan 2012 18:19:26 +0000 (15:19 -0300)]
Add mouse wheel events handler to MouseArea

This patch was based on the attached patch in QTBUG-7369. It basically
exposes the wheel events to MouseArea via the onWheel signal.

The current API is based on the new QWheelEvent API introduced by this
patch: http://codereview.qt-project.org/#change,12532

Task-number: QTBUG-7369
Change-Id: Id58513715c2d0ae81e3a69e9e1ed400bbae07507
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoAvoid using QQuickViewItem as base class
Bea Lam [Wed, 7 Mar 2012 03:29:20 +0000 (13:29 +1000)]
Avoid using QQuickViewItem as base class

This patch renames it to QQuickItemViewTransitionableItem, and
FxViewItem and PositionedItem now create instances of this instead of
subclassing it, to reduce the memory used when transitions are not
required.

Change-Id: Ie050cda5a121bff9542c7ba7356f6eacf37d241a
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
12 years agoDon't grow container when desired size is known
João Abecasis [Wed, 7 Mar 2012 22:17:54 +0000 (23:17 +0100)]
Don't grow container when desired size is known

QList<Type>::reserve() is used upfront to allocate necessary memory in a one
go. This tells us straight away whether allocation is possible at all and
reduces re-allocations and consequent memory copies.

This also has the side effect that no spare memory is allocated, also allowing
up to (and including) INT_MAX elements to actually be stored in the underlying
QList, as long as enough memory is available to satisfy the allocation request
and subsequent fill.

The qqmlecmascript::sequenceConversionIndexes was changed to not attempt
INT_MAX allocations as, given enough memory and virtual address space, that
might succeed but take a really long time.

Change-Id: I4b0c965e9c23be78874343a70d7c155933c80903
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
12 years agoFix typo.
Michael Brasser [Wed, 7 Mar 2012 22:25:45 +0000 (08:25 +1000)]
Fix typo.

Change-Id: Ibbfcc787e463a3a9d1a154d1986c3969f11e60d8
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
12 years agoAdd autotest for v4 nested object bug.
Michael Brasser [Fri, 2 Mar 2012 01:33:46 +0000 (11:33 +1000)]
Add autotest for v4 nested object bug.

Task-number: QTBUG-24606
Change-Id: I0909d60316f7213b21fc315e8a3d0a6124e84409
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
12 years agoReset transitioner pointer when transition job finishes
Bea Lam [Thu, 8 Mar 2012 07:05:07 +0000 (17:05 +1000)]
Reset transitioner pointer when transition job finishes

A transition job should only keep a reference to the transitioner
for the lifetime of the transition.

Change-Id: I22564d7b6587fed58ef53fd50ad4a700340dc7a4
Reviewed-by: Martin Jones
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoUpdate righttoleft examples to new form factor
Alan Alpert [Wed, 7 Mar 2012 07:10:14 +0000 (17:10 +1000)]
Update righttoleft examples to new form factor

Change-Id: I2591f45a91da8bad90c5f3b9c963199c57bcf74d
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
12 years agoUpdate text examples to new guidelines
Alan Alpert [Fri, 2 Mar 2012 04:30:51 +0000 (14:30 +1000)]
Update text examples to new guidelines

Change-Id: I6bbf414f3734bc2f29a7182746c5df158a5924da
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
12 years agoUpdate shadereffects example to new guidelines
Alan Alpert [Fri, 2 Mar 2012 04:16:55 +0000 (14:16 +1000)]
Update shadereffects example to new guidelines

Change-Id: Ifa4f06cbf990a2f3fd1c46a3c4fda02b5c42d15b
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
12 years agoUpdate positioners examples to new guidelines
Alan Alpert [Fri, 2 Mar 2012 01:05:10 +0000 (11:05 +1000)]
Update positioners examples to new guidelines

Change-Id: I197a94bca26adbb79f1822b693fa73109db5a4ac
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
12 years agoFix crash in listmodel when data is assigned incorrectly.
Glenn Watson [Thu, 8 Mar 2012 23:19:35 +0000 (09:19 +1000)]
Fix crash in listmodel when data is assigned incorrectly.

If a listmodel with static role types is created, it would crash
if a role was assigned a value type such as string, and then
subsequently assigned an array (sub list) value from a dynamic
meta object (created when using get() from JS).

Change-Id: Ibfd0b0b40be13b04103b49462cfae42a5c9f9fb9
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoHandle QEvent::TouchCancel in QML_TRANSLATE_TOUCH_TO_MOUSE mode
Martin Jones [Thu, 8 Mar 2012 03:41:19 +0000 (13:41 +1000)]
Handle QEvent::TouchCancel in QML_TRANSLATE_TOUCH_TO_MOUSE mode

Just remove the mouse grab.  The elements will react to this and
correct their state.

Change-Id: I8b91295606eaface54aa95b1500e7b138d9bc82e
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoKeep high-level intermediate representation for IR::BINOPs.
Roberto Raggi [Thu, 1 Mar 2012 14:33:23 +0000 (15:33 +0100)]
Keep high-level intermediate representation for IR::BINOPs.

That is, keep binary expressions in HIR, this will make constant
folding more effective. Also, the register allocator for
expression-trees used in the V4 compiler will do a better job.

Change-Id: I2d5eea08ecd9c8d6f3aa21f1fd674a691ef9e1b0
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoRemove non explicitly typed IR::CONST() nodes.
Roberto Raggi [Thu, 1 Mar 2012 14:18:54 +0000 (15:18 +0100)]
Remove non explicitly typed IR::CONST() nodes.

This change ensures that IR::CONST expressions
created by BasicBlock::BINOP(op,left,right) have
the correct types.

Change-Id: Iabac3f4ee1b897cc0d0bdf7e7385d7ae6dc513e4
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoQmlDebugging: Remove QQmlDebugClient
Aurindam Jana [Tue, 6 Mar 2012 13:59:29 +0000 (14:59 +0100)]
QmlDebugging: Remove QQmlDebugClient

Remove QQmlDebugClient and relevant classes from the
library and move to client code.

Change-Id: I6f526b3f0c92970dcad5e5abd8585bb9b406349e
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
12 years agoQmlProfiler: Avoid overhead if profiling is not enabled
Kai Koehne [Thu, 8 Mar 2012 10:47:38 +0000 (11:47 +0100)]
QmlProfiler: Avoid overhead if profiling is not enabled

Change-Id: I7ecf32fca53fdb2672760a5b0c5ae88d6bd8fe5a
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoRemove unused QTextCursor code from rewriter.
Matthew Vogt [Thu, 8 Mar 2012 04:11:46 +0000 (14:11 +1000)]
Remove unused QTextCursor code from rewriter.

The rewriter previously supported rewriting operations on either
a QString or a QTextCursor.  In order to remove the dependency on
QtGui, remove the unused QTextCursor support.

Task-number: QTBUG-24559
Change-Id: I7a4acceff8097a8bd8c022db23b6b89d356e305a
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
12 years agoPin qtbase at known-good change ID.
Matthew Vogt [Fri, 9 Mar 2012 00:44:21 +0000 (10:44 +1000)]
Pin qtbase at known-good change ID.

Change-Id: I889a427bf1bddbcc70255f4efb47b803f18dd89e
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
12 years agoFix selected text highlight in TextEdit.
Andrew den Exter [Wed, 7 Mar 2012 07:42:49 +0000 (17:42 +1000)]
Fix selected text highlight in TextEdit.

The call to QQuickTextNode::addTextDocument() omitted the anchor
color argument meaning every subsquent argument was off by one and
the selection end was always the default of -1.

Change-Id: Iac3165e7aa95a3db935a19e54144d3967a3e6e38
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
12 years agoImprove accessibility action support for Qt Quick
Morten Johan Sorvig [Tue, 10 Jan 2012 11:12:51 +0000 (12:12 +0100)]
Improve accessibility action support for Qt Quick

Add interface_cast for the action interface.
Implement actions for the following roles:
Button                           : Press
CheckBox, RadioButton            : Press, Check, Uncheck
Slider, Spinbox, Dial, ScrollBar : Increment, Decrement

Change-Id: Ic8e0d17c709ba51655f3f4b699092baf603b6f18
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
12 years agoQML Debugger: Change prefix of warnings
Kai Koehne [Wed, 7 Mar 2012 13:53:24 +0000 (14:53 +0100)]
QML Debugger: Change prefix of warnings

Since we've been changing from QtDeclarativeDebugServer to
QQmlDebugServer anyway, we might as well change it to the more
readable "QML Debugger:" prefix.

Change-Id: I852577233d7cdb1f57adc43ec1b85a14d212574d
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
12 years agoQQuickView with the default constructor doesn't show any window decorations.
Alexis Menard [Mon, 5 Mar 2012 14:32:52 +0000 (11:32 -0300)]
QQuickView with the default constructor doesn't show any window decorations.

The default parameter takes a 0 which is propagated to the window platform
which sets it to 0. QWidget have a method called adjustFlags which takes
care of adding QWindow when necessary. There is no such check in QWindow
or the platform plugin for QPA. The default flag of QWindow is Qt::Window
but in that case it is overiden as QQuickView constructor calls
setWindowFlags(0). Qt::Window as a default parameter is a solution.

Change-Id: Iccbebc5b7e4f094c7fc6dc61b37d9f9622be0237
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
12 years agoInstall compat into the correct dir
Jørgen Lind [Wed, 7 Mar 2012 12:59:54 +0000 (13:59 +0100)]
Install compat into the correct dir

Change-Id: I699a943862d6388add2e4e7c24ed416ec1bd1444
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
12 years agoQmlDebugging: Remove deprecated classes
Aurindam Jana [Wed, 7 Mar 2012 08:00:22 +0000 (09:00 +0100)]
QmlDebugging: Remove deprecated classes

Remove the deprecated QQmlDebugHelper class.

Change-Id: I56823774f67ee06ccf7e0a797e250178f4a141f7
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
12 years agoQmlDebugging: Revert the names of services
Aurindam Jana [Wed, 7 Mar 2012 08:34:12 +0000 (09:34 +0100)]
QmlDebugging: Revert the names of services

Revert the names of the services changed in
b855240b782395f94315f43ea3e7e182299fac48 to
maintain BC.

Change-Id: I79826d92fd09c41e0020541b0c7bb77b5b2ecb1f
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
12 years agoCompile after API changes in QCoreApplication
Gunnar Sletta [Wed, 7 Mar 2012 09:21:08 +0000 (10:21 +0100)]
Compile after API changes in QCoreApplication

Change-Id: I6bc6978a5c68503facd8085bd35e66f86af58a90
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoUse StringRef::load() to initialize DefaultProperty string
Kent Hansen [Mon, 5 Mar 2012 11:58:50 +0000 (12:58 +0100)]
Use StringRef::load() to initialize DefaultProperty string

Micro-cleanup; don't access the string data directly. load() is
inline. It additionally asserts that the string length matches.

Change-Id: Ie24df83ea68b96179792995d062db7872933b1a8
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoDon't needlessly create alias property names in the meta-object
Kent Hansen [Mon, 5 Mar 2012 11:23:19 +0000 (12:23 +0100)]
Don't needlessly create alias property names in the meta-object

When aliases should not be resolved, there is no need to create the
alias name StringRef, since it would occupy space in the meta-data
even though the string was never actually initialized.

Similarly, when aliases should be resolved, it's enough to create the
StringRef once.

Change-Id: I44dfe665fe8d7bd5754bc939ff62ad75efe19d5b
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoMake sure QML type "real" always maps to C++ type "double"
Kent Hansen [Mon, 5 Mar 2012 10:54:01 +0000 (11:54 +0100)]
Make sure QML type "real" always maps to C++ type "double"

The type "real" was documented to be a single-precision float, but
that's incorrect. It's always been double.

However, signal parameters of type "real" would be mapped to the C++
type "qreal", which can be either float or double depending on the
platform.

Since JavaScript floating point numbers have double precision, QML
should use the same, to avoid potential loss of precision.

With this change, "real" behaves the same as the QML "double" type
(which already guaranteed double precision). Even though it's
redundant, "double" is kept to preserve compatibility.

Added tests for the "double" type to the QML meta-object autotest,
and a test for the "real" type that ensures there's no loss of
precision.

Change-Id: I1a77f1fd45082ff670684a935e17d1a46ea75d84
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoCorrectly place '.' when building name for call expressions.
Michael Brasser [Wed, 7 Mar 2012 03:50:41 +0000 (13:50 +1000)]
Correctly place '.' when building name for call expressions.

Change-Id: Ic0119a0f4c02387ed19e2905f0b24c4ce86565cb
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
12 years agoDon't link against QtWidgets and QtOpenGL
Lars Knoll [Wed, 29 Feb 2012 19:41:47 +0000 (20:41 +0100)]
Don't link against QtWidgets and QtOpenGL

Change-Id: I3a949dff488d200762b18a0c0a16103f8908052e
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
12 years agoListView can freeze if flicked beyond its bounds.
Martin Jones [Wed, 7 Mar 2012 05:26:33 +0000 (15:26 +1000)]
ListView can freeze if flicked beyond its bounds.

If the delegate's size changes in componentComplete and all
items are flicked out of view, an incorrect jump calculation
in addVisibleItems() resulted in a new delegate being created
in the wrong position, and retriggering the jump calculation,
which resulted in a new delegate being created in the wrong
position, and retriggering the jump...

Also fixed currentItem visibility.

Change-Id: Iad5f211c4fc5eed9c009d51a0ce3b58181a7b36e
Reviewed-by: Bea Lam <bea.lam@nokia.com>
12 years agoFix setting of target lists when target Transition is not set
Bea Lam [Mon, 5 Mar 2012 23:39:24 +0000 (09:39 +1000)]
Fix setting of target lists when target Transition is not set

Target items are now set from QQuickViewItem::prepareTransition()
instead of QQuickItemView and QQuickPositioner to ensure they are
for a displaced transition even if there is no matching target
transition.

Task-number: QTBUG-24535
Change-Id: I0a6c7e3c6198786527014d421b96fc562c6186dc
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoChanged particles tests to work from install directory
Kurt Korbatits [Tue, 6 Mar 2012 22:02:44 +0000 (08:02 +1000)]
Changed particles tests to work from install directory

- Changed particles tests to use TESTDATA
- Changed particles tests to inherit from QQmlDataTest
  and use testFileUrl() to find test data

Change-Id: Iae7c5111d976ec3efe473c40a3bab2f0a38c0969
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
12 years agoChanged quick tests to work from install directory
Kurt Korbatits [Tue, 6 Mar 2012 04:48:21 +0000 (14:48 +1000)]
Changed quick tests to work from install directory

- Changed tests to use TESTDATA
- added check for cross_compile option to skip when sources not available

Change-Id: I1f382794ff982bbc07fc20438a4e4a8c8b8d565f
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
12 years agoChanged qml tests to work from install directory
Kurt Korbatits [Tue, 6 Mar 2012 04:01:34 +0000 (14:01 +1000)]
Changed qml tests to work from install directory

- Changed tests to use TESTDATA
- moved qqmlcontext to private test as it contains private header
- added check for cross_compile option to skip when sources not available

Change-Id: I0f68f58ffcb1b41b8e40a9851e3e003fe72ee2f9
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoChange the default renderTarget and renderStrategy
Charles Yin [Tue, 6 Mar 2012 23:28:27 +0000 (09:28 +1000)]
Change the default renderTarget and renderStrategy

As we always use OpenGL and scenegraph render thread now, the best default
render target should be FBO and the best render strategy should be
cooperative mode (use the render thread).

Task-number:QTBUG-23956
Change-Id: I64b070dec566e359d27c84680fef1c691d6ce411
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoRepaint the canvas item properly when canvas resized
Charles Yin [Tue, 6 Mar 2012 23:34:18 +0000 (09:34 +1000)]
Repaint the canvas item properly when canvas resized

Task-number:QTBUG-23594
Change-Id: I703a5190b5b306666ffd61001ff94f296399465f
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoprepareTransition() must cancel current transition
Bea Lam [Mon, 5 Mar 2012 23:28:56 +0000 (09:28 +1000)]
prepareTransition() must cancel current transition

If it does not, itemX() or itemY() will still return the current
transition's 'to' position instead of the nextTransitionTo pos that was
scheduled for the next transition (which the item now has moved to
using the direct setPos() method).

Also refactor prepareTransition() to always move the item directly to
the nextTransitionTo if transition is not going ahead.

Also fix some broken test code.

Task-number: QTBUG-24523
Change-Id: I2e536fbc0da2acbf96fdf2d177190a8968f7fdb1
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoFix texture leaks in QQuickCanvasItem
Charles Yin [Wed, 7 Mar 2012 00:20:06 +0000 (10:20 +1000)]
Fix texture leaks in QQuickCanvasItem

In commit be4c74948371ddf6f1ed260783b43b5a3d9e60a7 we removed the
QQuickCanvasItemNode, but textures are not automatically deleted with
QSGSimpleTextureNode, so add a very thin sub class of QSGSimpleTextureNode
to just cleanup canvas texture to avoid texture leaks.

Change-Id: I31aac1068e8218a75129b52afbbf30fb66e4bbf7
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoCheck for parent item before calling functions on it.
Frederik Gladhorn [Tue, 6 Mar 2012 10:26:55 +0000 (11:26 +0100)]
Check for parent item before calling functions on it.

Change-Id: Ic4066d133ef16ce8cf11fcb9fb5ddcc19599e85d
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
12 years agoFix missing glyphs when using shared distance-field cache
Eskil Abrahamsen Blomfeldt [Mon, 5 Mar 2012 16:25:50 +0000 (17:25 +0100)]
Fix missing glyphs when using shared distance-field cache

When using a shared distance field cache, signals such as
itemsMissing() and itemsUpdated() can be triggered in the
server process by external requests. This, in turn, can
lead to unnecessary storeGlyphs() calls (performance hit)
and, even worse, calls to setGlyphPositions() for glyphs
which have not previously been requested through populate().
The latter could cause missing glyphs when the same
characters were requested later, as they would then be
stored in the cache with the bounding rect of a default
constructed QPainterPath (in setGlyphPositions()).

To fix this, we ignore all glyphs which have no been requested
in this process, thus filtering out all events for glyphs which
have only been used externally so far. I've also added an
assert to the setGlyphPositions() to help us catch this case
early if it should return.

Change-Id: Ief333f612e4affea768d9c60409d43ce29fe3f60
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
12 years agoCleanup QQuickCanvas and QQuickView docs.
Martin Jones [Mon, 5 Mar 2012 23:45:58 +0000 (09:45 +1000)]
Cleanup QQuickCanvas and QQuickView docs.

Mark reimplemented protected methods.

Change-Id: I544d68e16d82a37f5612fd72cd185a23c70157a7
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
12 years agoContinue refactor of Canvas rendering.
Justin McPherson [Fri, 2 Mar 2012 06:28:16 +0000 (16:28 +1000)]
Continue refactor of Canvas rendering.

- Remove sync() - not necessary
- Queue buffer before flush

Change-Id: If7dea8e56a612d241c67a82eae265febc45059a8
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
12 years agoUse NPOT support if available.
Justin McPherson [Tue, 28 Feb 2012 05:08:43 +0000 (15:08 +1000)]
Use NPOT support if available.

In QQuickContext2DTexture.

Change-Id: If0311450658a837b7e2665c041ec2846e3c8c2dd
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
12 years agoRemove QQuickCanvasItemNode.
Justin McPherson [Fri, 2 Mar 2012 06:24:04 +0000 (16:24 +1000)]
Remove QQuickCanvasItemNode.

A custom SGNode is not necessary.

Change-Id: Ibde71dd502bc782503dbd7d98e6ad8b811b7aedb
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
12 years agoRemove incorrect line from performance docs
Chris Adams [Tue, 28 Feb 2012 07:38:35 +0000 (17:38 +1000)]
Remove incorrect line from performance docs

V8 does not use a single map-transition-graph for all types, and thus
the line about ordering of properties in constructor functions is
incorrect.

Change-Id: Iaf4ac02dcfc53dd7254af1a40a3c66852a78a320
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
12 years agoFixed QQuickCanvas header with QT_NO_KEYWORDS
Rohan McGovern [Mon, 5 Mar 2012 06:12:48 +0000 (16:12 +1000)]
Fixed QQuickCanvas header with QT_NO_KEYWORDS

slots -> Q_SLOTS

Change-Id: I971a0077a2606e197e9542ccb864e57d0b0e9f4f
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
12 years agoFix renaming merge with examples
Alan Alpert [Mon, 5 Mar 2012 05:40:59 +0000 (15:40 +1000)]
Fix renaming merge with examples

Some examples were duplicated a few times. Removing the excess.

Change-Id: I6fa59f79de63ac952103421ba1c063f5912b702b
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoHandle MouseArea.enabled = false after mouse is pressed.
Martin Jones [Mon, 5 Mar 2012 05:07:27 +0000 (15:07 +1000)]
Handle MouseArea.enabled = false after mouse is pressed.

Currently this leaves the MouseArea in a broken state,
i.e. still in pressed state, and the next press after
it is re-enabled is ignored.

In this case we now allow subsequent mouse move or
release events to continue. Following the release,
no further press will be accepted.

Change-Id: I65a890da90e2166ad568505fffdbd3db6c97165b
Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
12 years agoDo not store an explicit QImage in the declarative pixmap cache.
Gunnar Sletta [Mon, 5 Mar 2012 09:11:16 +0000 (10:11 +0100)]
Do not store an explicit QImage in the declarative pixmap cache.

This opens up for the scene graph adaptation only storing textures which
effectively halves the memory usage for textures and images.

Change-Id: I3452a15844ceeb4fc3a465865f99ee16e3e05607
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoMade QQuickWindowManager pluggable via QSGContext.
Gunnar Sletta [Mon, 5 Mar 2012 08:28:10 +0000 (09:28 +0100)]
Made QQuickWindowManager pluggable via QSGContext.

Also rename paint() to exposureChanged() as that is what the function
actually means. The implementation of paint() has been removed in both
trivial and threaded version as it is superflous as show() already
triggers rendering.

Change-Id: I7e53f42786efaf961921f10a39977de511965d71
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
12 years agoFix crash with AnimatedImage caused by race condition.
Gunnar Sletta [Mon, 5 Mar 2012 08:44:46 +0000 (09:44 +0100)]
Fix crash with AnimatedImage caused by race condition.

In QDeclarativePixmap::setImage() we deleted a QDeclPixmapData
and recreated a new one in a very short timespan and the new
texture factory was the same pointer as the deleted one, yet a
queued destroyed signal was still emitted. Depending on when the
queued connection was handled in the rendering thread, this would
cause problems with the value returned from textureForFactory.

Change-Id: Ibd785ca12667c99efb88b92689ae7ac4fa87c7ee
Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
12 years agoUse premultiplied format because it's faster
Alan Alpert [Mon, 5 Mar 2012 03:31:56 +0000 (13:31 +1000)]
Use premultiplied format because it's faster

Change-Id: I4d78830d2cf03f2deba70c29c2fc221eeec9d63c
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
12 years agoChange bugreports.qt.nokia.com -> bugreports.qt-project.org
Sergio Ahumada [Fri, 2 Mar 2012 12:34:21 +0000 (13:34 +0100)]
Change bugreports.qt.nokia.com -> bugreports.qt-project.org

Change-Id: Icafc7b49e7c42368fe10939b8a134632276c0671
Reviewed-by: Damian Jansen <damian.jansen@nokia.com>
12 years agoMerge remote branch 'gerrit/api_changes' into merge-master
Matthew Vogt [Mon, 5 Mar 2012 03:20:58 +0000 (13:20 +1000)]
Merge remote branch 'gerrit/api_changes' into merge-master

Change-Id: I9c54ff2a8aadb2bf95667eb3cf0a48f8291ce927

12 years agoMerge master <-> api_changes
Matthew Vogt [Mon, 5 Mar 2012 01:39:24 +0000 (11:39 +1000)]
Merge master <-> api_changes

Change-Id: Iad2f07b989b25349fd2d4fff010e24dcd5a1688f

12 years agoMore documentation about importing LocalStorage module from Javascript
Charles Yin [Wed, 29 Feb 2012 00:10:11 +0000 (10:10 +1000)]
More documentation about importing LocalStorage module from Javascript

Task-number:QTBUG-24478
Change-Id: Iad0fe15e8b2f1fcfa82b1654c3fd606d08563457
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoProfiler: Use RAII helper structs for ranges
Kai Koehne [Wed, 29 Feb 2012 13:59:49 +0000 (14:59 +0100)]
Profiler: Use RAII helper structs for ranges

Exclusively use RAII helper structs for ranges.

Change-Id: Ief9ab25a9e49e1b2c3c091e5d9de6479e36eaa50
Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
12 years agoFix when animating items that are already moving
Bea Lam [Mon, 27 Feb 2012 06:26:05 +0000 (16:26 +1000)]
Fix when animating items that are already moving

The view must transition displaced/moved items that are currently
transitioning to another position; check against the current
transition-to position, not just the current item position.

Task-number: QTBUG-24522
Change-Id: Icf1c290f76ceb8c93716f1562ae0bc5a75445b78
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoUse view transitions in drag'n'drop example
Bea Lam [Tue, 28 Feb 2012 02:00:26 +0000 (12:00 +1000)]
Use view transitions in drag'n'drop example

Change-Id: Idc661225acf9e517d26928cafba650ac48ca880a
Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
12 years agoUse velocity from touch events only when they are valid
Laszlo Agocs [Thu, 1 Mar 2012 11:45:29 +0000 (13:45 +0200)]
Use velocity from touch events only when they are valid

Add the capability flags to the extended mouse events. Otherwise it is
not possible to tell if the velocity is valid.

While the original version is fine if velocity is guaranteed to be
available whenever QT_TRANSLATE_TOUCH_TO_MOUSE is set, some platform
and driver combinations, e.g.  the evdevtouch plugin that comes with
Qt, do not provide velocity data in touch events. The touch-only mode
of QML may be very useful in these cases too, we just need to fall
back to the built-in velocity calculation.

Change-Id: Iec5e7632a66380dc04c9435b09f5c173107bbe00
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoTreat parentless items as focus scopes
Alan Alpert [Fri, 2 Mar 2012 00:36:10 +0000 (10:36 +1000)]
Treat parentless items as focus scopes

The root item of a tree is implicitly a focus scope simply because it is
the root of the tree. QQuickRootItem could gain the focus scope flag in
order to solve this for most cases, but there would still be a
possiblity of a crash for disconnected trees.

Change-Id: I6e04f11df4268fb3b96660d50707d70935a5dc5e
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoAdd QColor support to v4.
Michael Brasser [Tue, 28 Feb 2012 06:32:45 +0000 (16:32 +1000)]
Add QColor support to v4.

Change-Id: I033e92007f894d45695ea48d7f954d534a2fadee
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
Reviewed-by: Matthew Vogt <matthew.vogt@nokia.com>
Reviewed-by: Martin Jones <martin.jones@nokia.com>
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
12 years agoReturn correct propertyIndex for v4 bindings.
Michael Brasser [Wed, 29 Feb 2012 03:55:58 +0000 (13:55 +1000)]
Return correct propertyIndex for v4 bindings.

Change-Id: I4aa37491d36331889f6b30c4d4af8b56cef96225
Reviewed-by: Matthew Vogt <matthew.vogt@nokia.com>
12 years agoImproved transitions for Row, Column, Grid, Flow
Bea Lam [Mon, 27 Feb 2012 03:16:11 +0000 (13:16 +1000)]
Improved transitions for Row, Column, Grid, Flow

The view transitions functionality for ListView and GridView has been
integrated into the positioner elements. Not all of this
functionality is available for positioners, though, since they don't
have models (and thus cannot identify certain model operations) and
they don't manage the lifetime of their children.

Task-number: QTBUG-24336

Change-Id: I71588de289555d2ef5a763af11358bc0af7b31a7
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
12 years agoFix if transitioner is deleted before transition job finishes
Bea Lam [Thu, 1 Mar 2012 07:37:11 +0000 (17:37 +1000)]
Fix if transitioner is deleted before transition job finishes

Don't let TransitionJob call finishedTransition() on a deleted
transitioner. Also don't use target transitions that are not
enabled.

Change-Id: I94d58e8c7b072f7f3d76533956cac2d63ac33ff6
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
12 years agoCorrect QDeclarativeInspectorInterface iid
Martin Jones [Fri, 2 Mar 2012 01:54:58 +0000 (11:54 +1000)]
Correct QDeclarativeInspectorInterface iid

Change-Id: I874c501dc1839712d2da663f13e437e3c7a0e4fe
Reviewed-by: Matthew Vogt <matthew.vogt@nokia.com>
12 years agoV4 handles a maximum of 32 temporary registers.
Martin Jones [Thu, 1 Mar 2012 09:04:29 +0000 (19:04 +1000)]
V4 handles a maximum of 32 temporary registers.

Drop back to V8 if there are more than 32 being used.

Change-Id: I11f6e84746d897cd9b6789a5e9e4d2848909de00
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
12 years agoReenable value type binding auto removal tests.
Michael Brasser [Wed, 29 Feb 2012 03:54:16 +0000 (13:54 +1000)]
Reenable value type binding auto removal tests.

Change-Id: I349017bf24f9f2f18024d1257eeaebb348cc8503
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
12 years agoMore verbose compiler stats.
Michael Brasser [Thu, 1 Mar 2012 00:34:01 +0000 (10:34 +1000)]
More verbose compiler stats.

Report shared and unshared v8 bindings separately.

Change-Id: Iaa198dcc93035a778b13d7137742a7b308aa782f
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
12 years agoPin to a working qtbase SHA1
Alan Alpert [Fri, 2 Mar 2012 01:53:29 +0000 (11:53 +1000)]
Pin to a working qtbase SHA1

A bug with qmake was introduced which is impeding the compilation of
modules we depend on. Use an older qtbase and qmake until this is fixed.

Task-number: QTBUG-24608
Change-Id: I7f6f1f383d4c9339e5f4c699cb8900a3b1c776e3
Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
12 years agoProfiler: Avoid QString->QUrl->QString conversion
Kai Koehne [Wed, 29 Feb 2012 12:29:06 +0000 (13:29 +0100)]
Profiler: Avoid QString->QUrl->QString conversion

Change-Id: Ib39b94bf6c76638dce96d6cc20a4a8f307e37878
Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
12 years agoProfiler: Remove unused method
Kai Koehne [Wed, 29 Feb 2012 12:28:51 +0000 (13:28 +0100)]
Profiler: Remove unused method

Change-Id: I74ba20b495760034bc714d92bcf016feddf87c2c
Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
12 years agoSet bind options before uploading to give hints to the driver
Gunnar Sletta [Thu, 1 Mar 2012 11:34:48 +0000 (12:34 +0100)]
Set bind options before uploading to give hints to the driver

This can prevent allocation of unused mipmap levels on some
drivers.

Change-Id: I2d730c04e120872367078b17a344c01b4d4aa87a
Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
12 years agoAvoid unnecessary updates when using in-process cache
Eskil Abrahamsen Blomfeldt [Thu, 1 Mar 2012 10:24:57 +0000 (11:24 +0100)]
Avoid unnecessary updates when using in-process cache

Whenever an in-process cache is updated, it will emit
itemsAvailable() signals to all listening glyph caches. This will
in turn cause each of the glyph caches to update and each
of the glyph nodes to be preprocessed (the entire scene graph will
be updated.) This happens even if the changes to the in-process
cache are requested by an external client, due to a cross-process
cache sharing mechanism. However, itemsAvailable() signals are
only interesting if the items were requested by the in-process
cache.

We therefore add a mechanism now to check if the glyphs were actually
requested by the cache before updating anything.

Change-Id: I529f94b3928c2a5e06fec354014fa11d21671057
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
12 years agoNo double click event in QML_TRANSLATE_TOUCH_TO_MOUSE mode
Martin Jones [Thu, 1 Mar 2012 00:40:22 +0000 (10:40 +1000)]
No double click event in QML_TRANSLATE_TOUCH_TO_MOUSE mode

Since double clicks are delivered before the click, the initial
grab may not have been established.

Change-Id: Id9282489f0551d421da800294e88ead0915482cc
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoFix material compare for distance field glyph nodes.
Glenn Watson [Wed, 29 Feb 2012 22:57:32 +0000 (08:57 +1000)]
Fix material compare for distance field glyph nodes.

The compare function did not take into account the GL texture ID
when comparing materials. This could result in a renderer
merging glyph nodes into a single batch incorrectly.

Change-Id: Ib62c43f93fb1bbbc231197323dced4254ffa12aa
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
12 years agoAllow styled text to be elided.
Andrew den Exter [Wed, 29 Feb 2012 01:37:42 +0000 (11:37 +1000)]
Allow styled text to be elided.

Task-number: QTBUG-24521
Change-Id: Idd451d0a8a238a60691386726e34054c0368b658
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
12 years agoUpdate item position in parent change atomically.
Andrew den Exter [Tue, 28 Feb 2012 07:29:40 +0000 (17:29 +1000)]
Update item position in parent change atomically.

Changing x and y individually generates two geometry changed events,
the first of which has an invalid position as the x coordinate is
relative to the new parent and the y relative to the old parent.

This in turn causes the Drag item to send move events with incorrect
positions.

Task-number: QTBUG-24534
Change-Id: If2636a968acc0fffce21d1a7e51510426ace38a0
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoCheck item before notifying transition has finished
Bea Lam [Wed, 29 Feb 2012 05:47:03 +0000 (15:47 +1000)]
Check item before notifying transition has finished

Fixes crash when using SmoothedAnimation with view transitions

Change-Id: Ib9a201e417c34d64f8144a616e75cae8b67568e2
Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
12 years agoFix crash when transition finishes after view is deleted
Bea Lam [Wed, 29 Feb 2012 04:37:33 +0000 (14:37 +1000)]
Fix crash when transition finishes after view is deleted

Change-Id: I5bb525bab735536fa7ae3a7f60bf775cd93cf3c1
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoUpdate ImageElement examples
Alan Alpert [Tue, 28 Feb 2012 03:20:56 +0000 (13:20 +1000)]
Update ImageElement examples

Now more consistently formed. Required a UI redesign for border image,
you now view one at a time, with a selector control.

Change-Id: Idf64119b644c1a79779ea0a46412247d6d013cb1
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
12 years agoReduce size of QQuickTextPrivate
Yann Bodson [Thu, 23 Feb 2012 23:27:12 +0000 (09:27 +1000)]
Reduce size of QQuickTextPrivate

Move less used members to an extra struct lazily allocated

Change-Id: I87e464af4b9d29303705dd7e766f734309ed7763
Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
12 years agoFix QQuickDropArea test compilation.
Andrew den Exter [Thu, 1 Mar 2012 00:10:07 +0000 (10:10 +1000)]
Fix QQuickDropArea test compilation.

Change-Id: I5feaabe235201af842ca6bc4f3496b1861b06fb9
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoAdd autotest for QML meta-objects
Kent Hansen [Tue, 7 Feb 2012 18:37:38 +0000 (19:37 +0100)]
Add autotest for QML meta-objects

This autotest checks that the QMetaObject generated from a QML type
can be introspected from C++ (properties, class info, signals and
slots).

Change-Id: I9a50f138f911690f5c55cd28e5b49f0682450d07
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>