profile/ivi/qtdeclarative.git
12 years agoImplemented multiple windows and GL context sharing
Gunnar Sletta [Wed, 7 Dec 2011 09:16:20 +0000 (10:16 +0100)]
Implemented multiple windows and GL context sharing

What was traditionally the QQuickRenderLoop which was used
to support one QQuickCanvas instance has now grown to support
multiple QQuickCanvas instances and is now called
QQuickWindowManager, of which there are two implementations.

QQuickRenderThreadSingleContextWindowManager:
One QSGContext and one OpenGL context is being used to draw
all the windows and we alternate between which surface the gl
context is bound to. This implementation relies on that
swap does not block, but that the graphics pipeline is
vsynced and will eventually block as the buffer queue is
filled up. This is the behavior we get on Mac OS X and
Wayland. The benefit of this implementation is that we have
vsync'ed animations, and the synchronizaiton between GUI and
render thread is simple. (well, simple relative to the
alternative, that is).

QQuickTrivialWindowManager:
One QSGContext and one OpenGL context is being used on the GUI
thread. Animations are ticked from a timer. Performance of this
implementation will deteriorate if the driver is using blocking
swap.

Task-number: QTBUG-19455
Change-Id: Ib961ac7d71eb49c70a057872b7cac020c4d19f3d
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoUpdate whatsnew doc with JavaScript improvements
Chris Adams [Wed, 7 Dec 2011 06:57:34 +0000 (16:57 +1000)]
Update whatsnew doc with JavaScript improvements

Several JavaScript integration improvements were made recently:
    - sequence support
    - "var" properties
    - improved scarce resource support

Change-Id: Id9f47d14c961397d970e306eac2bec5d3e55cab3
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoDebugger: Run js autotests with QML_DISABLE_OPTIMIZER
Kai Koehne [Wed, 30 Nov 2011 16:16:42 +0000 (17:16 +0100)]
Debugger: Run js autotests with QML_DISABLE_OPTIMIZER

That's how you'd usually debug your app too.

Change-Id: I5acbf2fea0db3cb8593d690638f90ec849cf316a
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
12 years agoFix QObject V8 wrapping for extended types
Aaron Kennedy [Wed, 7 Dec 2011 14:20:01 +0000 (14:20 +0000)]
Fix QObject V8 wrapping for extended types

The meta object for extended types must be marked as dynamic, to prevent
their properties from being marked as IsDirect.

Task-number: QTBUG-22997
Change-Id: I825f94f072cb46981706221a1044c9e2feeedcc2
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoMove snippets to separate test in the examples testcase
Alan Alpert [Wed, 7 Dec 2011 03:26:48 +0000 (13:26 +1000)]
Move snippets to separate test in the examples testcase

This test filters out warning messages, so as to not clutter the logs.

Also altered an example so that v8 doesn't spit out a warning message.

Change-Id: I89ab9f1c12bee6cea88e06ce5bf98f2f69a13559
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoFix linking of QtQuick.dll on Windows.
Friedemann Kleint [Tue, 6 Dec 2011 12:43:06 +0000 (13:43 +0100)]
Fix linking of QtQuick.dll on Windows.

Put class QDeclarativeComponentAttached into a separate header.
When declared as Q_AUTOTEST_EXPORT in
declarative/qml/qdeclarativecomponent_p.h which is included by
quick/qquickloader.cpp, the Q_AUTOTEST_EXPORT is seen as
__declspec(dllexport) and linking fails.

Change-Id: I835197e3af6993cfd9325a432f33c636b9bfd3e6
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
12 years agoAvoid Text layout being triggered unnecessarily
Martin Jones [Wed, 7 Dec 2011 01:20:25 +0000 (11:20 +1000)]
Avoid Text layout being triggered unnecessarily

Text was quite often layed out twice during construction due to
geometry changes, and often at run time due to other geometry changes.
This change checks for cases which do not require relayouting and
drops out early.  These are easier to detect than trying to have a
single giant if statement covering all the positive combinations.

Change-Id: I2deb2ab52d35b3d02bced698d05fef91c9e2f745
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoAdd support for pixmap cache images to TextEdit.
Andrew den Exter [Mon, 5 Dec 2011 01:36:55 +0000 (11:36 +1000)]
Add support for pixmap cache images to TextEdit.

Re-use the QQuickTextDocumentWithImageResources class from Text to
allow image resources to be loaded from the pixmap cache.

