profile/ivi/qtdeclarative.git
12 years agoDon't ignore model changes when the ListView scroll position changes.
Andrew den Exter [Wed, 11 Apr 2012 06:22:52 +0000 (16:22 +1000)]
Don't ignore model changes when the ListView scroll position changes.

If there are pending changes when the ListView viewport changes then
do a full layout instead of a refill.  Likewise for GridView and when
animations finish or the cacheBuffer size changes.

Change-Id: I57a2b01fee5729381558af366dad24ba26c223ef
Reviewed-by: Bea Lam <bea.lam@nokia.com>
12 years agoMeasure offsets by rows instead of pixels
Bea Lam [Mon, 26 Mar 2012 01:56:04 +0000 (11:56 +1000)]
Measure offsets by rows instead of pixels

Will make it easier to test multiple flows and layout directions.

Change-Id: I33cabb650f65a2fd2932d23d501bf250d71ef80d
Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
12 years agoExport all symbols on QSGDefaultRenderer.
Hannu Lyytinen [Wed, 11 Apr 2012 20:01:13 +0000 (23:01 +0300)]
Export all symbols on QSGDefaultRenderer.

Allow custom scene graph renderers to be based on QSGDefaultRenderer.

Change-Id: I67ec20b03abae34d0b0324f2e2bd8063322c14b7
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
12 years agoMake device specific projection matrix setter virtual.
Hannu Lyytinen [Wed, 11 Apr 2012 20:08:19 +0000 (23:08 +0300)]
Make device specific projection matrix setter virtual.

Allow custom scene graph renderers to set the device specific projection
matrix in their own way. This is needed for the KMS QPA platform, where
the Y coordinate of the screen gets inverted (see discussion at
http://lists.freedesktop.org/archives/wayland-devel/2012-March/
002506.html).

Change-Id: I08f3cd4b829e5b583fe96a9dfd67aa8d23a11b6b
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
12 years agoQQuickTextEdit to trigger input method updates on selectAll()
Pekka Vuorela [Wed, 25 Jan 2012 12:15:29 +0000 (14:15 +0200)]
QQuickTextEdit to trigger input method updates on selectAll()

Change-Id: I8642eca0e584b811308b73817e7decf2f392f1b5
Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
12 years agoDoc: Fixing the Qt QML module page.
Jerome Pasion [Tue, 27 Mar 2012 13:20:42 +0000 (15:20 +0200)]
Doc: Fixing the Qt QML module page.

Change-Id: I0efffbab650423a78de437459c9060594f895f37
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
12 years agoBegin documenting QML's JS environment.
Michael Brasser [Wed, 26 Oct 2011 03:41:41 +0000 (13:41 +1000)]
Begin documenting QML's JS environment.

Provide a basic overview of QML's JavaScript host environment
that can be expanded as needed.

Change-Id: I1f178a9de26bd3ea6f5707821518419f76ab279d
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
12 years agoSilence warning with ICC about change of signal in integer conversion
Thiago Macieira [Thu, 20 Oct 2011 19:22:58 +0000 (21:22 +0200)]
Silence warning with ICC about change of signal in integer conversion

Change-Id: I7a9bc7de580dd37005d842d0ff5a000ba16f7c20
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
12 years agoAdd missing #include <stdlib.h>
Thiago Macieira [Thu, 20 Oct 2011 19:22:06 +0000 (21:22 +0200)]
Add missing #include <stdlib.h>

rand, malloc and free are defined in that header. Always include your
headers.

Change-Id: Iac052646617e0d038bc4a04709f32384d5f2e9e8
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
12 years agoUpdate test after QUrl minor behaviour change
Thiago Macieira [Wed, 11 Apr 2012 17:05:32 +0000 (14:05 -0300)]
Update test after QUrl minor behaviour change

