Optimize listmodel and allow nested elements from worker script.
authorGlenn Watson <glenn.watson@nokia.com>
Wed, 26 Oct 2011 00:28:01 +0000 (10:28 +1000)
committerQt by Nokia <qt-info@nokia.com>
Wed, 26 Oct 2011 01:41:53 +0000 (03:41 +0200)
commitca3dfc52667a036901d640e4f9ed30f267153b2c
tree99c036580179b73e74e3e798cd91ff2b3fc5341d
parent31d34d98f192035c42bd1d1c07bf6e297da76220
Optimize listmodel and allow nested elements from worker script.

Added support for nested listmodels when used from a worker script
thread. Optimized the implementation of ListModel, especially the
performance of appending a large number of items. Added a batch
append mode (with an array of JS objects) to reduce the overhead
of calling from JS into native code for each append operation.

Task-number:QTBUG-21508
Change-Id: I07b381dc3e8200d92d6e0af458df8850d78b510f
Reviewed-by: Martin Jones <martin.jones@nokia.com>
14 files changed:
src/declarative/qml/v8/qv8qobjectwrapper_p.h
src/declarative/qml/v8/qv8variantwrapper_p.h
src/declarative/util/qdeclarativelistmodel.cpp
src/declarative/util/qdeclarativelistmodel_p.h
src/declarative/util/qdeclarativelistmodel_p_p.h
src/declarative/util/qdeclarativelistmodelworkeragent.cpp
src/declarative/util/qdeclarativelistmodelworkeragent_p.h
tests/auto/declarative/qdeclarativelistmodel/data/workerremoveelement.js [new file with mode: 0644]
tests/auto/declarative/qdeclarativelistmodel/data/workerremoveelement.qml [new file with mode: 0644]
tests/auto/declarative/qdeclarativelistmodel/data/workerremovelist.js [new file with mode: 0644]
tests/auto/declarative/qdeclarativelistmodel/data/workerremovelist.qml [new file with mode: 0644]
tests/auto/declarative/qdeclarativelistmodel/data/workersync.js [new file with mode: 0644]
tests/auto/declarative/qdeclarativelistmodel/data/workersync.qml [new file with mode: 0644]
tests/auto/declarative/qdeclarativelistmodel/tst_qdeclarativelistmodel.cpp