Change-Id: I13170eefe664447b77f2980fb2fe7b4e2f8eb81c
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
12 years agoFix images not displaying on lines with no text.
Andrew den Exter [Mon, 5 Dec 2011 01:32:16 +0000 (11:32 +1000)]
Fix images not displaying on lines with no text.

Update the current line when adding an image if it positioned at the
start of the line.

Change-Id: I7c29f8c3a8d8923030c473446bb6d03bfb524b49
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
12 years agoPrevent consecutive images from climbing up a text node.
Andrew den Exter [Mon, 5 Dec 2011 01:29:04 +0000 (11:29 +1000)]
Prevent consecutive images from climbing up a text node.

Vertically position all nodes at the baseline minus their ascent.
Previously the bounding rect of a glyph run was postioned on the base
line and  images at the baseline minus the ascent.  This meant that
calculated position of an image was correct if it followed text but
if it followed another image it would be positioned above it.

Change-Id: I03f5e0b48f132f010d16c49620fa9463873f9492
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
12 years agoRemove warning messages for canvasitem tests
Charles Yin [Wed, 7 Dec 2011 03:04:20 +0000 (13:04 +1000)]
Remove warning messages for canvasitem tests

1) The null image warnings can be safely ignored as the images are
   expected to be null
2) Check the isLoading() before calling QDeclarativePixmap::connectFinished()

Change-Id: I58339f40495fb62c73b217aca35cdd7effd8c917
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoFix some warnings.
Martin Jones [Wed, 7 Dec 2011 01:35:57 +0000 (11:35 +1000)]
Fix some warnings.

Change-Id: Iba2ec5640d02cb265ea23e4f9c5303a2da34dffd
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoRemove insignificant_test from GridView tests.
Martin Jones [Tue, 6 Dec 2011 23:56:45 +0000 (09:56 +1000)]
Remove insignificant_test from GridView tests.

This has not failed in a long time.

Change-Id: I58ca0a6941662040a941ae7264aa9e4f9e3cf359
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoDebugger: Fix compilation warning in autotest
Kai Koehne [Tue, 6 Dec 2011 14:16:55 +0000 (15:16 +0100)]
Debugger: Fix compilation warning in autotest

Change-Id: I84c058a3cc8808d2da94ae6cb63815cd436bb8b8
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
12 years agoCopy JS tests from QtScript module
Aaron Kennedy [Thu, 1 Dec 2011 14:48:20 +0000 (14:48 +0000)]
Copy JS tests from QtScript module

This allows qtdeclarative to build and run its tests without
relying on the QtScript module

Change-Id: I469254fbfec159ab2221140c588a1b3ec1c0a2d0
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
12 years agoImprove parsing of escape characters and regexp literals.
Roberto Raggi [Tue, 6 Dec 2011 13:09:22 +0000 (14:09 +0100)]
Improve parsing of escape characters and regexp literals.

That is, in QML/JS you can escape characters in identifiers, e.g.

  var c\u0061se = 25

declares a variable called `case' with value 25. In such cases
qmlmin needs to preserve the escape sequence in the declaration.

Also, fix possible errors when pasting keywords after regexp literals.
The minifier needs to preserve the whitespace character after the
regexp delimiter, e.g.

  /x/instanceof blah

without the white space after the regexp, the `i' of `instanceof'
is parsed as a regexp flag.

Change-Id: I5f426ac62949e34d092d4fdb0a41243de8ff2236
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
12 years agoFix the QML/JS parser to accept empty Javascript files.
Roberto Raggi [Tue, 6 Dec 2011 11:05:55 +0000 (12:05 +0100)]
Fix the QML/JS parser to accept empty Javascript files.

Change-Id: I0c5dfdc76489e6d1ec5608dea625cb0d109288e2
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
12 years agoCleaned up the qmlscene code a bit
Gunnar Sletta [Tue, 6 Dec 2011 07:06:03 +0000 (08:06 +0100)]
Cleaned up the qmlscene code a bit

Change-Id: I2aed4786e5426a7f05acced39ef849c03f1ab935
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agotest/debugutils: Add include guard.
Friedemann Kleint [Mon, 5 Dec 2011 12:38:19 +0000 (13:38 +0100)]
test/debugutils: Add include guard.