Changes required:
 - Uppercase the hex in percent-encodings
 - The tolerant decoder treats all % as broken if any one is broken
   (Input "%2B50%" is rendered now "%252B50%25", where previously it
   was "%2B50%25)

The extra test is just so we use QString first. If the test fails, we
get a nicer output from QtTest, instead of the hex dump it uses for
QByteArray.

Change-Id: I4c5cbfa3be962c648b50a69dc8bc3c4acc551e62
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoStop stuffing the URL "<Unknown File>" in QML errors
Thiago Macieira [Wed, 11 Apr 2012 18:57:06 +0000 (15:57 -0300)]
Stop stuffing the URL "<Unknown File>" in QML errors

QQmlError already knows how to deal with source scripts with no URL
and it will use "<Unknown File>" when converting to a string.

QUrl in Qt 5 leaves the "<" and ">" characters encoded, which means we
ended up getting warnings about "%3CUnknown File%3E", which isn't
nice.

Change-Id: I504604fa37bb734549048432aaf9db3b1fa568d2
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoGet SpriteGoal and GroupGoal tests running again
Alan Alpert [Mon, 2 Apr 2012 01:34:50 +0000 (11:34 +1000)]
Get SpriteGoal and GroupGoal tests running again

Missing from particles.pro, and needed quick-private removed from their
pro files. Also updated to match new sprite API, presumably these were
missed because they weren't running before.

Change-Id: I9be2d7f2b0bacc32c26829d40e91e8907c184906
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
12 years agoMove doc pages into subfolders
Alan Alpert [Wed, 11 Apr 2012 06:37:43 +0000 (16:37 +1000)]
Move doc pages into subfolders

Change-Id: I611d0a4a069ac94a28ab2d264bcaa38347715909
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
12 years agoDebugger: Fix bugs in inspection tool
Simjees Abraham [Wed, 11 Apr 2012 09:21:28 +0000 (11:21 +0200)]
Debugger: Fix bugs in inspection tool

Incorrect display of hover and selection highlight for child items
having rotation and a different transform origin corrected.

Change-Id: Id25c5bf52b5c1abc3f98ac6bc90d89262cc4f2cd
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
12 years agoMerge remote-tracking branch 'origin/master' into api_changes
Lars Knoll [Wed, 11 Apr 2012 12:56:22 +0000 (14:56 +0200)]
Merge remote-tracking branch 'origin/master' into api_changes

Conflicts:
src/qml/debugger/qqmlprofilerservice_p.h
src/qml/qml/qqmlboundsignal.cpp
src/qml/qml/v4/qv4bindings.cpp
src/quick/items/qquickshadereffect.cpp
src/quick/particles/qquickcustomparticle.cpp
src/quick/qtquick2.cpp

Change-Id: Ia9c6517035ae912fa75e77473a452bd3383def56

12 years agoDebugger: Inspect tool - changes made to highlight on selection
Simjees Abraham [Wed, 11 Apr 2012 10:56:25 +0000 (12:56 +0200)]
Debugger: Inspect tool - changes made to highlight on selection

Changes made for the display of highlight on selection such that the
highlight is more prominent.

Change-Id: Iaf06bd04095be7b25881681e3f81c0fbf87df205
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
12 years agoSimplify date conversion functions
Matthew Vogt [Tue, 10 Apr 2012 07:12:58 +0000 (17:12 +1000)]
Simplify date conversion functions

Do not use the 3rd-party code from JSC, but instead use the QDateTime
functions for millisecond offsets from the epoch.

Note that this change is reviving the earlier change:
http://codereview.qt-project.org/1874.  The test failures for that
change no longer occur due to a change in the QDateTime behavior
applied by: http://codereview.qt-project.org/13169

There is still a semantic difference between QDateTime and the
ECMAScript specification with regards to the application of DST.
ECMAScript requires that the current DST adjustment should be applied
to historical dates, whereas QDateTime will apply the adjustment as
applicable at the epoch date to any prior dates.

Change-Id: Ibebd47c9d2b75a034342ffcda075501a6a527b8d
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
12 years agoCreate accessible interfaces only for items with attached prop
Frederik Gladhorn [Fri, 23 Mar 2012 16:42:09 +0000 (17:42 +0100)]
Create accessible interfaces only for items with attached prop

If the attached property is not found, ignore the item, unless
it is part of the tree. We still create a valid hierarchy this
way, but filter out all irrelevant items. The same goes for
hit-testing.

On the other hand this patch enables the root item to be found
by setting isAccessible on it when updating the flags. Otherwise
the hierarchy is not valid again.

Change-Id: Ied422fd0506d13458757c87a5dad7cdb9d3079bf
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
12 years agoQQmlDebugServer: Use Q_D(const )
Aurindam Jana [Tue, 10 Apr 2012 15:36:31 +0000 (17:36 +0200)]
QQmlDebugServer: Use Q_D(const )

Change-Id: I118a7b9de886c712027c55c38be99f615aea6902
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
12 years agoQmlDebug: Enable/Disable tool
Aurindam Jana [Wed, 4 Apr 2012 08:56:21 +0000 (10:56 +0200)]
QmlDebug: Enable/Disable tool

Change-Id: Icb200474f1edff62d2fdd4bad9389117966775d5
Reviewed-by: Simjees Abraham <simjees.abraham@nokia.com>
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
12 years agoQmlDebug: Remove Color Tool
Aurindam Jana [Wed, 4 Apr 2012 14:18:17 +0000 (16:18 +0200)]
QmlDebug: Remove Color Tool

Change-Id: I3d54d24c2873648c9530ee8e7a33c95275e369e0
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
12 years agoQmlDebug: Highlight select items
Aurindam Jana [Thu, 5 Apr 2012 07:55:51 +0000 (09:55 +0200)]
QmlDebug: Highlight select items

Enable higlight of selected items only in Design Mode.

Change-Id: I06e97df51bf8632560932dda776e748df90bc163
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
12 years agoQmlDebug: Inspect Tool
Aurindam Jana [Wed, 4 Apr 2012 08:51:40 +0000 (10:51 +0200)]
QmlDebug: Inspect Tool

Select item on single click/tap and cycle through elements
in the view stack on double click/tap.

Change-Id: I36cdcbf3a8800a715eda6c916f4f206bac16e399
Reviewed-by: Simjees Abraham <simjees.abraham@nokia.com>
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
12 years agoQmlDebug: Combine Selection and Zoom Tools
Aurindam Jana [Wed, 4 Apr 2012 08:33:00 +0000 (10:33 +0200)]
QmlDebug: Combine Selection and Zoom Tools

Combine the Selection and Zoom Tools into Inspect Tool.

Change-Id: I2477e2b27f5dde5d74489ecf3c43a049e2ed3aa3
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
12 years agoQmlDebug: Selection Tool Highlight
Aurindam Jana [Mon, 2 Apr 2012 07:19:13 +0000 (09:19 +0200)]
QmlDebug: Selection Tool Highlight

Show a light color overlay when hovering and a darker
overlay on selection.

Change-Id: I57c04840558a7345b7d5b0b8406c6e6dec72fde4
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
12 years agoUse relative position to when getting line from layout.
Andrew den Exter [Tue, 3 Apr 2012 23:59:58 +0000 (09:59 +1000)]
Use relative position to when getting line from layout.

textPos is the absolute position in the document, when querying an
individual layout use the position relative to the start of the layout.

Change-Id: Ic1d97fcc498051c99291357dba3303b3141ed502
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
12 years agoFix compilation on Linux
Anselmo L. S. Melo [Wed, 4 Apr 2012 14:28:22 +0000 (11:28 -0300)]
Fix compilation on Linux

Fix build error of QtDeclarative master (8b0831f0b0) on Linux with g++ 4.7.0.

Change-Id: I5aaa6e95c8ebd360a7fbf3bb3c85c699e6594ac7
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoFix erroneous signal emission in Loader
Chris Adams [Thu, 29 Mar 2012 01:14:59 +0000 (11:14 +1000)]
Fix erroneous signal emission in Loader

Previously, the incubator wasn't cleared when a Loader was
deactivated.  This commit clears it on deactivate, and also
ensures that the loadedSignal isn't emitted on error.

Finally, it re-enables a network-loading-related unit test.

Change-Id: I5dac92aead2c221c5d45011accf59077f7c9b402
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoMultiPointTouchArea documentation not to use deprecated signals
Pekka Vuorela [Wed, 4 Apr 2012 10:02:15 +0000 (13:02 +0300)]
MultiPointTouchArea documentation not to use deprecated signals

Change-Id: I9ba8b9f3dc35a3eec833f2f3cce6c94ebddd7ae0
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoProperly copy all event parameters in deliverMouseEvent()
Laszlo Agocs [Tue, 3 Apr 2012 09:24:52 +0000 (12:24 +0300)]
Properly copy all event parameters in deliverMouseEvent()

Timestamp and capabilities were missing. One of the very special flick
test cases needs to be fixed, because setting the proper timestamp
will now generate correct velocities. A potentially dangerous, legacy
implementation of flick() has also been updated to match how QTestLib
works in Qt 5.

Change-Id: Ibc99f7212ba21d41a419eaadac2fdda730658dc6
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoUse the updated module api registration function in example
Chris Adams [Mon, 2 Apr 2012 06:01:34 +0000 (16:01 +1000)]
Use the updated module api registration function in example

Previously, the example used the non-templated registration function.
This commit also links the qmlRegisterModuleApi documentation from the
"Creating QML Types" page.

Change-Id: I43afb5c051a52fef4059160972f7508f40dac523
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
12 years agoRewrite QAnimationGroupJob::clear() method
Charles Yin [Tue, 3 Apr 2012 06:52:29 +0000 (16:52 +1000)]
Rewrite QAnimationGroupJob::clear() method

Before removing and deleting children, set the m_group to 0 to avoid potential
cycling deletions when this method is called from QAnimationGroupJob::~QAnimationGroupJob().

Change-Id: Idb6920be71fc9e033e5a76b724c9550018995035
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoCreate plugins for Particles and Window submodules
Matthew Vogt [Thu, 5 Apr 2012 04:10:08 +0000 (14:10 +1000)]
Create plugins for Particles and Window submodules

To prevent errors when QML files import QtQuick.Particles or
QtQuick.Window before importing QtQuick itself, create plugins for
these submodules that make their import statements independent of
the QtQuick import.

Remove the automatic re-ordering of the imports list prior to loading
to ensure registered name conflicts can be resolved by changing the
order of import statements.

Task-number: QTBUG-24369
Change-Id: I248625fa30a813dddd2a64feb9a489768931939f
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoFix some issues with init_data() for qmltest
Charles Yin [Thu, 5 Apr 2012 00:17:34 +0000 (10:17 +1000)]
Fix some issues with init_data() for qmltest

1. should not use hasOwnProperty, replace it with 'in'
2. the default init_data() method is unnessary
3. when init_data() returns empty, the test function should run in non data driven mode

Change-Id: I8cb19d3499b285d07c8b3d04abd9ddf33b1c5395
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoFix access to uninitialised memory that might lead to crashes
Thiago Macieira [Sun, 18 Dec 2011 14:33:52 +0000 (15:33 +0100)]
Fix access to uninitialised memory that might lead to crashes

QMetaObject is POD, so its constructor is implicit and trivial
(doesn't initialise anything). QAbstractDynamicMetaObject doesn't add
a constructor, so the QMetaObject sub-object remains
uninitialised. The users of either class must ensure they initialise
the members if they will be accessed.

Change-Id: Ibb7f55ff23b78afb1fcb87382b30c8a28804c028
Task: QTBUG-23214
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoRemove sharing of V4 subscriptions
Roberto Raggi [Wed, 4 Apr 2012 11:37:33 +0000 (13:37 +0200)]
Remove sharing of V4 subscriptions

Unfortunately, sharing subscriptions doesn't play nice
with the linked lists we maintain to observe QML
bindings.

Change-Id: I8ab351987138caf8fa7fbdeff4dbf2b34184a05c
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoInline the methods of the V4 Register class
Roberto Raggi [Wed, 4 Apr 2012 07:16:02 +0000 (09:16 +0200)]
Inline the methods of the V4 Register class

Change-Id: Id4b5bfe2f5d3ec24dd1c4bc5f3d375c4f92345bd
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoRemove obsolete code
Roberto Raggi [Tue, 3 Apr 2012 14:12:19 +0000 (16:12 +0200)]
Remove obsolete code

Change-Id: I5812990703c4339018af4327cd7b44199a1705fd
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoDo not execute overwritten bindings
Aaron Kennedy [Wed, 4 Apr 2012 11:17:59 +0000 (12:17 +0100)]
Do not execute overwritten bindings

During the construction of an object, internal bindings can be
overwritten by the initialization of objects with outer scope.

Task-number: QTBUG-23138
Change-Id: I46a187d9cdc41f4dd96d068f39788a2255b8888d
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
12 years agoRevert "Do not execute overwritten bindings"
Aaron Kennedy [Wed, 4 Apr 2012 11:19:06 +0000 (12:19 +0100)]
Revert "Do not execute overwritten bindings"

This reverts commit 639208cc7f3ab3d8356363559e8fcf168e32cf0b.

There were two problems with this submit:
    1. Maintaining a hash of all the properties we have assigned bindings
       to is massively inefficient.
    2. The autotest was in the qquickbinding testcase which is for the
       QtQuick "Binding" element, not for generic binding tests.

Change-Id: Id2150dbfe86c6844cc0b115d7f941ae8d6a60643
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
12 years agoFlickable should only call ungrabMouse() if it is the mouse grabber
Andras Becsi [Mon, 2 Apr 2012 10:54:56 +0000 (12:54 +0200)]
Flickable should only call ungrabMouse() if it is the mouse grabber

Check whether the Flickable is the mouse grabber before ungrabbing
in mouseReleaseEvent() to suppress warnings in case event delivery
does not rely on mouse grabbing.

Change-Id: I3c3398ebbb9d8ab2cb6181677752b73e265cf02f
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoDo not crash on invalid binding diagnostic
Matthew Vogt [Wed, 4 Apr 2012 03:54:29 +0000 (13:54 +1000)]
Do not crash on invalid binding diagnostic

If there is no meta object for the property type of the recipient of
an invalid binding, fall back to QMetaType::typename().

Task-number: QTBUG-25161
Change-Id: I0bb768cbc166c04f62d20d8bb19e6ae883d7dc2f
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
12 years agoDo not execute overwritten bindings
Matthew Vogt [Tue, 20 Mar 2012 23:17:25 +0000 (09:17 +1000)]
Do not execute overwritten bindings

During the construction of an object, internal bindings can be
overwritten by the initialization of objects with outer scope.

To yield the expected result, suppress the evaluation of inner
bindings that are overwritten by outer bindings, during the
completion phase of object creation.

Task-number: QTBUG-23138
Change-Id: I679309543a9b64c774bb99798ad5ccf518726d10
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
Reviewed-by: J-P Nurmi <j-p.nurmi@nokia.com>
12 years agoSupport snapMode in PathView
Martin Jones [Wed, 21 Mar 2012 03:18:05 +0000 (13:18 +1000)]
Support snapMode in PathView

PathView missed out on snapMode, which is especially useful for
its SnapOneItem mode.

Change-Id: I0e9b080ef72d9bc1e305445cd8dfde8e21e4e3da
Reviewed-by: Bea Lam <bea.lam@nokia.com>
12 years agoUse wasDeleted function to check for deletion
Matthew Vogt [Wed, 4 Apr 2012 02:56:07 +0000 (12:56 +1000)]
Use wasDeleted function to check for deletion

Ensure that the check for deletion logic is consolidated in a single
location.

Task-number: QTBUG-25159
Change-Id: I27e856159afc745d68ec23cf3c872d740db8bcf3
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
12 years agoUse the GCC pragma on GCC only
Thiago Macieira [Thu, 20 Oct 2011 19:23:32 +0000 (21:23 +0200)]
Use the GCC pragma on GCC only

Change-Id: I4a0680bddb4d4a73362406ddcd30569ee664d0cc
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoSilence warning about non-standard comma at the end of enum
Thiago Macieira [Thu, 20 Oct 2011 19:23:16 +0000 (21:23 +0200)]
Silence warning about non-standard comma at the end of enum

Change-Id: Iea14d05d3ce209d83ddf01a01ff94e17c6f11d86
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoRemove workaround for QTBUG-22919.
Andrew den Exter [Tue, 3 Apr 2012 23:59:25 +0000 (09:59 +1000)]
Remove workaround for QTBUG-22919.

Fixed in qtbase.

Change-Id: I2faff485d3aaf5639b211bd0a1b30bf9d37d2e69
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
12 years agoFixed crash when using 'var' property in ShaderEffect.
Kim Motoyoshi Kalland [Wed, 21 Mar 2012 13:21:51 +0000 (14:21 +0100)]
Fixed crash when using 'var' property in ShaderEffect.

Also made CustomParticle and ShaderEffect share some code.

Task-number: QTBUG-23924
Change-Id: I975f71f031b379cf5e29302a9c931e4ead5437ea
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
12 years agoRestore the declarative_debug config for qmltest
Charles Yin [Wed, 4 Apr 2012 00:58:35 +0000 (10:58 +1000)]
Restore the declarative_debug config for qmltest

There are some applications need this feature.

Change-Id: I036dd68177b70d334efa4989254b9166d9e41fcc
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoUpdate for API changes in the QPlatformSharedGraphicsCache
Eskil Abrahamsen Blomfeldt [Wed, 28 Mar 2012 14:12:02 +0000 (16:12 +0200)]
Update for API changes in the QPlatformSharedGraphicsCache

Change-Id: I6648d16a11343e2342b832c7416e72ce43ab175d
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
12 years agoDon't crash if calling a method on a QObject that has been gc()'d
Aaron Kennedy [Tue, 3 Apr 2012 11:37:29 +0000 (12:37 +0100)]
Don't crash if calling a method on a QObject that has been gc()'d

As we don't actually delete an object immediately when it is collected,
it is possible to get into a situation where a method is called on an
object after the collector has marked it to be destroyed.  This fixes
a crash in this case.

Change-Id: I131d4c5d7ed788a91aa52f6af2e5c089d9bf5e08
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
12 years agoFix QML_BINDINGS_TEST and the V4 auto tests
Roberto Raggi [Tue, 3 Apr 2012 12:47:51 +0000 (14:47 +0200)]
Fix QML_BINDINGS_TEST and the V4 auto tests

Also, enable all the V4 auto tests.

Change-Id: I014a95298e6a834784a4a573ad3310e59e932ec4
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoAdd Throw instruction to the V4 virtual machine
Roberto Raggi [Mon, 2 Apr 2012 14:35:51 +0000 (16:35 +0200)]
Add Throw instruction to the V4 virtual machine

Also, throw an exception when trying to assign something that is not
a QUrl or a QString to a QUrl.

Change-Id: Ic48fd519c8318d391706ebca1955a5dd2ef6e80e
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoFix constant folding for simple binary expression
Roberto Raggi [Thu, 29 Mar 2012 09:46:41 +0000 (11:46 +0200)]
Fix constant folding for simple binary expression

This change improves constant folding of numeric and
string literals.

Also, we go back generating quadruples instead of
IR-tree-expressions. This is kind of needed to reduce register
pressure in the V4 VM. That is, V4 has typed registers so before
reusing a register we need to look at the type and eventually
dispose its contents (e.g. when a QString or a QUrl is stored
in the register). Unfortunately, we can't effort to have all
these checks in the V4 instructions. So we change `binop'
to generate literals (e.g. CONST or STRING) or a TEMP (aka
a preassigned register that cannot be reused).

For exmaple, the IR code generated for

  Rectangle {
    color: "b" + "l" + ("u" + "e")
    width: 10 + 20 + 30
  }

is

====================
line: 3 column: 10
L0x811ca10:
t0 = string_to_color("blue");
return t0;

====================
line: 4 column: 10
L0x811ca50:
return 60;

Change-Id: I4d8482ddab9193d8469bda6461bfb2e5a3eeb197
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoAdd support for floating conversions.
Roberto Raggi [Wed, 28 Mar 2012 09:31:02 +0000 (11:31 +0200)]
Add support for floating conversions.

Change-Id: I4feee2a3c5fcfa32b89859ddbfe17e6163983ab9
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoAdd floats to the high level IR type system.
Roberto Raggi [Wed, 28 Mar 2012 08:25:15 +0000 (10:25 +0200)]
Add floats to the high level IR type system.

Change-Id: If78870000eb72231e6eac67ec8a3d6441b5a4877
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoChange V4 to explicitly use doubles to represent numbers.
Roberto Raggi [Wed, 28 Mar 2012 07:33:16 +0000 (09:33 +0200)]
Change V4 to explicitly use doubles to represent numbers.

Rename the V4 instructions to match the new type system.

Change-Id: I640ab52c024a29179e816e29a12f0a36813d18c6
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoDo not automatically mark all text items as accessible.
Frederik Gladhorn [Fri, 23 Mar 2012 16:40:38 +0000 (17:40 +0100)]
Do not automatically mark all text items as accessible.

This adds more confusion and fails more often due
to invisible items and overlays that it helps.
The test saw lots of "children" before that were
text elements, these are gone now.

With this the hack to make children based on
item role invisible can go away.

Change-Id: Ic5a3bba6e271747237e0e85168f4290bf596bc8a
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
12 years agoProperly swizzle texture data before upload in QQuickPaintedItem.
Samuel Rødal [Tue, 3 Apr 2012 10:13:02 +0000 (12:13 +0200)]
Properly swizzle texture data before upload in QQuickPaintedItem.

We already did this properly in QSGPlainTexture, need to do it in
QSGPainterTexture as well, or red and blue channels will be swapped on
OpenGL ES 2.

Change-Id: I8b17a359b80d6c2e3b89d9c1d4c3d388a3ad1081
Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
12 years agoFix the conversion of a colour from a string.
Thiago Macieira [Thu, 20 Oct 2011 08:51:09 +0000 (10:51 +0200)]
Fix the conversion of a colour from a string.

Don't assume it's HSL just because it isn't RGB.

This error was found by GCC's set-but-unused warning.

Change-Id: Ie22e1509892163fccb3868fe8ff7091dc7bf5091
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
12 years agoUse scope, not owner to look up enums in QQmlBoundSignal.
Michael Brasser [Tue, 3 Apr 2012 05:22:17 +0000 (15:22 +1000)]
Use scope, not owner to look up enums in QQmlBoundSignal.

With this, we no longer need to keep a pointer to the owner, so remove
it as well.

Change-Id: I0c38645b924bf5b0caadb46444cf6dd09abc1eb2
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
12 years agoRevert "Add QQmlBoundSignalNoParams"
Michael Brasser [Tue, 3 Apr 2012 02:11:55 +0000 (12:11 +1000)]
Revert "Add QQmlBoundSignalNoParams"

This reverts commit ec7deb3d123bb44b5d57590615a60ed48b1d2860.

Other Qt modules may be relying on QObject::receivers() to
know when there is a QML signal handler for a signal, and
using QQmlNotifierEndpoint in QQmlBoundSignalNoParams breaks
this assumption.

Change-Id: I1b8085254697d909f85a88617eb4e3f258b88950
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
12 years agoFix visibility of trailing preedit text.
Andrew den Exter [Tue, 3 Apr 2012 06:10:33 +0000 (16:10 +1000)]
Fix visibility of trailing preedit text.

The block iterator doesn't take into account pre-edit text so we need
to explicitly add pre-edit if it is positioned after the last fragment
in a block.

Change-Id: I1d26ee3ff86ea27674fc4f165b23ac5692a9ec17
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
12 years agoAdd init_data() function for default data driven testing
Charles Yin [Fri, 30 Mar 2012 12:59:20 +0000 (22:59 +1000)]
Add init_data() function for default data driven testing

If all or some test functions share the same test data, the test data
can be put into init_data() function, this can reduce unnecessary code
duplications.

Change-Id: I118dd9c3c1d0f2f238aab6e25e5d8af80b3d3049
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoAllow objects created in QML with incubateObject to be destroyed.
Michael Brasser [Tue, 3 Apr 2012 01:50:05 +0000 (11:50 +1000)]
Allow objects created in QML with incubateObject to be destroyed.

Change-Id: I8a0678ea8dff6f4a40ac367395a99dd025f7f08a
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
12 years agoFix QQuickTextInput test instability.
Andrew den Exter [Tue, 3 Apr 2012 04:27:09 +0000 (14:27 +1000)]
Fix QQuickTextInput test instability.

Use a QWindow to steal focus rather than a second QQuickView, as it
appears there may be some issue with shared GL resources between views.

Change-Id: I8a134e3b4a1e54f645d0071543ec8f94338ff315
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
12 years agoSet cursorVisible to false when im cursor length is 0.
Andrew den Exter [Thu, 29 Mar 2012 06:34:09 +0000 (16:34 +1000)]
Set cursorVisible to false when im cursor length is 0.

If the length of the QInputMethodEvent::Cursor attribute is 0 the
cursor is supposed to be hidden.  To ensure this and any other IM
state is reverted when the input method is reset send a empty
event to the editor when preedit is cancelled or removed and
count formatting or cursor changes when determining if the
input method is composing (i.e has state that needs to be reset).

Change-Id: Ifca69aa0c18776b1aef355ed6ae9aecc40b9d475
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
12 years agoFix crash when changing the grandparent of an item with focus.
Andrew den Exter [Fri, 30 Mar 2012 07:36:40 +0000 (17:36 +1000)]
Fix crash when changing the grandparent of an item with focus.

When an item was reparented it's sub focus item was cleared and those
of it's children were cleared along with those in the tree the item was
removed from.  Since we now rely on the focus state of an unparented
tree to be correct we need to restore the sub focus items of the
unparented tree.

Change-Id: I236c512751b99092c7e9a39194f4680304bfacc5
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoScattered example fixes
Alan Alpert [Wed, 28 Mar 2012 08:46:31 +0000 (18:46 +1000)]
Scattered example fixes

Some using of pixel size, some moving an image because individual
sub-examples shouldn't depend on the shared folder.

Change-Id: If0f66f805f5fc9bcbf9b870274adac404466ec08
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
12 years agoirrelevant qDebug removed
Simjees Abraham [Fri, 30 Mar 2012 12:42:50 +0000 (14:42 +0200)]
irrelevant qDebug removed

syncing debugutil with the change done to remove the irrelevant qDebug
at stat of debug session.

Change-Id: I17520319684e6e213037b09550d1a97b493150cd
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
12 years agoDebugger: Use "QML" also in macro names
Kai Koehne [Fri, 30 Mar 2012 11:49:33 +0000 (13:49 +0200)]
Debugger: Use "QML" also in macro names

QT_DECLARATIVE_DEBUG will be removed as soon as qtbase is
updated.

Change-Id: I9dbfe95b8bcb3bf1502319a040a758389b6977a2
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
12 years agoirrelevant qDebug removed
Simjees Abraham [Fri, 30 Mar 2012 12:21:16 +0000 (14:21 +0200)]
irrelevant qDebug removed

Irrelevant debug statement which gets printed at start of debug session
is removed. The same is removed in Auto-tests as well.

Change-Id: If8f44950952f08b55ff884c1fe42670108e2369d
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
12 years agoFix exit crash when running samegame-desktop in qmlscene.
Friedemann Kleint [Thu, 29 Mar 2012 13:46:15 +0000 (15:46 +0200)]
Fix exit crash when running samegame-desktop in qmlscene.

Change-Id: Ib4c162a909eb45e99a7e5c31737587720e9e2deb
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
12 years agoAllocate QQuickView on heap instead of stack
Charles Yin [Fri, 30 Mar 2012 04:25:56 +0000 (14:25 +1000)]
Allocate QQuickView on heap instead of stack

Some qpa plugin will crash when delete the QApplication instance if
QQuickView is created on stack, this is a workaround fix, the real
reason still need to be investigated further.

Change-Id: Iea75541e53a94f65454e78f8020003e6533c0bd0
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoImprove the documentation of clearComponentCache()
Matthew Vogt [Fri, 30 Mar 2012 06:27:44 +0000 (16:27 +1000)]
Improve the documentation of clearComponentCache()

Change-Id: I842632a3173632b0fca521138caffe960b752da1
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
12 years agoAllow V8 bindings to be assigned to aliases
Aaron Kennedy [Fri, 9 Mar 2012 11:29:51 +0000 (12:29 +0100)]
Allow V8 bindings to be assigned to aliases

V8 bindings must be able to be retargetted for them to be assignable
to aliases.

Change-Id: If72ff2a24188667113cbb46439129f8d2fcb8f90
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
12 years agoLoosen shared binding tests
Aaron Kennedy [Fri, 9 Mar 2012 10:40:44 +0000 (11:40 +0100)]
Loosen shared binding tests

Previously we blocked all function calls, but only because we were trying
to prevent "eval" calls from appearing in shared bindings.  Instead this
test allows function calls as long as the identifier "eval" doesn't
appear.

This also exposed a crash with v8 bindings that is also fixed.

Change-Id: I22eefd290c7b82d9c01b2cd2907a46e560ae4db9
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoFix warnings in qtdeclarative.
Friedemann Kleint [Thu, 29 Mar 2012 09:16:37 +0000 (11:16 +0200)]
Fix warnings in qtdeclarative.

- QString from ASCII conversions
- Unused variables
- Pointer mismatches

Change-Id: I5f76dce4f2ba481c2c2bce8681cf8107bd629566
Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoDebugger: Fix v8profiler failures on mac
Kai Koehne [Fri, 30 Mar 2012 07:42:53 +0000 (09:42 +0200)]
Debugger: Fix v8profiler failures on mac

Make the test more robust.

Change-Id: Id4e5d25e9f9cb0bdbe14670a060d7348bceeb823
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
12 years agoFix crash in QUrl-to-int conversion in v4
Chris Adams [Thu, 29 Mar 2012 05:15:23 +0000 (15:15 +1000)]
Fix crash in QUrl-to-int conversion in v4

Also adds various unit tests for other conversion operations.
Note that many of the conversion operations produce the wrong results,
and have been marked with QTBUG-24706.

Task-number: QTBUG-24706
Change-Id: Id96a7409e31f2e889dce6b501247f58b59fa6a98
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoFix forceActiveFocus() with multiple items having focus: true
Andrew den Exter [Wed, 28 Mar 2012 08:11:14 +0000 (18:11 +1000)]
Fix forceActiveFocus() with multiple items having focus: true

Ensure focus is cleared from an item if it is parented to an item that
already has a sub focus item.  Checking scopedFocusItem() didn't allow
for the case where an unparented item is the root of the focus tree
but not itself a focus scope, checking the unguarded subFocusItem
member will.

Change-Id: I482779e8077e9f282d22bd0090e669840764e52a
Reviewed-by: Bea Lam <bea.lam@nokia.com>
12 years agoSize loaded item before bindings are evaluated
Martin Jones [Fri, 30 Mar 2012 00:48:50 +0000 (10:48 +1000)]
Size loaded item before bindings are evaluated

If the Loader size is set explicitly we can set the item size
before the bindings are run, and avoiding an additional
anchor layout.

Also ensure item implict size changes are propagated/notified in the
Loader.

Change-Id: Ie22b018b22be8457ccf30b907a26e44260b9cef7
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoWhen async loading a view, ensure its delegates are also async.
Martin Jones [Fri, 30 Mar 2012 01:08:07 +0000 (11:08 +1000)]
When async loading a view, ensure its delegates are also async.

We were forcing a sync incubation the second time the item was
requested synchronously, breaking nested async creation.  The
incubation should only be forced if previously the item was
requested async.

Change-Id: Id2aff97222d7b1262b502994d3f9c0f009a7a909
Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
12 years agoImprove Flipable element unit tests
Chris Adams [Thu, 29 Mar 2012 02:54:24 +0000 (12:54 +1000)]
Improve Flipable element unit tests

Ensure that the reported side is updated correctly due to a rotation
transform triggered by a state change.

Change-Id: I039c6bcba872c7731c810137551e760414fabc05
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoFix context2d transform issues
Charles Yin [Tue, 27 Mar 2012 14:06:28 +0000 (00:06 +1000)]
Fix context2d transform issues

After calling transform related methods, the current path should be transformed with the same method but in reversal mode.
So that during painting, the painter will apply the CTM to this path again, otherwise path will be transformed twice.

Change-Id: I7e12bdff82dabb408f47152ba07b608872d4093f
Task-number: QTBUG-24988
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoUse metaObjectForType in the v4 compiler.
Michael Brasser [Thu, 29 Mar 2012 04:39:35 +0000 (14:39 +1000)]
Use metaObjectForType in the v4 compiler.

Match usage in the v4 IR builder.

Change-Id: Ibc69a01d3948ab3ad0ed5c656e99b13a7edda8fc
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
12 years agoFix compiling qtdeclarative without accessibility
Jerome Leclanche [Thu, 29 Mar 2012 11:23:33 +0000 (12:23 +0100)]
Fix compiling qtdeclarative without accessibility

This adds two missing QT_NO_DECLARATIVE and conditionally compiles the accessible plugins.

Change-Id: I3ae43b1e38cff0e64fea5cc06146be519ff2713d
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
12 years agoQmlDebugging: Send parent debug id with object info
Aurindam Jana [Wed, 28 Mar 2012 14:12:52 +0000 (16:12 +0200)]
QmlDebugging: Send parent debug id with object info

Change-Id: Ic197656b90a309d1d9e72b9d6648fee86164c3e1
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
12 years agoUse minimal javascript expression for bound signals
Chris Adams [Tue, 27 Mar 2012 06:56:08 +0000 (16:56 +1000)]
Use minimal javascript expression for bound signals

Previously, QQmlBoundSignal used QQmlExpression internally.  This
commit adds a new, more optimal QQmlJavaScriptExpression subclass
specifically designed for QQmlBoundSignal, and converts the code
to use it instead of QQmlExpression where appropriate.

Task-number: QTBUG-24460
Change-Id: I2865a119ce840235e27a7722d8052ca61c265f69
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoRe-order imports statements to import nested imports later
Matthew Vogt [Mon, 26 Mar 2012 06:39:00 +0000 (16:39 +1000)]
Re-order imports statements to import nested imports later

Re-order the imports for a script by increasing order of URI length.
This ensures that an import of the type 'import X.Y' is processed
after the import of 'import X' which contains the type definitions for
the namespace X.Y.

Task-number: QTBUG-24369
Change-Id: I1b06e9d114a97c9f47279f8f33383a27e0efb4bb
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoFixed unittests skipping for cross_compile option
Kurt Korbatits [Fri, 23 Mar 2012 03:51:06 +0000 (13:51 +1000)]
Fixed unittests skipping for cross_compile option

- qmlmin, qqmlparser, examples unittests to skip source dependent
  tests when cross_compile option used as content not available.

Change-Id: Ieaadeff0c303f0a633b8a3cc506a764ea995cf42
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
12 years agoThe new QUrl has no need for the 0x100 special value.
Thiago Macieira [Thu, 20 Oct 2011 08:31:02 +0000 (10:31 +0200)]
The new QUrl has no need for the 0x100 special value.

This change is required to compile with the new QUrl.

Change-Id: I62cafa1485a90893cca427cbed839700f9579ef9
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoDon't qobject_cast an object being destructed
Kent Hansen [Wed, 28 Mar 2012 14:27:08 +0000 (16:27 +0200)]
Don't qobject_cast an object being destructed

qobject_cast will cause the object's virtual metaObject() function to
be called. Calling virtual functions in a destructor should be
avoided. (The qobject_cast fails, and the assert is triggered.)

Change-Id: I04a7604adb8884cd36731577303793c74c0a8673
Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
12 years agoFixed the crash in Zoomtool when the app is exited when ZoomTool is active.
Simjees Abraham [Wed, 28 Mar 2012 13:09:28 +0000 (15:09 +0200)]
Fixed the crash in Zoomtool when the app is exited when ZoomTool is active.

Change-Id: Ibc97665ddf789bd10c5256c02b8471ec2f4e9855
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
12 years agoReplace usage of QCursor, and update hoverVisible test.
Michael Brasser [Wed, 28 Mar 2012 06:46:31 +0000 (16:46 +1000)]
Replace usage of QCursor, and update hoverVisible test.

QCursor::pos() doesn't work well with mouse events generated by the test
framework.

Change-Id: I62ee2228c194f21cf17f6271c662056a90c5ef2d
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoTidy up examples documentation
Alan Alpert [Tue, 20 Mar 2012 07:57:07 +0000 (17:57 +1000)]
Tidy up examples documentation

Add missing doc images, move documentation into examples directory, and
update example doc references to the new locations (quick/qml instead of
declarative or qtquick).

Change-Id: I67a9302f2b451b8bf30f4ca6b625f54b240da429
Reviewed-by: Jerome Pasion <jerome.pasion@nokia.com>
12 years agoReduce assumptions in examples
Alan Alpert [Tue, 27 Mar 2012 08:00:33 +0000 (18:00 +1000)]
Reduce assumptions in examples

-dynamic scene, don't set duration on running animation (doesn't work)
-dynamic scene, just use set colors instead of system palette (in case
platform doesn't support it right, like N900)
-dynamic scene, calculator and shadereffects, don't rely on root item being
automatically in scope (possibly confusing)

Change-Id: I1eec018d5387424dc6b07bf51c1b2184b3048553
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
12 years agoUse pixmapCache in sprite assembly
Alan Alpert [Tue, 27 Mar 2012 07:29:48 +0000 (17:29 +1000)]
Use pixmapCache in sprite assembly

Change-Id: Ibd4f5ea08a548e3c255db3e771b667f5850978e2
Reviewed-by: Damian Jansen <damian.jansen@nokia.com>
12 years agoWarn on incompatible v4 binding object type
Matthew Vogt [Tue, 27 Mar 2012 04:58:19 +0000 (14:58 +1000)]
Warn on incompatible v4 binding object type

For QObject-derived properties, verify that the type of the source
object is convertible to the type of the target object, and report
an error for incompatible assignment attempts.

Task-number: QTBUG-24986
Change-Id: Ieece29a017222e48351cd433c1b2f9e2d93a5fd7
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>