Change-Id: I3d65569851169ce4aa350b0268ec5ca1c516613e
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
12 years agoIntroduce methods to get the source location of the AST nodes.
Roberto Raggi [Fri, 2 Dec 2011 15:53:32 +0000 (16:53 +0100)]
Introduce methods to get the source location of the AST nodes.

Also removed deprecate AST nodes.

Change-Id: I9221e81b15b18530bb2ab8b09da2482df543bace
Reviewed-by: Christian Kamm <christian.d.kamm@nokia.com>
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
12 years agoRemove TESTED_CLASS/TESTED_FILES comments from tests.
Jason McDonald [Tue, 6 Dec 2011 00:13:07 +0000 (10:13 +1000)]
Remove TESTED_CLASS/TESTED_FILES comments from tests.

These comments were mostly empty or inaccurate.  Appropriate naming of
tests and appropriate placement of tests within the directory tree
provide more reliable indicators of what is being tested.

Change-Id: If69bdb39fd162d167cb948ddcbb73503b414e791
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
12 years agoIgnore expected warnings in Item and PathView tests
Martin Jones [Tue, 6 Dec 2011 02:29:09 +0000 (12:29 +1000)]
Ignore expected warnings in Item and PathView tests

Change-Id: I05ebebbfe7f6b107068e9feaf66c03fd3ae71237
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoDecrease debug output of modelview examples.
Alan Alpert [Tue, 6 Dec 2011 01:21:49 +0000 (11:21 +1000)]
Decrease debug output of modelview examples.

Change-Id: Idc7fd22f05eee7943c3b824a460897f13dc0408b
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoUse qt_Opacity in shaders
Alan Alpert [Tue, 6 Dec 2011 01:24:32 +0000 (11:24 +1000)]
Use qt_Opacity in shaders

Change-Id: Ie9da3e980ece4bcb71c0886d58bc46335f5289a6
Reviewed-by: Glenn Watson <glenn.watson@nokia.com>
12 years agoAdd tests for snapOneItem/snapOneRow snapMode
Martin Jones [Mon, 5 Dec 2011 00:59:29 +0000 (10:59 +1000)]
Add tests for snapOneItem/snapOneRow snapMode

Change-Id: Ia7e8fe6a7da48d8f67914d90377c6fad32ecb415
Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoRestrict particles to eight attributes max
Alan Alpert [Tue, 6 Dec 2011 01:09:53 +0000 (11:09 +1000)]
Restrict particles to eight attributes max

Change-Id: Ie42621ffc3601d730407e5d6eb88db5d93b415ff
Reviewed-by: Glenn Watson <glenn.watson@nokia.com>
12 years agoFix image path
Alan Alpert [Mon, 5 Dec 2011 06:55:14 +0000 (16:55 +1000)]
Fix image path

Plasma Patrol wasn't finding a text mask.

Change-Id: I10934d3cecd076df885ba68833d7654f4b3978d0
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoEnsure that scarce resources work with var properties
Chris Adams [Mon, 10 Oct 2011 02:11:21 +0000 (12:11 +1000)]
Ensure that scarce resources work with var properties

Now that we have a new property type which stores JavaScript handles,
we need to ensure that scarce resources can be used with them.

Task-number: QMLNG-18
Task-number: QTBUG-21843
Change-Id: I4a920ae39e7d33cf5e33362e5e0ee21c74cb35e3
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoDocument function limitation of var properties
Chris Adams [Thu, 1 Dec 2011 06:07:59 +0000 (16:07 +1000)]
Document function limitation of var properties

Functions cannot be assigned to var properties due to the fact that
such an assignment signifies a binding assignment.  This limitation
needs to be documented.  One workaround is to assign an array which
contains a function element to a var property, and this commit also
adds a unit test to ensure this works.

Change-Id: I02363b88233282106ac6d26f14df1988155057b9
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoDisable tst_qdeclarativepixmapcache::dataLeak() by default
Chris Adams [Mon, 5 Dec 2011 03:16:54 +0000 (13:16 +1000)]
Disable tst_qdeclarativepixmapcache::dataLeak() by default

This test produces spurious output in the expected case and therefore
needs to be suppressed by default.

Change-Id: Ib309f96c0291180f2011451605eea7f9cea5744b
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoDon't eval signal handler closure until signal is emitted
Aaron Kennedy [Mon, 5 Dec 2011 15:19:09 +0000 (15:19 +0000)]
Don't eval signal handler closure until signal is emitted

Change-Id: Ic3bd6ed53330b19567fa0bf34b8e4618e3f68ba5
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
12 years agoAdjust the source location of the last accepted token.
Roberto Raggi [Mon, 5 Dec 2011 13:42:09 +0000 (14:42 +0100)]
Adjust the source location of the last accepted token.

This is necessary to get automatic semicolons inserted at the correct
location.

Change-Id: Ie3f806ed20704310cd6155f2dac6d0388a4a9f78
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoFix crash when QtQuick 2.0 wasn't imported
Aaron Kennedy [Mon, 5 Dec 2011 14:10:59 +0000 (14:10 +0000)]
Fix crash when QtQuick 2.0 wasn't imported

The QML compiler still tried to resolve the implicit "Component" element
within the QtQuick 2.0 namespace.

Task-number: QTBUG-23017
Change-Id: I62ae962f58787910a76f76c872daa08874b5df56
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
12 years agoIntroduce more generic fast property handling
Aaron Kennedy [Mon, 28 Nov 2011 16:04:33 +0000 (16:04 +0000)]
Introduce more generic fast property handling

Also reduce the number of direct calls to qt_metacall().

Change-Id: I04cd6e516a3e61058548309a19fe0b830f15c93f
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
12 years agoUse the texture atlas height to compute y coordinates
Gunnar Sletta [Mon, 5 Dec 2011 09:24:28 +0000 (10:24 +0100)]
Use the texture atlas height to compute y coordinates

Change-Id: Ib0266ef6a46f58fe2c2892b8be297efe2f85aa98
Reviewed-by: aavit <qt_aavit@ovi.com>
12 years agoDon't attempt to destroy a null persisted item.
Andrew den Exter [Mon, 5 Dec 2011 05:27:00 +0000 (15:27 +1000)]
Don't attempt to destroy a null persisted item.

Persisted items are still only constructed on demand so we can't
assume the object is non null.

Change-Id: I1ce9563eb3b9fb1ae611e8afcf9c8c74f0563aec
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoFix QQuickVisualDataModel test failure.
Andrew den Exter [Fri, 2 Dec 2011 05:56:45 +0000 (15:56 +1000)]
Fix QQuickVisualDataModel test failure.

When connecting the source object's notify signals to the proxy object's
the objectName property wasn't being skipped, this didn't matter much
before because the object name property didn't have a notify signal
and so was skipped anyway.  Adding a notify signal resulted in all the
signal connections being off by one.

The object list proxy meta-object also shouldn't assume that QObject
has only and only ever will have one property.

Change-Id: I238e05153446cbfdceea643963e3a26f665e41a1
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoFix loading imports from Qt resource.
Aaron McCarthy [Fri, 2 Dec 2011 03:35:07 +0000 (13:35 +1000)]
Fix loading imports from Qt resource.

Loading an import from a Qt resource fails because the url of the module
was erroneously being converted to a file:// url.  This results in a url
that looks like "file://:/MyModule".  Fixed by adding a check to see if
the module path is a resource path (starts with :) and if so constructs
a qrc:// url instead.

Change-Id: I41a24a93d085baaf68d58c4e991d6ba2aff5e7ff
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoDocument headerItem and footerItem of ListView and GridView.
Martin Jones [Mon, 5 Dec 2011 05:40:31 +0000 (15:40 +1000)]
Document headerItem and footerItem of ListView and GridView.

Change-Id: Icfa899bc8c8c7e40f79988700a94ee8480e42bd6
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoMake particle shader more portable
Alan Alpert [Sun, 4 Dec 2011 23:22:48 +0000 (09:22 +1000)]
Make particle shader more portable

Change-Id: I699712f94ecb4d510d02919c1dcf69828c42a316
Reviewed-by: Glenn Watson <glenn.watson@nokia.com>
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
12 years agoFix test failures due to invalid font metrics.
Andrew den Exter [Mon, 5 Dec 2011 01:01:15 +0000 (11:01 +1000)]
Fix test failures due to invalid font metrics.

Don't use QFontMetrics to determine expected text dimensions or
cursor positions in TextInput and TextEdit tests.  Instead Layout the
text with the same options as used by the item so the only error should
be due to error.

Task-number: QTBUG-21689
Change-Id: I7ba008d92f1ebb14c37ae7df06fdb11465c3225d
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoRevert "sync to an earlier qtbase"
Alan Alpert [Sun, 4 Dec 2011 22:23:22 +0000 (08:23 +1000)]
Revert "sync to an earlier qtbase"

This reverts commit 3a034c19c89c9528df8b7e2ee9e9a23bd7684958.
The conflicting change in qtbase was also reverted, so there should no
longer be a need for the earlier qtbase.

Change-Id: I91303410378e1a6e0f86286dd402810b24b6d4ec
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoDon't delay mirroring until polish
Alan Alpert [Sun, 4 Dec 2011 23:23:34 +0000 (09:23 +1000)]
Don't delay mirroring until polish

Mirroring is not a good candidate for delays because it isn't always
able to trigger a new polish.

Task-number: QTBUG-22968
Change-Id: I1243aadea1202936255a42f77dea2b7571c52cab
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
12 years agoAdd tutorials to examples autotest.
Alan Alpert [Sun, 4 Dec 2011 23:22:09 +0000 (09:22 +1000)]
Add tutorials to examples autotest.

Change-Id: I339446212e3ac9608eada0601e83d86789d33e0b
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
12 years agoTest fixes for OS X.
Michael Brasser [Thu, 1 Dec 2011 03:01:36 +0000 (13:01 +1000)]
Test fixes for OS X.

Change-Id: Idee212db1ee267d44463886de6a7918404ba549d
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoExamples has grown to more than just declarative.
Alan Alpert [Thu, 1 Dec 2011 07:27:45 +0000 (17:27 +1000)]
Examples has grown to more than just declarative.

The examples.pro file should no longer be skipped.

Change-Id: I2af08eec7fa69b996d1b6f237f40259c89f326f6
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoQtQuick: Fix linkage of QQuickFlickable.
Friedemann Kleint [Fri, 2 Dec 2011 16:05:50 +0000 (17:05 +0100)]
QtQuick: Fix linkage of QQuickFlickable.

Change-Id: I0cfc78ed9af01bbd3063cb17a9a380ca8714372d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
12 years agoSay hello to QtQuick module
Kent Hansen [Wed, 23 Nov 2011 14:14:07 +0000 (15:14 +0100)]
Say hello to QtQuick module

This change moves the QtQuick 2 types and C++ API (including
SceneGraph) to a new module (AKA library), QtQuick.

99% of this change is moving files from src/declarative to
src/quick, and from tests/auto/declarative to
tests/auto/qtquick2.

The loading of QtQuick 2 ("import QtQuick 2.0") is now delegated to
a plugin, src/imports/qtquick2, just like it's done for QtQuick 1.

All tools, examples, and tests that use QtQuick C++ API have gotten
"QT += quick" or "QT += quick-private" added to their .pro file.

A few additional internal QtDeclarative classes had to be exported
(via Q_DECLARATIVE_PRIVATE_EXPORT) since they're needed by the
QtQuick 2 implementation.

The old header locations (e.g. QtDeclarative/qquickitem.h) will
still be supported for some time, but will produce compile-time
warnings. (To avoid the QtQuick implementation using the
compatibility headers (since QtDeclarative's includepath comes
first), a few include statements were modified, e.g. from
"#include <qsgnode.h>" to "#include <QtQuick/qsgnode.h>".)

There's a change in qtbase that automatically adds QtQuick to the
module list if QtDeclarative is used. Together with the compatibility
headers, this should help reduce the migration pain for existing
projects.

In theory, simply getting an existing QtDeclarative-based project
to compile and link shouldn't require any changes for now -- but
porting to the new scheme is of course recommended, and will
eventually become mandatory.

Task-number: QTBUG-22889
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Change-Id: Ia52be9373172ba2f37e7623231ecb060316c96a7
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
12 years agoqmlplugindump: Fix missing flush for objects that don't fit a line.
Christian Kamm [Fri, 2 Dec 2011 08:30:48 +0000 (09:30 +0100)]
qmlplugindump: Fix missing flush for objects that don't fit a line.

The missing flush could result in script bindings appearing after the
closing brace of an object.

Change-Id: If05764619668cc4a86f7364f6cd7feeb0d6f6e32
Reviewed-by: Leandro Melo <leandro.melo@nokia.com>
12 years agoAdd dynamicRoles mode to ListModel for extra flexibility.
Glenn Watson [Thu, 1 Dec 2011 00:40:44 +0000 (10:40 +1000)]
Add dynamicRoles mode to ListModel for extra flexibility.

ListModel contains a new property called dynamicRoles.
By default this property is disabled, meaning that
the type of a given role cannot be changed dynamically.
However, when this property is set, the type of a
role can change between elements. This allows more
flexibility but comes at a significant performance
cost over the default static role mode.

Change-Id: I478d48c882f51ba2dde37f88e2aac744e919b68b
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoAddd expectFail() to qmltestexmaple to avoid failure report from CI.
Charles Yin [Fri, 2 Dec 2011 00:47:59 +0000 (10:47 +1000)]
Addd expectFail() to qmltestexmaple to avoid failure report from CI.

Change-Id: I35637c9951085d42d216b8eb1eb03ef1206d51d6
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoUse QWidgetTextControl in the QtQuick1 TextEdit.
Andrew den Exter [Tue, 29 Nov 2011 05:33:56 +0000 (15:33 +1000)]
Use QWidgetTextControl in the QtQuick1 TextEdit.

QDeclarative1TextEdit and QTextEdit have the same compatbility
requirements so it makes sense they continue sharing the same line
control implementation.  This allows the QtQuick 2 TextInput to diverge
without creating a third variation of QTextControl,

Task-number: QTBUG-22627
Change-Id: Id4a8f6a17aeb756c3385cf8fca3de61b8c4be757
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoUse QWidgetLineControl in the QtQuick1 TextInput.
Andrew den Exter [Thu, 10 Nov 2011 03:20:45 +0000 (13:20 +1000)]
Use QWidgetLineControl in the QtQuick1 TextInput.

QDeclarative1TextInput and QLineEdit have the same compatbility
requirements so it makes sense they continue sharing the same line
control implementation.  This allows the QtQuick 2 TextInput to diverge
without creating a third variation of QLineControl.

Task-number: QTBUG-22627
Change-Id: Ic06f66f1cb55e78f7129889a4877c3aba5ba72f6
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoRemove QSGContext and QSGTexture from QDeclarativePixmapData
Gunnar Sletta [Fri, 2 Dec 2011 06:59:44 +0000 (07:59 +0100)]
Remove QSGContext and QSGTexture from QDeclarativePixmapData

In order to cleanly support multiple windows we need to not
have the QSGContext reference in QDeclarativeEngine and we
need to be able to have one copy of the texture for each
QSGContext that is not sharing when we have multiple windows.

This also makes it easier to the release graphical resources from
a running application, which is another feature that we want
to eventually implement.

This patch does remove an adaptation feature which is the
decodeToTexture, which seemed like a good idea at the time
but in hindsight has not been used for anything.

Edit: resolved conflict in qquickimage.cpp
Edit: updated QDeclarativePixmap testcase
Edit: updated QQuickImage testcase
Edit: Rebased on top of QDeclarativePixmapCacheChanges

Change-Id: Ifc61dd8158d3f841437d029b6031a91196145517
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoFix test warnings
Aaron Kennedy [Thu, 1 Dec 2011 14:34:10 +0000 (14:34 +0000)]
Fix test warnings

If the enums aren't correctly registered, the use of signal spy always
causes a warning.

Change-Id: If7fd0c1765ac33e0c1548701e199e710e2fe3b30
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoFix pixmap leak in Text with embedded images.
Martin Jones [Fri, 2 Dec 2011 00:23:08 +0000 (10:23 +1000)]
Fix pixmap leak in Text with embedded images.

Insert into hash with same key we use to lookup :-/

Change-Id: I1d70916fab578c8280a11b3a03fb7cfd6ad4d594
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
12 years agoFix listview test warning
Martin Jones [Thu, 1 Dec 2011 23:36:21 +0000 (09:36 +1000)]
Fix listview test warning

Change-Id: I24cead9eb52f9e1cca39ffe5d6e32a57453186d6
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoFix gridview test warning.
Martin Jones [Thu, 1 Dec 2011 22:58:49 +0000 (08:58 +1000)]
Fix gridview test warning.

Also removed unnecessary QtQuick 1.1 test.

Change-Id: I6f048d22fbbaa817358da7bb5d85187fabc119ff
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoDon't use idle priority for background threads.
Martin Jones [Thu, 1 Dec 2011 06:55:51 +0000 (16:55 +1000)]
Don't use idle priority for background threads.

Using idle priority for image loading meant that images could
remain unloaded for a looong time.  Change to LowestPriority.

Change-Id: Ieb89e94f5e37b9fe795a76368e4d23edb40978f7
Reviewed-by: Bjørn Erik Nilsen <bjorn.nilsen@nokia.com>
12 years agosync to an earlier qtbase
Alan Alpert [Fri, 2 Dec 2011 03:52:44 +0000 (13:52 +1000)]
sync to an earlier qtbase

change ba635d7e74472f3a54c0c4686966af46d9035c6f breaks qtdeclarative CI.
Using an earlier qtbase while the matter is investigated.

Task-Number: QTBUG-22985
Change-Id: I2d1c5f03f48d4383fd84a42612314bea0bdc675d
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoIgnore expected warning
Aaron Kennedy [Thu, 1 Dec 2011 17:14:19 +0000 (17:14 +0000)]
Ignore expected warning

Change-Id: I6e90537461fa4939c724b3031f3b3b5f04343d8e
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoAutotest
Aaron Kennedy [Fri, 14 Oct 2011 07:41:29 +0000 (17:41 +1000)]
Autotest

Change-Id: I796ef5e0d70a7e3a95858468583c4ecb447991ee
Task-number: QTBUG-21864
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoIgnore expected warning message
Aaron Kennedy [Thu, 1 Dec 2011 14:08:57 +0000 (14:08 +0000)]
Ignore expected warning message

Change-Id: I80d2b6e082f6e648ee888820903bc81a21c0d302
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoImprove value type read performance
Aaron Kennedy [Wed, 30 Nov 2011 17:54:03 +0000 (17:54 +0000)]
Improve value type read performance

On x86, this gives ~3x improvement in property read time.

Change-Id: I8f75e9bb7450bc56ca42f8258c3a5641bc9c18d3
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
12 years agoTake multi-line expressions into account when rewriting expressions
Kai Koehne [Wed, 30 Nov 2011 15:27:01 +0000 (16:27 +0100)]
Take multi-line expressions into account when rewriting expressions

Take into account the newlines expressions might have when
 combining multiple expressions into one.

Change-Id: Ib7170f624b6b6dee522e2d376a513ac08a8baa46
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoRemove debugging
Aaron Kennedy [Thu, 1 Dec 2011 12:30:17 +0000 (12:30 +0000)]
Remove debugging

Change-Id: Ib672ae608446acb1ddf7df8354fb7ae051b9e834
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
12 years agoFix test warnings
Aaron Kennedy [Thu, 1 Dec 2011 15:03:07 +0000 (15:03 +0000)]
Fix test warnings

Change-Id: I35428417ef6c21166ac991c28a540fa4e8ec19fb
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoIgnore test warning
Aaron Kennedy [Thu, 1 Dec 2011 14:55:43 +0000 (14:55 +0000)]
Ignore test warning

Change-Id: I030a8be90cc95105ca016b74ad017c46ba7ffe17
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoDebugger autest: Don't show debugee output for expected failures
Kai Koehne [Thu, 1 Dec 2011 14:54:46 +0000 (15:54 +0100)]
Debugger autest: Don't show debugee output for expected failures

Change-Id: Ifd068f8c680dcde7bf9c2e078e13eeee1bcba552
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoDelete created objects
Aaron Kennedy [Thu, 1 Dec 2011 14:43:01 +0000 (14:43 +0000)]
Delete created objects

This eliminates "leak" warnings that were generated when the test
exited.

Change-Id: I66088f29b88b95662d6ab4e65b5e2a77b415a9f9
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoDon't build an app_bundle on OS X
Aaron Kennedy [Thu, 1 Dec 2011 14:03:18 +0000 (14:03 +0000)]
Don't build an app_bundle on OS X

Change-Id: I7d5aa114baaea881a3fe56157e2530d1f89be91c
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoWindows: Fix building of XML list model plugin.
Friedemann Kleint [Thu, 1 Dec 2011 13:14:43 +0000 (14:14 +0100)]
Windows: Fix building of XML list model plugin.

Change-Id: Ia070f4b4fd726d201dde7aa43e2c62eacfaff40e
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
12 years agoDelete created objects
Aaron Kennedy [Thu, 1 Dec 2011 13:59:47 +0000 (13:59 +0000)]
Delete created objects

This eliminates "leak" warnings that were generated when the test
exited.

Change-Id: Ia186241c05c28a6e5eb7b6b431e084f95f5934be
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoMove QDeclarativePropertyValueInterceptor into a private header
Aaron Kennedy [Thu, 1 Dec 2011 11:11:43 +0000 (11:11 +0000)]
Move QDeclarativePropertyValueInterceptor into a private header

This should never have been public.

Change-Id: I77811413c93fdc7767d0921e12284e9a8bc88752
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
12 years agoRemove debugging output
Aaron Kennedy [Thu, 1 Dec 2011 13:31:32 +0000 (13:31 +0000)]
Remove debugging output

The console.log() is not a significant part of the test, so it can be
removed.  The exception will still be thrown if keys is not a function.

Change-Id: Ifaec6e0ed5ecc32ad7b885bff31df493120ed9aa
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
12 years agoExport QQuickFlickable to make it possible to use it as private API.
Andras Becsi [Tue, 29 Nov 2011 14:51:24 +0000 (15:51 +0100)]
Export QQuickFlickable to make it possible to use it as private API.

Make it possible for the QtWebKit WebView to use Flickable as a base
class by depending on QtDeclarative private API for now.

Change-Id: Ia7b8a4aa1c59b9a089b4beecb0d9af5cf8883f07
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoRemove debugging
Aaron Kennedy [Thu, 1 Dec 2011 13:39:59 +0000 (13:39 +0000)]
Remove debugging

Change-Id: I64cc9fb96f5f456cb9b18ba5706a79bf7c6cde16
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoDon't use deprecated method
Aaron Kennedy [Thu, 1 Dec 2011 13:36:47 +0000 (13:36 +0000)]
Don't use deprecated method

Change-Id: I480dc4de58ce54bec353d33cddd73b817c588304
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoIgnore test warnings
Aaron Kennedy [Thu, 1 Dec 2011 13:22:12 +0000 (13:22 +0000)]
Ignore test warnings

Change-Id: Ib22ea43970e2e4c9635063dc3af6d6f130cc2a18
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoIgnore expected warning
Aaron Kennedy [Thu, 1 Dec 2011 12:39:51 +0000 (12:39 +0000)]
Ignore expected warning

Change-Id: I09696b9d522fd791a4a33f812bb3c858bfd692ff
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoFix uninitialized member variable in QDeclarativeTextEdit
Pekka Vuorela [Thu, 17 Nov 2011 16:10:22 +0000 (18:10 +0200)]
Fix uninitialized member variable in QDeclarativeTextEdit

Change-Id: I7ef3902488bb4ba1129933e3a4015e266be8b821
Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoMade TextInput mouse events commit preedit
Pekka Vuorela [Wed, 16 Nov 2011 11:43:05 +0000 (13:43 +0200)]
Made TextInput mouse events commit preedit

Similar to what was earlier done on QWidgets editors.
Additionally updated tests to check QInputPanel::invokeAction instead
of the obsolete QInputContext mouse handler.

Change-Id: Ia2bd22eebdeed79cff7a4925129b28dd1500b1ad
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
12 years agoAdd missing tests
Aaron Kennedy [Thu, 1 Dec 2011 12:28:46 +0000 (12:28 +0000)]
Add missing tests

Change-Id: I73df9b553045acf8dd4164543d42ba6db48dced6
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoCompile MSVC2008 and remove unneeded reference to <stdint.h>
Jan-Arve Saether [Thu, 1 Dec 2011 09:09:05 +0000 (10:09 +0100)]
Compile MSVC2008 and remove unneeded reference to <stdint.h>

Change-Id: Ic6acdb2e9cba970d4096582c125c64d7fd4650ee
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
12 years agoFixed crash when updating Image.source and BorderImage.source
Gunnar Sletta [Thu, 1 Dec 2011 08:42:21 +0000 (09:42 +0100)]
Fixed crash when updating Image.source and BorderImage.source

We need to update the texture pointer in the scene graph node
when the imagedata has changed.

Change-Id: I0246626d3ebb66db9c5cf85fb1c2034ed233984f
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoRelease pixmap cache data to avoid leaking memory
Chris Adams [Mon, 21 Nov 2011 23:59:33 +0000 (09:59 +1000)]
Release pixmap cache data to avoid leaking memory

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

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

Fixes unstable test tst_QQuickGridView::insertBeforeVisible().

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

Task-number: QTBUG-22279

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

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

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

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

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

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

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

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

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

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

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

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

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

Task-number: QTBUG-21792

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

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

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

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

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

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

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