diff options
author | Liang Qi <[email protected]> | 2016-04-07 10:56:42 +0200 |
---|---|---|
committer | Liang Qi <[email protected]> | 2016-04-08 13:03:25 +0200 |
commit | 68ba8fe3ccf7abe8d24ba3614f8d7ceb3778de74 (patch) | |
tree | 8fdc2922aa5375203fef05746691e88632a92bbe | |
parent | 0d8de448ef746aea7215f6f654660500dc9601d2 (diff) | |
parent | a676e4e2dae945c02521691c7018f5a5534feff9 (diff) |
Merge remote-tracking branch 'origin/5.6' into 5.7
This change also fixes the build of two benchmarks, tst_affectors
and tst_emission.
Conflicts:
src/plugins/qmltooling/qmldbg_native/qmldbg_native.pro
src/qml/qml/ftw/qhashfield_p.h
tests/benchmarks/particles/affectors/tst_affectors.cpp
tests/benchmarks/particles/emission/tst_emission.cpp
tests/benchmarks/qml/pointers/pointers.pro
tests/benchmarks/qml/pointers/tst_pointers.cpp
tests/benchmarks/qml/qmltime/qmltime.pro
tests/benchmarks/qml/qquickwindow/qquickwindow.pro
Change-Id: I595309d1e183c18371cb9b07af6e4681059de3b2
193 files changed, 349 insertions, 310 deletions
diff --git a/dist/changes-5.6.0 b/dist/changes-5.6.0 new file mode 100644 index 0000000000..c56fb4355b --- /dev/null +++ b/dist/changes-5.6.0 @@ -0,0 +1,158 @@ +Qt 5.6 introduces many new features and improvements as well as bugfixes +over the 5.5.x series. For more details, refer to the online documentation +included in this distribution. The documentation is also available online: + + http://qt-project.org/doc/qt-5 + +The Qt version 5.6 series is binary compatible with the 5.5.x series. +Applications compiled for 5.5 will continue to run with 5.6. + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + + http://bugreports.qt-project.org/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* Library * +**************************************************************************** + + +QtQml +----- + + - Enabled Just-In-Time compilation for JavaScript on MIPS + + - ObjectModel: + * Added get(), append(), insert(), move() and remove() methods. + + - Profiling: + * QtQml can now write additional information so that perf is able to give + function names of JavaScript methods when profiling. To enable this, set + the environment variable QV4_PROFILE_WRITE_PERF_MAP=1 when running the + process in question. + + - XMLHttpRequest: + * Added support for the PROPFIND method in HTTP requests. + * Added support for the "json" binary response type. + * Fixed a memory leak in the use of the responseXML property. + + - qml tool: + * The qml tool now quits immediately if Qt.quit() is called before all scenes + complete creation. + * Make it possible to make script without .qml suffix + + - QJSEngine: + * Introduced an extension API that allows installing various function and + object extensions (qsTr(), console.log(), etc.) to QJSEngine. + installTranslatorFunctions() was deprecated in favor of the new extension + API (see installExtensions()). + + - QQmlComponent: + * Synchronously complete the loading of an asynchronous QQmlComponent, if a + PreferSynchronous QQmlComponent is created for the same url (provided that + this url does support synchronous loading). + + - URLs from Qt.include() are now passed through the URL interceptor (if + present). + +QtQuick +------- + + - Added padding, leftPadding, topPadding, rightPadding and bottomPadding + properties to Text, TextInput, TextEdit in addition to all positioning items, + such as Column, Row, Grid, and Flow. + + - Items may now listen for the ItemDevicePixelRatioHasChanged event in + QQuickItem::itemChange() in order to become aware of when DPI scaling has + changed (for instance, when the window has moved to a different screen). + Text elements take advantage of this in order to rerender when the DPI has + changed. + + - Images now support looking for higher pixel ratios, not just @2x. + + - Added the possibility to mirror the generated OpenGL texture via the newly + added Item::layer.textureMirroring and ShaderEffectSource::textureMirroring + properties. + + - QQuickFramebufferObject: + * Added a mirrorVertically property to QQuickFramebufferObject. + + - Shortcut: + * Added Shortcut.nativeText and portableText properties to read back the key + sequence as a string + * Added Shortcut.sequenceString property to read back the key sequence as a + displayable string + + - Flickable: + * The movement related signals and properties are now updated for flicks + started via the flick function. + * Mouse wheel movement will no longer cause Flickable to overshoot past its + boundaries. + + - Flipable: + * Flipable now toggles the 'enabled' property on whichever side is active. + This restores broken behavior compatibility with QtQuick1, and blocks + input to whichever side is not active. + + - Item: + * Added EnterKey attached property that allows to change the appearance of + the Enter key on an on-screen keyboard. + + - MultiPointTouchArea: + * Fixed released() signal duplication on mouseReleaseEvent. + + - QQuickPaintedItem: + * Implement high-dpi support and add function textureSize. This obsoletes + the existing contentsSize, contentsScale and contentsBoundingRect + functions. + * A QQuickPaintedItem with Item.layer set will now include child items in the + layer. + + - QQuickWindow: + * Add TextureIsOpaque option to createTextureFromImage() + * Added a render job stage: NoStage. This allows scheduling jobs for + execution on the render thread. + + - Repeater: + * Positioners will now always ignore Repeaters. Previously, Repeaters were + ignored by positioners when their width or height were 0. + + - Text: + * Fixed baseline of Text elements where the vertical alignment was something + other than top. + + - TextEdit: + * Add an editingFinished signal, emitted when the text edit loses focus. This + mirrors the same signal already available on TextInput since Qt 5.2. + + - Item Views: + * positionViewAtIndex() will now reliably work on a view with a sticky + header/footer set. + * ListView no longer ends up with "holes" between delegates (or missing + delegates) under some circumstances. + +QuickTest +--------- + + - TestCase: + * Added equals() function to image object returned from TestCase's + grabImage() function. + * Key events in TestCase are now sent to the window with active focus, + meaning that tests that create custom windows can receive key events. + +QtQuick.Particles +----------------- + + - Turbulence: + * Noise source image is now correctly read from QRC files as well as local + files. + +Qt.labs.folderlistmodel +----------------------- + + - FolderListModel: + * Add an indexOf(file) function to determine the index of a given file. + diff --git a/examples/qml/dynamicscene/content/images/star.png b/examples/qml/dynamicscene/content/images/star.png Binary files differindex 27ef924267..bdcd36909d 100644 --- a/examples/qml/dynamicscene/content/images/star.png +++ b/examples/qml/dynamicscene/content/images/star.png diff --git a/examples/qml/dynamicscene/content/images/sun.png b/examples/qml/dynamicscene/content/images/sun.png Binary files differindex 7713ca5ce7..c5fd36ed39 100644 --- a/examples/qml/dynamicscene/content/images/sun.png +++ b/examples/qml/dynamicscene/content/images/sun.png diff --git a/examples/qml/qmlextensionplugins/imports/TimeExample/hour.png b/examples/qml/qmlextensionplugins/imports/TimeExample/hour.png Binary files differindex f8061a1235..9f33fc5d48 100644 --- a/examples/qml/qmlextensionplugins/imports/TimeExample/hour.png +++ b/examples/qml/qmlextensionplugins/imports/TimeExample/hour.png diff --git a/examples/qml/qmlextensionplugins/imports/TimeExample/minute.png b/examples/qml/qmlextensionplugins/imports/TimeExample/minute.png Binary files differindex 1297ec7c2b..e2f216c897 100644 --- a/examples/qml/qmlextensionplugins/imports/TimeExample/minute.png +++ b/examples/qml/qmlextensionplugins/imports/TimeExample/minute.png diff --git a/examples/quick/animation/basics/images/moon.png b/examples/quick/animation/basics/images/moon.png Binary files differindex 9407b2b4f0..1583ac83f7 100644 --- a/examples/quick/animation/basics/images/moon.png +++ b/examples/quick/animation/basics/images/moon.png diff --git a/examples/quick/animation/basics/images/shadow.png b/examples/quick/animation/basics/images/shadow.png Binary files differindex 8270565e87..2dd494f6c6 100644 --- a/examples/quick/animation/basics/images/shadow.png +++ b/examples/quick/animation/basics/images/shadow.png diff --git a/examples/quick/animation/basics/images/star.png b/examples/quick/animation/basics/images/star.png Binary files differindex 27ef924267..bdcd36909d 100644 --- a/examples/quick/animation/basics/images/star.png +++ b/examples/quick/animation/basics/images/star.png diff --git a/examples/quick/animation/basics/images/sun.png b/examples/quick/animation/basics/images/sun.png Binary files differindex 7713ca5ce7..c5fd36ed39 100644 --- a/examples/quick/animation/basics/images/sun.png +++ b/examples/quick/animation/basics/images/sun.png diff --git a/examples/quick/customitems/maskedmousearea/images/cloud_1.png b/examples/quick/customitems/maskedmousearea/images/cloud_1.png Binary files differindex 87c54af253..9beb7e8442 100644 --- a/examples/quick/customitems/maskedmousearea/images/cloud_1.png +++ b/examples/quick/customitems/maskedmousearea/images/cloud_1.png diff --git a/examples/quick/customitems/progressbar/content/background.png b/examples/quick/customitems/progressbar/content/background.png Binary files differindex 9044226f85..5c316bc03e 100644 --- a/examples/quick/customitems/progressbar/content/background.png +++ b/examples/quick/customitems/progressbar/content/background.png diff --git a/examples/quick/customitems/scrollbar/doc/images/qml-scrollbar-example.png b/examples/quick/customitems/scrollbar/doc/images/qml-scrollbar-example.png Binary files differindex 54adf33daa..2c80421b06 100644 --- a/examples/quick/customitems/scrollbar/doc/images/qml-scrollbar-example.png +++ b/examples/quick/customitems/scrollbar/doc/images/qml-scrollbar-example.png diff --git a/examples/quick/customitems/searchbox/images/clear.png b/examples/quick/customitems/searchbox/images/clear.png Binary files differindex 91eb270695..c20a9cfba5 100644 --- a/examples/quick/customitems/searchbox/images/clear.png +++ b/examples/quick/customitems/searchbox/images/clear.png diff --git a/examples/quick/customitems/searchbox/images/lineedit-bg-focus.png b/examples/quick/customitems/searchbox/images/lineedit-bg-focus.png Binary files differindex bbfac38d2d..c8f2722298 100644 --- a/examples/quick/customitems/searchbox/images/lineedit-bg-focus.png +++ b/examples/quick/customitems/searchbox/images/lineedit-bg-focus.png diff --git a/examples/quick/customitems/searchbox/images/lineedit-bg.png b/examples/quick/customitems/searchbox/images/lineedit-bg.png Binary files differindex 9044226f85..5c316bc03e 100644 --- a/examples/quick/customitems/searchbox/images/lineedit-bg.png +++ b/examples/quick/customitems/searchbox/images/lineedit-bg.png diff --git a/examples/quick/customitems/spinner/content/spinner-bg.png b/examples/quick/customitems/spinner/content/spinner-bg.png Binary files differindex b3556f1f9f..da34fc4090 100644 --- a/examples/quick/customitems/spinner/content/spinner-bg.png +++ b/examples/quick/customitems/spinner/content/spinner-bg.png diff --git a/examples/quick/customitems/tabwidget/doc/images/qml-tabwidget-example.png b/examples/quick/customitems/tabwidget/doc/images/qml-tabwidget-example.png Binary files differindex 847052d301..2e1cae2584 100644 --- a/examples/quick/customitems/tabwidget/doc/images/qml-tabwidget-example.png +++ b/examples/quick/customitems/tabwidget/doc/images/qml-tabwidget-example.png diff --git a/examples/quick/customitems/tabwidget/doc/images/tab.png b/examples/quick/customitems/tabwidget/doc/images/tab.png Binary files differindex ad8021605f..2ea989b68d 100644 --- a/examples/quick/customitems/tabwidget/doc/images/tab.png +++ b/examples/quick/customitems/tabwidget/doc/images/tab.png diff --git a/examples/quick/demos/clocks/content/hour.png b/examples/quick/demos/clocks/content/hour.png Binary files differindex f8061a1235..9f33fc5d48 100644 --- a/examples/quick/demos/clocks/content/hour.png +++ b/examples/quick/demos/clocks/content/hour.png diff --git a/examples/quick/demos/clocks/content/minute.png b/examples/quick/demos/clocks/content/minute.png Binary files differindex 1297ec7c2b..e2f216c897 100644 --- a/examples/quick/demos/clocks/content/minute.png +++ b/examples/quick/demos/clocks/content/minute.png diff --git a/examples/quick/demos/clocks/content/second.png b/examples/quick/demos/clocks/content/second.png Binary files differindex 4aa9fb5e8e..d95d99e83d 100644 --- a/examples/quick/demos/clocks/content/second.png +++ b/examples/quick/demos/clocks/content/second.png diff --git a/examples/quick/demos/photoviewer/PhotoViewerCore/images/box-shadow.png b/examples/quick/demos/photoviewer/PhotoViewerCore/images/box-shadow.png Binary files differindex 431af8545d..23c011d0ff 100644 --- a/examples/quick/demos/photoviewer/PhotoViewerCore/images/box-shadow.png +++ b/examples/quick/demos/photoviewer/PhotoViewerCore/images/box-shadow.png diff --git a/examples/quick/demos/photoviewer/PhotoViewerCore/images/busy.png b/examples/quick/demos/photoviewer/PhotoViewerCore/images/busy.png Binary files differindex 664c2b1491..fc65122d26 100644 --- a/examples/quick/demos/photoviewer/PhotoViewerCore/images/busy.png +++ b/examples/quick/demos/photoviewer/PhotoViewerCore/images/busy.png diff --git a/examples/quick/demos/photoviewer/PhotoViewerCore/images/cardboard.png b/examples/quick/demos/photoviewer/PhotoViewerCore/images/cardboard.png Binary files differindex 1847ab528d..a8a9c6079d 100644 --- a/examples/quick/demos/photoviewer/PhotoViewerCore/images/cardboard.png +++ b/examples/quick/demos/photoviewer/PhotoViewerCore/images/cardboard.png diff --git a/examples/quick/demos/rssnews/content/images/btn_close.png b/examples/quick/demos/rssnews/content/images/btn_close.png Binary files differindex 6d635375eb..1a3dc44380 100644 --- a/examples/quick/demos/rssnews/content/images/btn_close.png +++ b/examples/quick/demos/rssnews/content/images/btn_close.png diff --git a/examples/quick/demos/rssnews/content/images/busy.png b/examples/quick/demos/rssnews/content/images/busy.png Binary files differindex 664c2b1491..fc65122d26 100644 --- a/examples/quick/demos/rssnews/content/images/busy.png +++ b/examples/quick/demos/rssnews/content/images/busy.png diff --git a/examples/quick/demos/rssnews/content/images/scrollbar.png b/examples/quick/demos/rssnews/content/images/scrollbar.png Binary files differindex 0228dcf9eb..c2425dd0df 100644 --- a/examples/quick/demos/rssnews/content/images/scrollbar.png +++ b/examples/quick/demos/rssnews/content/images/scrollbar.png diff --git a/examples/quick/demos/rssnews/doc/images/qtquick-demo-rssnews-small.png b/examples/quick/demos/rssnews/doc/images/qtquick-demo-rssnews-small.png Binary files differindex ffef99ee5c..9d324ceb70 100644 --- a/examples/quick/demos/rssnews/doc/images/qtquick-demo-rssnews-small.png +++ b/examples/quick/demos/rssnews/doc/images/qtquick-demo-rssnews-small.png diff --git a/examples/quick/demos/stocqt/content/images/icon-left-arrow.png b/examples/quick/demos/stocqt/content/images/icon-left-arrow.png Binary files differindex 7868e8ab31..926938cadd 100644 --- a/examples/quick/demos/stocqt/content/images/icon-left-arrow.png +++ b/examples/quick/demos/stocqt/content/images/icon-left-arrow.png diff --git a/examples/quick/demos/stocqt/doc/images/qtquick-demo-stocqt.png b/examples/quick/demos/stocqt/doc/images/qtquick-demo-stocqt.png Binary files differindex 550c2a8a22..dc09a84dc3 100644 --- a/examples/quick/demos/stocqt/doc/images/qtquick-demo-stocqt.png +++ b/examples/quick/demos/stocqt/doc/images/qtquick-demo-stocqt.png diff --git a/examples/quick/imageelements/content/arrow.png b/examples/quick/imageelements/content/arrow.png Binary files differindex 506ac42fcf..059be6294e 100644 --- a/examples/quick/imageelements/content/arrow.png +++ b/examples/quick/imageelements/content/arrow.png diff --git a/examples/quick/imageelements/content/colors.png b/examples/quick/imageelements/content/colors.png Binary files differindex dfb62f3d64..57f5aca821 100644 --- a/examples/quick/imageelements/content/colors.png +++ b/examples/quick/imageelements/content/colors.png diff --git a/examples/quick/imageelements/content/shadow.png b/examples/quick/imageelements/content/shadow.png Binary files differindex 431af8545d..23c011d0ff 100644 --- a/examples/quick/imageelements/content/shadow.png +++ b/examples/quick/imageelements/content/shadow.png diff --git a/examples/quick/keyinteraction/focus/Core/images/arrow.png b/examples/quick/keyinteraction/focus/Core/images/arrow.png Binary files differindex 14978c2e56..20ee200f5f 100644 --- a/examples/quick/keyinteraction/focus/Core/images/arrow.png +++ b/examples/quick/keyinteraction/focus/Core/images/arrow.png diff --git a/examples/quick/models/abstractitemmodel/doc/images/qml-abstractitemmodel-example.png b/examples/quick/models/abstractitemmodel/doc/images/qml-abstractitemmodel-example.png Binary files differindex 1d7ff197ad..4804fd7ccd 100644 --- a/examples/quick/models/abstractitemmodel/doc/images/qml-abstractitemmodel-example.png +++ b/examples/quick/models/abstractitemmodel/doc/images/qml-abstractitemmodel-example.png diff --git a/examples/quick/models/objectlistmodel/doc/images/qml-objectlistmodel-example.png b/examples/quick/models/objectlistmodel/doc/images/qml-objectlistmodel-example.png Binary files differindex c0fc490c75..416e08a857 100644 --- a/examples/quick/models/objectlistmodel/doc/images/qml-objectlistmodel-example.png +++ b/examples/quick/models/objectlistmodel/doc/images/qml-objectlistmodel-example.png diff --git a/examples/quick/models/stringlistmodel/doc/images/qml-stringlistmodel-example.png b/examples/quick/models/stringlistmodel/doc/images/qml-stringlistmodel-example.png Binary files differindex c8c888b620..de632806b1 100644 --- a/examples/quick/models/stringlistmodel/doc/images/qml-stringlistmodel-example.png +++ b/examples/quick/models/stringlistmodel/doc/images/qml-stringlistmodel-example.png diff --git a/examples/quick/particles/images/colortable.png b/examples/quick/particles/images/colortable.png Binary files differindex a62ceeb4a0..15509ab5b7 100644 --- a/examples/quick/particles/images/colortable.png +++ b/examples/quick/particles/images/colortable.png diff --git a/examples/quick/particles/images/particle2.png b/examples/quick/particles/images/particle2.png Binary files differindex 36349c6c6e..4f3372cd07 100644 --- a/examples/quick/particles/images/particle2.png +++ b/examples/quick/particles/images/particle2.png diff --git a/examples/quick/particles/images/particle3.png b/examples/quick/particles/images/particle3.png Binary files differindex 905d8f37b8..2b04601403 100644 --- a/examples/quick/particles/images/particle3.png +++ b/examples/quick/particles/images/particle3.png diff --git a/examples/quick/particles/images/particleA.png b/examples/quick/particles/images/particleA.png Binary files differindex c63acdee1f..d86fc9696b 100644 --- a/examples/quick/particles/images/particleA.png +++ b/examples/quick/particles/images/particleA.png diff --git a/examples/quick/particles/images/sizeInOut.png b/examples/quick/particles/images/sizeInOut.png Binary files differindex 0a306ea21a..43d8862dbe 100644 --- a/examples/quick/particles/images/sizeInOut.png +++ b/examples/quick/particles/images/sizeInOut.png diff --git a/examples/quick/particles/images/starfish_mask.png b/examples/quick/particles/images/starfish_mask.png Binary files differindex 2ef74f902b..7ae39b34c5 100644 --- a/examples/quick/particles/images/starfish_mask.png +++ b/examples/quick/particles/images/starfish_mask.png diff --git a/examples/quick/particles/itemparticle/content/bubble.png b/examples/quick/particles/itemparticle/content/bubble.png Binary files differindex c7f479e9e3..f26ed1d3f2 100644 --- a/examples/quick/particles/itemparticle/content/bubble.png +++ b/examples/quick/particles/itemparticle/content/bubble.png diff --git a/examples/quick/quickwidgets/quickwidget/doc/images/qtquickwidgets-example.png b/examples/quick/quickwidgets/quickwidget/doc/images/qtquickwidgets-example.png Binary files differindex cc4f52082f..d9e710b7e7 100644 --- a/examples/quick/quickwidgets/quickwidget/doc/images/qtquickwidgets-example.png +++ b/examples/quick/quickwidgets/quickwidget/doc/images/qtquickwidgets-example.png diff --git a/examples/quick/quickwidgets/quickwidget/qtquickwidgets-example.png b/examples/quick/quickwidgets/quickwidget/qtquickwidgets-example.png Binary files differindex cc4f52082f..d9e710b7e7 100644 --- a/examples/quick/quickwidgets/quickwidget/qtquickwidgets-example.png +++ b/examples/quick/quickwidgets/quickwidget/qtquickwidgets-example.png diff --git a/examples/quick/shadereffects/content/qt-logo.png b/examples/quick/shadereffects/content/qt-logo.png Binary files differindex 7d3e97eb36..ecbff0ca36 100644 --- a/examples/quick/shadereffects/content/qt-logo.png +++ b/examples/quick/shadereffects/content/qt-logo.png diff --git a/examples/quick/shared/images/qt-logo.png b/examples/quick/shared/images/qt-logo.png Binary files differindex 7d3e97eb36..ecbff0ca36 100644 --- a/examples/quick/shared/images/qt-logo.png +++ b/examples/quick/shared/images/qt-logo.png diff --git a/examples/quick/shared/images/tab.png b/examples/quick/shared/images/tab.png Binary files differindex ad8021605f..2ea989b68d 100644 --- a/examples/quick/shared/images/tab.png +++ b/examples/quick/shared/images/tab.png diff --git a/examples/quick/text/textselection/pics/endHandle.png b/examples/quick/text/textselection/pics/endHandle.png Binary files differindex 1a4bc5d7a0..598cf98857 100644 --- a/examples/quick/text/textselection/pics/endHandle.png +++ b/examples/quick/text/textselection/pics/endHandle.png diff --git a/examples/quick/text/textselection/pics/startHandle.png b/examples/quick/text/textselection/pics/startHandle.png Binary files differindex deedcd5c91..51def03054 100644 --- a/examples/quick/text/textselection/pics/startHandle.png +++ b/examples/quick/text/textselection/pics/startHandle.png diff --git a/examples/quick/touchinteraction/flickable/content/note-yellow.png b/examples/quick/touchinteraction/flickable/content/note-yellow.png Binary files differindex 8ddecc8b03..3195952ad2 100644 --- a/examples/quick/touchinteraction/flickable/content/note-yellow.png +++ b/examples/quick/touchinteraction/flickable/content/note-yellow.png diff --git a/examples/quick/touchinteraction/multipointtouch/content/Bear0.png b/examples/quick/touchinteraction/multipointtouch/content/Bear0.png Binary files differindex 64a02cec8e..f520cc1f1b 100644 --- a/examples/quick/touchinteraction/multipointtouch/content/Bear0.png +++ b/examples/quick/touchinteraction/multipointtouch/content/Bear0.png diff --git a/examples/quick/touchinteraction/multipointtouch/content/BearB.png b/examples/quick/touchinteraction/multipointtouch/content/BearB.png Binary files differindex c9a84ae1d4..60be2b32c6 100644 --- a/examples/quick/touchinteraction/multipointtouch/content/BearB.png +++ b/examples/quick/touchinteraction/multipointtouch/content/BearB.png diff --git a/examples/quick/touchinteraction/multipointtouch/content/title.png b/examples/quick/touchinteraction/multipointtouch/content/title.png Binary files differindex c370ee9990..01893a247d 100644 --- a/examples/quick/touchinteraction/multipointtouch/content/title.png +++ b/examples/quick/touchinteraction/multipointtouch/content/title.png diff --git a/examples/quick/tutorials/gettingStartedQml/images/arrow.png b/examples/quick/tutorials/gettingStartedQml/images/arrow.png Binary files differindex 14978c2e56..20ee200f5f 100644 --- a/examples/quick/tutorials/gettingStartedQml/images/arrow.png +++ b/examples/quick/tutorials/gettingStartedQml/images/arrow.png diff --git a/examples/quick/tutorials/samegame/shared/pics/blueStar.png b/examples/quick/tutorials/samegame/shared/pics/blueStar.png Binary files differindex ff9588f80a..213bb4bf6c 100644 --- a/examples/quick/tutorials/samegame/shared/pics/blueStar.png +++ b/examples/quick/tutorials/samegame/shared/pics/blueStar.png diff --git a/examples/quick/tutorials/samegame/shared/pics/greenStar.png b/examples/quick/tutorials/samegame/shared/pics/greenStar.png Binary files differindex cd06854719..38429749b8 100644 --- a/examples/quick/tutorials/samegame/shared/pics/greenStar.png +++ b/examples/quick/tutorials/samegame/shared/pics/greenStar.png diff --git a/examples/quick/tutorials/samegame/shared/pics/redStar.png b/examples/quick/tutorials/samegame/shared/pics/redStar.png Binary files differindex 0a4dffe583..5cdf45c4c0 100644 --- a/examples/quick/tutorials/samegame/shared/pics/redStar.png +++ b/examples/quick/tutorials/samegame/shared/pics/redStar.png diff --git a/examples/quick/views/listview/content/pics/moreDown.png b/examples/quick/views/listview/content/pics/moreDown.png Binary files differindex 31a35d5c20..b9061ca322 100644 --- a/examples/quick/views/listview/content/pics/moreDown.png +++ b/examples/quick/views/listview/content/pics/moreDown.png diff --git a/examples/quick/views/listview/content/pics/moreUp.png b/examples/quick/views/listview/content/pics/moreUp.png Binary files differindex fefb9c9098..5732f241a6 100644 --- a/examples/quick/views/listview/content/pics/moreUp.png +++ b/examples/quick/views/listview/content/pics/moreUp.png diff --git a/examples/quick/views/parallax/content/hour.png b/examples/quick/views/parallax/content/hour.png Binary files differindex f8061a1235..9f33fc5d48 100644 --- a/examples/quick/views/parallax/content/hour.png +++ b/examples/quick/views/parallax/content/hour.png diff --git a/examples/quick/views/parallax/content/minute.png b/examples/quick/views/parallax/content/minute.png Binary files differindex 1297ec7c2b..e2f216c897 100644 --- a/examples/quick/views/parallax/content/minute.png +++ b/examples/quick/views/parallax/content/minute.png diff --git a/examples/quick/views/parallax/content/pics/home-page.png b/examples/quick/views/parallax/content/pics/home-page.png Binary files differindex bd090c3708..01c17b0bbf 100644 --- a/examples/quick/views/parallax/content/pics/home-page.png +++ b/examples/quick/views/parallax/content/pics/home-page.png diff --git a/examples/quick/views/parallax/content/pics/shadow.png b/examples/quick/views/parallax/content/pics/shadow.png Binary files differindex 8270565e87..2dd494f6c6 100644 --- a/examples/quick/views/parallax/content/pics/shadow.png +++ b/examples/quick/views/parallax/content/pics/shadow.png diff --git a/examples/quick/views/parallax/content/second.png b/examples/quick/views/parallax/content/second.png Binary files differindex 4aa9fb5e8e..d95d99e83d 100644 --- a/examples/quick/views/parallax/content/second.png +++ b/examples/quick/views/parallax/content/second.png diff --git a/qtdeclarative.pro b/qtdeclarative.pro index 0e746c3c65..5b94da9b69 100644 --- a/qtdeclarative.pro +++ b/qtdeclarative.pro @@ -3,7 +3,7 @@ load(qt_parts) !python_available { py_out = $$system('python -c "print(1)"') - !equals(py_out, 1): error("Building QtQml requires Python version 2.") + !equals(py_out, 1): error("Building QtQml requires Python.") tmp = python_available CONFIG += $$tmp cache(CONFIG, add, tmp) diff --git a/src/imports/folderlistmodel/fileinfothread.cpp b/src/imports/folderlistmodel/fileinfothread.cpp index 7338636784..5d911eec1e 100644 --- a/src/imports/folderlistmodel/fileinfothread.cpp +++ b/src/imports/folderlistmodel/fileinfothread.cpp @@ -66,7 +66,6 @@ FileInfoThread::FileInfoThread(QObject *parent) connect(watcher, SIGNAL(directoryChanged(QString)), this, SLOT(dirChanged(QString))); connect(watcher, SIGNAL(fileChanged(QString)), this, SLOT(updateFile(QString))); #endif // !QT_NO_FILESYSTEMWATCHER - start(LowPriority); } FileInfoThread::~FileInfoThread() diff --git a/src/imports/folderlistmodel/qquickfolderlistmodel.cpp b/src/imports/folderlistmodel/qquickfolderlistmodel.cpp index 9b0571a402..66af37c40c 100644 --- a/src/imports/folderlistmodel/qquickfolderlistmodel.cpp +++ b/src/imports/folderlistmodel/qquickfolderlistmodel.cpp @@ -538,6 +538,7 @@ void QQuickFolderListModel::componentComplete() QString localPath = QQmlFile::urlToLocalFileOrQrc(d->currentDir); if (localPath.isEmpty() || !QDir(localPath).exists()) setFolder(QUrl::fromLocalFile(QDir::currentPath())); + d->fileInfoThread.start(QThread::LowPriority); } /*! diff --git a/src/imports/testlib/TestCase.qml b/src/imports/testlib/TestCase.qml index 0f73d97c1b..046ce507d4 100644 --- a/src/imports/testlib/TestCase.qml +++ b/src/imports/testlib/TestCase.qml @@ -972,6 +972,9 @@ Item { \sa mouseRelease(), mouseClick(), mouseDoubleClick(), mouseDoubleClickSequence(), mouseMove(), mouseDrag(), mouseWheel() */ function mousePress(item, x, y, button, modifiers, delay) { + if (!item) + qtest_fail("No item given to mousePress", 1) + if (button === undefined) button = Qt.LeftButton if (modifiers === undefined) @@ -1003,6 +1006,9 @@ Item { \sa mousePress(), mouseClick(), mouseDoubleClick(), mouseDoubleClickSequence(), mouseMove(), mouseDrag(), mouseWheel() */ function mouseRelease(item, x, y, button, modifiers, delay) { + if (!item) + qtest_fail("No item given to mouseRelease", 1) + if (button === undefined) button = Qt.LeftButton if (modifiers === undefined) @@ -1036,6 +1042,9 @@ Item { \sa mousePress(), mouseClick(), mouseDoubleClick(), mouseDoubleClickSequence(), mouseMove(), mouseRelease(), mouseWheel() */ function mouseDrag(item, x, y, dx, dy, button, modifiers, delay) { + if (!item) + qtest_fail("No item given to mouseDrag", 1) + if (item.x === undefined || item.y === undefined) return if (button === undefined) @@ -1083,6 +1092,9 @@ Item { \sa mousePress(), mouseRelease(), mouseDoubleClick(), mouseDoubleClickSequence(), mouseMove(), mouseDrag(), mouseWheel() */ function mouseClick(item, x, y, button, modifiers, delay) { + if (!item) + qtest_fail("No item given to mouseClick", 1) + if (button === undefined) button = Qt.LeftButton if (modifiers === undefined) @@ -1114,6 +1126,9 @@ Item { \sa mouseDoubleClickSequence(), mousePress(), mouseRelease(), mouseClick(), mouseMove(), mouseDrag(), mouseWheel() */ function mouseDoubleClick(item, x, y, button, modifiers, delay) { + if (!item) + qtest_fail("No item given to mouseDoubleClick", 1) + if (button === undefined) button = Qt.LeftButton if (modifiers === undefined) @@ -1152,6 +1167,9 @@ Item { \sa mouseDoubleClick(), mousePress(), mouseRelease(), mouseClick(), mouseMove(), mouseDrag(), mouseWheel() */ function mouseDoubleClickSequence(item, x, y, button, modifiers, delay) { + if (!item) + qtest_fail("No item given to mouseDoubleClickSequence", 1) + if (button === undefined) button = Qt.LeftButton if (modifiers === undefined) @@ -1181,6 +1199,9 @@ Item { \sa mousePress(), mouseRelease(), mouseClick(), mouseDoubleClick(), mouseDoubleClickSequence(), mouseDrag(), mouseWheel() */ function mouseMove(item, x, y, delay, buttons) { + if (!item) + qtest_fail("No item given to mouseMove", 1) + if (delay == undefined) delay = -1 if (buttons == undefined) @@ -1206,6 +1227,9 @@ Item { \sa mousePress(), mouseClick(), mouseDoubleClick(), mouseDoubleClickSequence(), mouseMove(), mouseRelease(), mouseDrag(), QWheelEvent::angleDelta() */ function mouseWheel(item, x, y, xDelta, yDelta, buttons, modifiers, delay) { + if (!item) + qtest_fail("No item given to mouseWheel", 1) + if (delay == undefined) delay = -1 if (buttons == undefined) diff --git a/src/particles/particleresources/noise.png b/src/particles/particleresources/noise.png Binary files differindex 3c723e1a5a..c74ce493a6 100644 --- a/src/particles/particleresources/noise.png +++ b/src/particles/particleresources/noise.png diff --git a/src/plugins/qmltooling/qmldbg_native/qmldbg_native.pro b/src/plugins/qmltooling/qmldbg_native/qmldbg_native.pro index b3fe1681e8..e5489574be 100644 --- a/src/plugins/qmltooling/qmldbg_native/qmldbg_native.pro +++ b/src/plugins/qmltooling/qmldbg_native/qmldbg_native.pro @@ -1,5 +1,5 @@ TARGET = qmldbg_native -QT += qml-private core-private packetprotocol-private +QT = qml-private core-private packetprotocol-private HEADERS += \ $$PWD/../shared/qqmldebugpacket.h \ diff --git a/src/qml/doc/src/qmlfunctions.qdoc b/src/qml/doc/src/qmlfunctions.qdoc index 6f738752a7..26fc40ff37 100644 --- a/src/qml/doc/src/qmlfunctions.qdoc +++ b/src/qml/doc/src/qmlfunctions.qdoc @@ -338,9 +338,8 @@ One exception to this is that a QObject singleton type property may not be aliased (because the singleton type name does not identify an object within the same component as any other item). - \b{NOTE:} A QObject singleton type instance returned from a singleton type provider is owned by the QML - engine. For this reason, the singleton type provider function should \b{not} be implemented as a - singleton factory. + \b{NOTE:} A QObject singleton type instance returned from a singleton type provider is owned by + the QML engine unless the object has explicit QQmlEngine::CppOwnership flag set. Usage: \code diff --git a/src/qml/qml/ftw/ftw.pri b/src/qml/qml/ftw/ftw.pri index 51697b0aff..a671cfa12d 100644 --- a/src/qml/qml/ftw/ftw.pri +++ b/src/qml/qml/ftw/ftw.pri @@ -5,7 +5,6 @@ HEADERS += \ $$PWD/qhashedstring_p.h \ $$PWD/qqmlrefcount_p.h \ $$PWD/qfieldlist_p.h \ - $$PWD/qhashfield_p.h \ $$PWD/qqmlthread_p.h \ $$PWD/qfinitestack_p.h \ $$PWD/qrecursionwatcher_p.h \ diff --git a/src/qml/qml/ftw/qhashfield_p.h b/src/qml/qml/ftw/qhashfield_p.h deleted file mode 100644 index 15114239eb..0000000000 --- a/src/qml/qml/ftw/qhashfield_p.h +++ /dev/null @@ -1,118 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtQml module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QHASHFIELD_P_H -#define QHASHFIELD_P_H - -// -// W A R N I N G -// ------------- -// -// This file is not part of the Qt API. It exists purely as an -// implementation detail. This header file may change from version to -// version without notice, or even be removed. -// -// We mean it. -// - - -#include <QtCore/qglobal.h> - -QT_BEGIN_NAMESPACE - -// QHashField can be used for doing coarse grained set testing, in -// cases where you do not expect the set to contain the item. For -// example where you would write: -// QSet<QString> strings; -// for (int ii = 0; ii < mystrings.count(); ++ii) { -// if (strings.contains(mystrings.at(ii))) -// qFatal("Duplication!"); -// strings.insert(mystrings); -// } -// You may write: -// QHashField strings; -// for (int ii = 0; ii < mystrings.count(); ++ii) { -// if (strings.testAndSet(qHash(mystrings.at(ii)))) { -// // The string *might* be duplicated -// for (int jj = 0; jj < ii; ++jj) { -// if (mystrings.at(ii) == mystrings.at(jj)) -// qFatal("Duplication!"); -// } -// } -// } -// For small lists of things, where the hash is cheap to calculate -// and you don't expect duplication this will be much faster. -class QHashField { -public: - inline QHashField(); - - inline void clear(); - - inline bool test(quint32 hash); - inline bool testAndSet(quint32 hash); -private: - quint32 m_field; -}; - -QHashField::QHashField() -: m_field(0) -{ -} - -void QHashField::clear() -{ - m_field = 0; -} - -bool QHashField::test(quint32 hash) -{ - return m_field & (1 << (hash % 31)); -} - -bool QHashField::testAndSet(quint32 hash) -{ - quint32 mask = 1 << (hash % 31); - bool rv = m_field & mask; - m_field |= mask; - return rv; -} - -QT_END_NAMESPACE - -#endif // QHASHFIELD_P_H diff --git a/src/qml/qml/qqmlincubator.cpp b/src/qml/qml/qqmlincubator.cpp index a046bfd922..235aa1bf44 100644 --- a/src/qml/qml/qqmlincubator.cpp +++ b/src/qml/qml/qqmlincubator.cpp @@ -687,7 +687,7 @@ void QQmlIncubator::statusChanged(Status status) Called after the \a object is first created, but before property bindings are evaluated and, if applicable, QQmlParserStatus::componentComplete() is called. This is equivalent to the point between QQmlComponent::beginCreate() -and QQmlComponent::endCreate(), and can be used to assign initial values +and QQmlComponent::completeCreate(), and can be used to assign initial values to the object's properties. The default implementation does nothing. diff --git a/src/qmltest/quicktestresult.cpp b/src/qmltest/quicktestresult.cpp index 7a26027e11..235b532dbb 100644 --- a/src/qmltest/quicktestresult.cpp +++ b/src/qmltest/quicktestresult.cpp @@ -111,9 +111,7 @@ public Q_SLOTS: || x * y >= m_image.width() * m_image.height()) return QVariant(); - const QRgb* pixel = reinterpret_cast<const QRgb*>(m_image.constScanLine(y)); - pixel += x; - return QColor::fromRgba(*pixel); + return QColor::fromRgba(m_image.pixel(QPoint(x, y))); } bool equals(QuickTestImageObject *other) const diff --git a/src/quick/doc/images/anchorchanges.png b/src/quick/doc/images/anchorchanges.png Binary files differindex 4973e4e9aa..12d99393b6 100644 --- a/src/quick/doc/images/anchorchanges.png +++ b/src/quick/doc/images/anchorchanges.png diff --git a/src/quick/doc/images/parentchange.png b/src/quick/doc/images/parentchange.png Binary files differindex 93206fbbb2..05f78eac34 100644 --- a/src/quick/doc/images/parentchange.png +++ b/src/quick/doc/images/parentchange.png diff --git a/src/quick/doc/images/qml-borderimage-normal-image.png b/src/quick/doc/images/qml-borderimage-normal-image.png Binary files differindex ae7460a7d7..fd0dd37c82 100644 --- a/src/quick/doc/images/qml-borderimage-normal-image.png +++ b/src/quick/doc/images/qml-borderimage-normal-image.png diff --git a/src/quick/doc/images/qml-borderimage-scaled.png b/src/quick/doc/images/qml-borderimage-scaled.png Binary files differindex 8035c79f37..e42891ecc7 100644 --- a/src/quick/doc/images/qml-borderimage-scaled.png +++ b/src/quick/doc/images/qml-borderimage-scaled.png diff --git a/src/quick/doc/images/qml-borderimage-tiled.png b/src/quick/doc/images/qml-borderimage-tiled.png Binary files differindex 14883d0dd6..e27d9601c4 100644 --- a/src/quick/doc/images/qml-borderimage-tiled.png +++ b/src/quick/doc/images/qml-borderimage-tiled.png diff --git a/src/quick/doc/images/qml-item-canvas-clip-complex.png b/src/quick/doc/images/qml-item-canvas-clip-complex.png Binary files differindex cb582bad41..92730ff2e0 100644 --- a/src/quick/doc/images/qml-item-canvas-clip-complex.png +++ b/src/quick/doc/images/qml-item-canvas-clip-complex.png diff --git a/src/quick/doc/images/qml-item-canvas-startAngle.png b/src/quick/doc/images/qml-item-canvas-startAngle.png Binary files differindex f81562e5e4..bf82c3aa4b 100644 --- a/src/quick/doc/images/qml-item-canvas-startAngle.png +++ b/src/quick/doc/images/qml-item-canvas-startAngle.png diff --git a/src/quick/doc/images/qml-mousearea-snippet.png b/src/quick/doc/images/qml-mousearea-snippet.png Binary files differindex 15229446c7..d1ddd8d2f5 100644 --- a/src/quick/doc/images/qml-mousearea-snippet.png +++ b/src/quick/doc/images/qml-mousearea-snippet.png diff --git a/src/quick/doc/images/qml-photoviewer-demo-small.png b/src/quick/doc/images/qml-photoviewer-demo-small.png Binary files differindex b16fb4e53a..ada37794ae 100644 --- a/src/quick/doc/images/qml-photoviewer-demo-small.png +++ b/src/quick/doc/images/qml-photoviewer-demo-small.png diff --git a/src/quick/doc/images/qml-rssnews-demo-small.png b/src/quick/doc/images/qml-rssnews-demo-small.png Binary files differindex 451a420623..299f72adc5 100644 --- a/src/quick/doc/images/qml-rssnews-demo-small.png +++ b/src/quick/doc/images/qml-rssnews-demo-small.png diff --git a/src/quick/doc/images/qmldesigner-visual-editor.png b/src/quick/doc/images/qmldesigner-visual-editor.png Binary files differindex 9cd4b8b2dc..94f8239ed4 100644 --- a/src/quick/doc/images/qmldesigner-visual-editor.png +++ b/src/quick/doc/images/qmldesigner-visual-editor.png diff --git a/src/quick/doc/qtquick.qdocconf b/src/quick/doc/qtquick.qdocconf index 4f141a733a..131cd758a5 100644 --- a/src/quick/doc/qtquick.qdocconf +++ b/src/quick/doc/qtquick.qdocconf @@ -65,6 +65,7 @@ sourcedirs += ../../plugins excludedirs += ../../imports/models \ ../../imports/statemachine +excludefiles += ../util/qquickpropertychanges_p.h examples.fileextensions += "*.qm" manifestmeta.thumbnail.names += "QtQuick/Threaded ListModel Example" \ diff --git a/src/quick/items/items.qrc b/src/quick/items/items.qrc index 671d8acdbb..99f9b5224f 100644 --- a/src/quick/items/items.qrc +++ b/src/quick/items/items.qrc @@ -1,5 +1,5 @@ <RCC> - <qresource prefix="/items"> + <qresource prefix="/qt-project.org/items"> <file>shaders/sprite.frag</file> <file>shaders/sprite.vert</file> <file>shaders/shadereffect.vert</file> diff --git a/src/quick/items/qquickanimatedsprite.cpp b/src/quick/items/qquickanimatedsprite.cpp index c32e9546a5..77c7ae106b 100644 --- a/src/quick/items/qquickanimatedsprite.cpp +++ b/src/quick/items/qquickanimatedsprite.cpp @@ -102,8 +102,8 @@ public: AnimatedSpriteMaterialData() : QSGMaterialShader() { - setShaderSourceFile(QOpenGLShader::Vertex, QStringLiteral(":/items/shaders/sprite.vert")); - setShaderSourceFile(QOpenGLShader::Fragment, QStringLiteral(":/items/shaders/sprite.frag")); + setShaderSourceFile(QOpenGLShader::Vertex, QStringLiteral(":/qt-project.org/items/shaders/sprite.vert")); + setShaderSourceFile(QOpenGLShader::Fragment, QStringLiteral(":/qt-project.org/items/shaders/sprite.frag")); } void updateState(const RenderState &state, QSGMaterial *newEffect, QSGMaterial *) Q_DECL_OVERRIDE diff --git a/src/quick/items/qquickimage.cpp b/src/quick/items/qquickimage.cpp index 8162eeb1bc..34b8f0ac49 100644 --- a/src/quick/items/qquickimage.cpp +++ b/src/quick/items/qquickimage.cpp @@ -697,17 +697,17 @@ QSGNode *QQuickImage::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *) break; case Pad: - qreal w = qMin(qreal(d->pix.width()), width()); - qreal h = qMin(qreal(d->pix.height()), height()); - qreal x = (d->pix.width() > width()) ? -xOffset : 0; - qreal y = (d->pix.height() > height()) ? -yOffset : 0; + qreal w = qMin(qreal(pixWidth), width()); + qreal h = qMin(qreal(pixHeight), height()); + qreal x = (pixWidth > width()) ? -xOffset : 0; + qreal y = (pixHeight > height()) ? -yOffset : 0; targetRect = QRectF(x + xOffset, y + yOffset, w, h); sourceRect = QRectF(x, y, w, h); break; }; - qreal nsWidth = (hWrap == QSGTexture::Repeat) ? d->pix.width() / d->devicePixelRatio : d->pix.width(); - qreal nsHeight = (vWrap == QSGTexture::Repeat) ? d->pix.height() / d->devicePixelRatio : d->pix.height(); + qreal nsWidth = (hWrap == QSGTexture::Repeat || d->fillMode == Pad) ? d->pix.width() / d->devicePixelRatio : d->pix.width(); + qreal nsHeight = (vWrap == QSGTexture::Repeat || d->fillMode == Pad) ? d->pix.height() / d->devicePixelRatio : d->pix.height(); QRectF nsrect(sourceRect.x() / nsWidth, sourceRect.y() / nsHeight, sourceRect.width() / nsWidth, diff --git a/src/quick/items/qquickshadereffect.cpp b/src/quick/items/qquickshadereffect.cpp index 0cfb85db97..41b7ea3896 100644 --- a/src/quick/items/qquickshadereffect.cpp +++ b/src/quick/items/qquickshadereffect.cpp @@ -1033,12 +1033,12 @@ QSGNode *QQuickShaderEffect::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeDa Key s = m_common.source; QSGShaderSourceBuilder builder; if (s.sourceCode[Key::FragmentShader].isEmpty()) { - builder.appendSourceFile(QStringLiteral(":/items/shaders/shadereffect.frag")); + builder.appendSourceFile(QStringLiteral(":/qt-project.org/items/shaders/shadereffect.frag")); s.sourceCode[Key::FragmentShader] = builder.source(); builder.clear(); } if (s.sourceCode[Key::VertexShader].isEmpty()) { - builder.appendSourceFile(QStringLiteral(":/items/shaders/shadereffect.vert")); + builder.appendSourceFile(QStringLiteral(":/qt-project.org/items/shaders/shadereffect.vert")); s.sourceCode[Key::VertexShader] = builder.source(); } s.className = metaObject()->className(); diff --git a/src/quick/items/qquickshadereffectnode.cpp b/src/quick/items/qquickshadereffectnode.cpp index 66154fac6d..a06fe26a9c 100644 --- a/src/quick/items/qquickshadereffectnode.cpp +++ b/src/quick/items/qquickshadereffectnode.cpp @@ -52,7 +52,7 @@ static bool hasAtlasTexture(const QVector<QSGTextureProvider *> &textureProvider { for (int i = 0; i < textureProviders.size(); ++i) { QSGTextureProvider *t = textureProviders.at(i); - if (t->texture() && t->texture()->isAtlasTexture()) + if (t && t->texture() && t->texture()->isAtlasTexture()) return true; } return false; @@ -305,8 +305,8 @@ void QQuickCustomMaterialShader::compile() QSGShaderSourceBuilder::initializeProgramFromFiles( program(), - QStringLiteral(":/items/shaders/shadereffectfallback.vert"), - QStringLiteral(":/items/shaders/shadereffectfallback.frag")); + QStringLiteral(":/qt-project.org/items/shaders/shadereffectfallback.vert"), + QStringLiteral(":/qt-project.org/items/shaders/shadereffectfallback.frag")); #ifndef QT_NO_DEBUG for (int i = 0; i < attrCount; ++i) { diff --git a/src/quick/items/qquickspritesequence.cpp b/src/quick/items/qquickspritesequence.cpp index 029beba1ff..f32e1afd50 100644 --- a/src/quick/items/qquickspritesequence.cpp +++ b/src/quick/items/qquickspritesequence.cpp @@ -101,8 +101,8 @@ public: SpriteSequenceMaterialData() : QSGMaterialShader() { - setShaderSourceFile(QOpenGLShader::Vertex, QStringLiteral(":/items/shaders/sprite.vert")); - setShaderSourceFile(QOpenGLShader::Fragment, QStringLiteral(":/items/shaders/sprite.frag")); + setShaderSourceFile(QOpenGLShader::Vertex, QStringLiteral(":/qt-project.org/items/shaders/sprite.vert")); + setShaderSourceFile(QOpenGLShader::Fragment, QStringLiteral(":/qt-project.org/items/shaders/sprite.frag")); } void updateState(const RenderState &state, QSGMaterial *newEffect, QSGMaterial *) Q_DECL_OVERRIDE diff --git a/src/quick/items/qquickview_p.h b/src/quick/items/qquickview_p.h index 6306066134..1bbff0de0e 100644 --- a/src/quick/items/qquickview_p.h +++ b/src/quick/items/qquickview_p.h @@ -76,7 +76,7 @@ class QQmlError; class QQuickItem; class QQmlComponent; -class QQuickViewPrivate : public QQuickWindowPrivate, +class Q_QUICK_PRIVATE_EXPORT QQuickViewPrivate : public QQuickWindowPrivate, public QQuickItemChangeListener { Q_DECLARE_PUBLIC(QQuickView) diff --git a/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp b/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp index bb5476c3e2..e657307efd 100644 --- a/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp +++ b/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp @@ -2104,8 +2104,8 @@ Renderer::ClipType Renderer::updateStencilClip(const QSGClipNode *clip) if (!m_clipProgram.isLinked()) { QSGShaderSourceBuilder::initializeProgramFromFiles( &m_clipProgram, - QStringLiteral(":/scenegraph/shaders/stencilclip.vert"), - QStringLiteral(":/scenegraph/shaders/stencilclip.frag")); + QStringLiteral(":/qt-project.org/scenegraph/shaders/stencilclip.vert"), + QStringLiteral(":/qt-project.org/scenegraph/shaders/stencilclip.frag")); m_clipProgram.bindAttributeLocation("vCoord", 0); m_clipProgram.link(); m_clipMatrixId = m_clipProgram.uniformLocation("matrix"); @@ -3115,8 +3115,8 @@ void Renderer::visualize() VisualizeShader *prog = new VisualizeShader(); QSGShaderSourceBuilder::initializeProgramFromFiles( prog, - QStringLiteral(":/scenegraph/shaders/visualization.vert"), - QStringLiteral(":/scenegraph/shaders/visualization.frag")); + QStringLiteral(":/qt-project.org/scenegraph/shaders/visualization.vert"), + QStringLiteral(":/qt-project.org/scenegraph/shaders/visualization.frag")); prog->bindAttributeLocation("v", 0); prog->link(); prog->bind(); diff --git a/src/quick/scenegraph/qsgdefaultglyphnode_p.cpp b/src/quick/scenegraph/qsgdefaultglyphnode_p.cpp index 78b803df83..3da7a10456 100644 --- a/src/quick/scenegraph/qsgdefaultglyphnode_p.cpp +++ b/src/quick/scenegraph/qsgdefaultglyphnode_p.cpp @@ -116,8 +116,8 @@ QSGTextMaskShader::QSGTextMaskShader(QFontEngine::GlyphFormat glyphFormat) , m_textureScale_id(-1) , m_glyphFormat(glyphFormat) { - setShaderSourceFile(QOpenGLShader::Vertex, QStringLiteral(":/scenegraph/shaders/textmask.vert")); - setShaderSourceFile(QOpenGLShader::Fragment, QStringLiteral(":/scenegraph/shaders/textmask.frag")); + setShaderSourceFile(QOpenGLShader::Vertex, QStringLiteral(":/qt-project.org/scenegraph/shaders/textmask.vert")); + setShaderSourceFile(QOpenGLShader::Fragment, QStringLiteral(":/qt-project.org/scenegraph/shaders/textmask.frag")); } static inline qreal fontSmoothingGamma() @@ -176,7 +176,7 @@ public: QSG8BitTextMaskShader(QFontEngine::GlyphFormat glyphFormat) : QSGTextMaskShader(glyphFormat) { - setShaderSourceFile(QOpenGLShader::Fragment, QStringLiteral(":/scenegraph/shaders/8bittextmask.frag")); + setShaderSourceFile(QOpenGLShader::Fragment, QStringLiteral(":/qt-project.org/scenegraph/shaders/8bittextmask.frag")); } virtual void updateState(const RenderState &state, QSGMaterial *newEffect, QSGMaterial *oldEffect); @@ -201,7 +201,7 @@ public: : QSGTextMaskShader(glyphFormat) , m_useSRGB(false) { - setShaderSourceFile(QOpenGLShader::Fragment, QStringLiteral(":/scenegraph/shaders/24bittextmask.frag")); + setShaderSourceFile(QOpenGLShader::Fragment, QStringLiteral(":/qt-project.org/scenegraph/shaders/24bittextmask.frag")); } virtual void updateState(const RenderState &state, QSGMaterial *newEffect, QSGMaterial *oldEffect); @@ -279,7 +279,7 @@ public: QSG32BitColorTextShader(QFontEngine::GlyphFormat glyphFormat) : QSGTextMaskShader(glyphFormat) { - setShaderSourceFile(QOpenGLShader::Fragment, QStringLiteral(":/scenegraph/shaders/32bitcolortext.frag")); + setShaderSourceFile(QOpenGLShader::Fragment, QStringLiteral(":/qt-project.org/scenegraph/shaders/32bitcolortext.frag")); } void updateState(const RenderState &state, QSGMaterial *newEffect, QSGMaterial *oldEffect) Q_DECL_OVERRIDE; @@ -303,8 +303,8 @@ public: QSGStyledTextShader(QFontEngine::GlyphFormat glyphFormat) : QSG8BitTextMaskShader(glyphFormat) { - setShaderSourceFile(QOpenGLShader::Vertex, QStringLiteral(":/scenegraph/shaders/styledtext.vert")); - setShaderSourceFile(QOpenGLShader::Fragment, QStringLiteral(":/scenegraph/shaders/styledtext.frag")); + setShaderSourceFile(QOpenGLShader::Vertex, QStringLiteral(":/qt-project.org/scenegraph/shaders/styledtext.vert")); + setShaderSourceFile(QOpenGLShader::Fragment, QStringLiteral(":/qt-project.org/scenegraph/shaders/styledtext.frag")); } virtual void updateState(const RenderState &state, QSGMaterial *newEffect, QSGMaterial *oldEffect); @@ -375,8 +375,8 @@ public: QSGOutlinedTextShader(QFontEngine::GlyphFormat glyphFormat) : QSGStyledTextShader(glyphFormat) { - setShaderSourceFile(QOpenGLShader::Vertex, QStringLiteral(":/scenegraph/shaders/outlinedtext.vert")); - setShaderSourceFile(QOpenGLShader::Fragment, QStringLiteral(":/scenegraph/shaders/outlinedtext.frag")); + setShaderSourceFile(QOpenGLShader::Vertex, QStringLiteral(":/qt-project.org/scenegraph/shaders/outlinedtext.vert")); + setShaderSourceFile(QOpenGLShader::Fragment, QStringLiteral(":/qt-project.org/scenegraph/shaders/outlinedtext.frag")); } }; diff --git a/src/quick/scenegraph/qsgdefaultimagenode.cpp b/src/quick/scenegraph/qsgdefaultimagenode.cpp index c26092e20c..bb4db150c0 100644 --- a/src/quick/scenegraph/qsgdefaultimagenode.cpp +++ b/src/quick/scenegraph/qsgdefaultimagenode.cpp @@ -111,8 +111,8 @@ QSGMaterialShader *QSGSmoothTextureMaterial::createShader() const SmoothTextureMaterialShader::SmoothTextureMaterialShader() : QSGTextureMaterialShader() { - setShaderSourceFile(QOpenGLShader::Vertex, QStringLiteral(":/scenegraph/shaders/smoothtexture.vert")); - setShaderSourceFile(QOpenGLShader::Fragment, QStringLiteral(":/scenegraph/shaders/smoothtexture.frag")); + setShaderSourceFile(QOpenGLShader::Vertex, QStringLiteral(":/qt-project.org/scenegraph/shaders/smoothtexture.vert")); + setShaderSourceFile(QOpenGLShader::Fragment, QStringLiteral(":/qt-project.org/scenegraph/shaders/smoothtexture.frag")); } void SmoothTextureMaterialShader::updateState(const RenderState &state, QSGMaterial *newEffect, QSGMaterial *oldEffect) diff --git a/src/quick/scenegraph/qsgdefaultrectanglenode.cpp b/src/quick/scenegraph/qsgdefaultrectanglenode.cpp index 551575573e..5ef52e8722 100644 --- a/src/quick/scenegraph/qsgdefaultrectanglenode.cpp +++ b/src/quick/scenegraph/qsgdefaultrectanglenode.cpp @@ -124,8 +124,8 @@ private: SmoothColorMaterialShader::SmoothColorMaterialShader() : QSGMaterialShader() { - setShaderSourceFile(QOpenGLShader::Vertex, QStringLiteral(":/scenegraph/shaders/smoothcolor.vert")); - setShaderSourceFile(QOpenGLShader::Fragment, QStringLiteral(":/scenegraph/shaders/smoothcolor.frag")); + setShaderSourceFile(QOpenGLShader::Vertex, QStringLiteral(":/qt-project.org/scenegraph/shaders/smoothcolor.vert")); + setShaderSourceFile(QOpenGLShader::Fragment, QStringLiteral(":/qt-project.org/scenegraph/shaders/smoothcolor.frag")); } void SmoothColorMaterialShader::updateState(const RenderState &state, QSGMaterial *, QSGMaterial *oldEffect) diff --git a/src/quick/scenegraph/qsgdistancefieldglyphnode_p.cpp b/src/quick/scenegraph/qsgdistancefieldglyphnode_p.cpp index 6a49c90cc5..ca91e5d85f 100644 --- a/src/quick/scenegraph/qsgdistancefieldglyphnode_p.cpp +++ b/src/quick/scenegraph/qsgdistancefieldglyphnode_p.cpp @@ -94,8 +94,8 @@ QSGDistanceFieldTextMaterialShader::QSGDistanceFieldTextMaterialShader() , m_lastAlphaMin(-1) , m_lastAlphaMax(-1) { - setShaderSourceFile(QOpenGLShader::Vertex, QStringLiteral(":/scenegraph/shaders/distancefieldtext.vert")); - setShaderSourceFile(QOpenGLShader::Fragment, QStringLiteral(":/scenegraph/shaders/distancefieldtext.frag")); + setShaderSourceFile(QOpenGLShader::Vertex, QStringLiteral(":/qt-project.org/scenegraph/shaders/distancefieldtext.vert")); + setShaderSourceFile(QOpenGLShader::Fragment, QStringLiteral(":/qt-project.org/scenegraph/shaders/distancefieldtext.frag")); } void QSGDistanceFieldTextMaterialShader::updateAlphaRange(ThresholdFunc thresholdFunc, AntialiasingSpreadFunc spreadFunc) @@ -345,7 +345,7 @@ DistanceFieldOutlineTextMaterialShader::DistanceFieldOutlineTextMaterialShader() , m_outlineAlphaMax0_id(-1) , m_outlineAlphaMax1_id(-1) { - setShaderSourceFile(QOpenGLShader::Fragment, QStringLiteral(":/scenegraph/shaders/distancefieldoutlinetext.frag")); + setShaderSourceFile(QOpenGLShader::Fragment, QStringLiteral(":/qt-project.org/scenegraph/shaders/distancefieldoutlinetext.frag")); } void DistanceFieldOutlineTextMaterialShader::initialize() @@ -427,8 +427,8 @@ DistanceFieldShiftedStyleTextMaterialShader::DistanceFieldShiftedStyleTextMateri : DistanceFieldStyledTextMaterialShader() , m_shift_id(-1) { - setShaderSourceFile(QOpenGLShader::Vertex, QStringLiteral(":/scenegraph/shaders/distancefieldshiftedtext.vert")); - setShaderSourceFile(QOpenGLShader::Fragment, QStringLiteral(":/scenegraph/shaders/distancefieldshiftedtext.frag")); + setShaderSourceFile(QOpenGLShader::Vertex, QStringLiteral(":/qt-project.org/scenegraph/shaders/distancefieldshiftedtext.vert")); + setShaderSourceFile(QOpenGLShader::Fragment, QStringLiteral(":/qt-project.org/scenegraph/shaders/distancefieldshiftedtext.frag")); } void DistanceFieldShiftedStyleTextMaterialShader::initialize() @@ -507,8 +507,8 @@ QSGHiQSubPixelDistanceFieldTextMaterialShader::QSGHiQSubPixelDistanceFieldTextMa , m_fontScale_id(-1) , m_vecDelta_id(-1) { - setShaderSourceFile(QOpenGLShader::Vertex, QStringLiteral(":/scenegraph/shaders/hiqsubpixeldistancefieldtext.vert")); - setShaderSourceFile(QOpenGLShader::Fragment, QStringLiteral(":/scenegraph/shaders/hiqsubpixeldistancefieldtext.frag")); + setShaderSourceFile(QOpenGLShader::Vertex, QStringLiteral(":/qt-project.org/scenegraph/shaders/hiqsubpixeldistancefieldtext.vert")); + setShaderSourceFile(QOpenGLShader::Fragment, QStringLiteral(":/qt-project.org/scenegraph/shaders/hiqsubpixeldistancefieldtext.frag")); } void QSGHiQSubPixelDistanceFieldTextMaterialShader::initialize() @@ -574,8 +574,8 @@ public: QSGLoQSubPixelDistanceFieldTextMaterialShader::QSGLoQSubPixelDistanceFieldTextMaterialShader() : QSGHiQSubPixelDistanceFieldTextMaterialShader() { - setShaderSourceFile(QOpenGLShader::Vertex, QStringLiteral(":/scenegraph/shaders/loqsubpixeldistancefieldtext.vert")); - setShaderSourceFile(QOpenGLShader::Fragment, QStringLiteral(":/scenegraph/shaders/loqsubpixeldistancefieldtext.frag")); + setShaderSourceFile(QOpenGLShader::Vertex, QStringLiteral(":/qt-project.org/scenegraph/shaders/loqsubpixeldistancefieldtext.vert")); + setShaderSourceFile(QOpenGLShader::Fragment, QStringLiteral(":/qt-project.org/scenegraph/shaders/loqsubpixeldistancefieldtext.frag")); } QSGMaterialType *QSGLoQSubPixelDistanceFieldTextMaterial::type() const diff --git a/src/quick/scenegraph/scenegraph.qrc b/src/quick/scenegraph/scenegraph.qrc index 5db242e46b..ef6da71334 100644 --- a/src/quick/scenegraph/scenegraph.qrc +++ b/src/quick/scenegraph/scenegraph.qrc @@ -1,5 +1,5 @@ <RCC> - <qresource prefix="/scenegraph"> + <qresource prefix="/qt-project.org/scenegraph"> <file>shaders/flatcolor.frag</file> <file>shaders/flatcolor.vert</file> <file>shaders/8bittextmask.frag</file> diff --git a/src/quick/scenegraph/util/qsgflatcolormaterial.cpp b/src/quick/scenegraph/util/qsgflatcolormaterial.cpp index 005c7a043d..836b5759a2 100644 --- a/src/quick/scenegraph/util/qsgflatcolormaterial.cpp +++ b/src/quick/scenegraph/util/qsgflatcolormaterial.cpp @@ -66,8 +66,8 @@ QSGMaterialType FlatColorMaterialShader::type; FlatColorMaterialShader::FlatColorMaterialShader() : QSGMaterialShader(*new QSGMaterialShaderPrivate) { - setShaderSourceFile(QOpenGLShader::Vertex, QStringLiteral(":/scenegraph/shaders/flatcolor.vert")); - setShaderSourceFile(QOpenGLShader::Fragment, QStringLiteral(":/scenegraph/shaders/flatcolor.frag")); + setShaderSourceFile(QOpenGLShader::Vertex, QStringLiteral(":/qt-project.org/scenegraph/shaders/flatcolor.vert")); + setShaderSourceFile(QOpenGLShader::Fragment, QStringLiteral(":/qt-project.org/scenegraph/shaders/flatcolor.frag")); } void FlatColorMaterialShader::updateState(const RenderState &state, QSGMaterial *newEffect, QSGMaterial *oldEffect) diff --git a/src/quick/scenegraph/util/qsgtexturematerial.cpp b/src/quick/scenegraph/util/qsgtexturematerial.cpp index 4eb38842dc..66e87a77a8 100644 --- a/src/quick/scenegraph/util/qsgtexturematerial.cpp +++ b/src/quick/scenegraph/util/qsgtexturematerial.cpp @@ -56,8 +56,8 @@ QSGMaterialType QSGOpaqueTextureMaterialShader::type; QSGOpaqueTextureMaterialShader::QSGOpaqueTextureMaterialShader() : QSGMaterialShader() { - setShaderSourceFile(QOpenGLShader::Vertex, QStringLiteral(":/scenegraph/shaders/opaquetexture.vert")); - setShaderSourceFile(QOpenGLShader::Fragment, QStringLiteral(":/scenegraph/shaders/opaquetexture.frag")); + setShaderSourceFile(QOpenGLShader::Vertex, QStringLiteral(":/qt-project.org/scenegraph/shaders/opaquetexture.vert")); + setShaderSourceFile(QOpenGLShader::Fragment, QStringLiteral(":/qt-project.org/scenegraph/shaders/opaquetexture.frag")); } char const *const *QSGOpaqueTextureMaterialShader::attributeNames() const @@ -362,7 +362,7 @@ QSGMaterialShader *QSGTextureMaterial::createShader() const QSGTextureMaterialShader::QSGTextureMaterialShader() : QSGOpaqueTextureMaterialShader() { - setShaderSourceFile(QOpenGLShader::Fragment, QStringLiteral(":/scenegraph/shaders/texture.frag")); + setShaderSourceFile(QOpenGLShader::Fragment, QStringLiteral(":/qt-project.org/scenegraph/shaders/texture.frag")); } void QSGTextureMaterialShader::updateState(const RenderState &state, QSGMaterial *newEffect, QSGMaterial *oldEffect) diff --git a/src/quick/scenegraph/util/qsgvertexcolormaterial.cpp b/src/quick/scenegraph/util/qsgvertexcolormaterial.cpp index 91d7ece90d..8e86b3906f 100644 --- a/src/quick/scenegraph/util/qsgvertexcolormaterial.cpp +++ b/src/quick/scenegraph/util/qsgvertexcolormaterial.cpp @@ -65,8 +65,8 @@ QSGMaterialType QSGVertexColorMaterialShader::type; QSGVertexColorMaterialShader::QSGVertexColorMaterialShader() : QSGMaterialShader() { - setShaderSourceFile(QOpenGLShader::Vertex, QStringLiteral(":/scenegraph/shaders/vertexcolor.vert")); - setShaderSourceFile(QOpenGLShader::Fragment, QStringLiteral(":/scenegraph/shaders/vertexcolor.frag")); + setShaderSourceFile(QOpenGLShader::Vertex, QStringLiteral(":/qt-project.org/scenegraph/shaders/vertexcolor.vert")); + setShaderSourceFile(QOpenGLShader::Fragment, QStringLiteral(":/qt-project.org/scenegraph/shaders/vertexcolor.frag")); } void QSGVertexColorMaterialShader::updateState(const RenderState &state, QSGMaterial * /*newEffect*/, QSGMaterial *) diff --git a/src/quick/util/qquickanimation.cpp b/src/quick/util/qquickanimation.cpp index 51212661c9..adf8f600a0 100644 --- a/src/quick/util/qquickanimation.cpp +++ b/src/quick/util/qquickanimation.cpp @@ -1441,7 +1441,7 @@ QQuickVector3dAnimation::~QQuickVector3dAnimation() } /*! - \qmlproperty real QtQuick::Vector3dAnimation::from + \qmlproperty vector3d QtQuick::Vector3dAnimation::from This property holds the starting value for the animation. If the Vector3dAnimation is defined within a \l Transition or \l Behavior, @@ -1463,7 +1463,7 @@ void QQuickVector3dAnimation::setFrom(QVector3D f) } /*! - \qmlproperty real QtQuick::Vector3dAnimation::to + \qmlproperty vector3d QtQuick::Vector3dAnimation::to This property holds the end value for the animation. If the Vector3dAnimation is defined within a \l Transition or \l Behavior, diff --git a/src/quick/util/qquickanimatorjob.cpp b/src/quick/util/qquickanimatorjob.cpp index d7be237a39..8d5ecadab5 100644 --- a/src/quick/util/qquickanimatorjob.cpp +++ b/src/quick/util/qquickanimatorjob.cpp @@ -238,6 +238,10 @@ void QQuickAnimatorJob::debugAnimation(QDebug d) const << "target:" << m_target << "value:" << m_value; } +qreal QQuickAnimatorJob::progress(int time) const +{ + return m_easing.valueForProgress((m_duration == 0) ? qreal(1) : qreal(time) / qreal(m_duration)); +} qreal QQuickAnimatorJob::value() const { qreal v; @@ -388,7 +392,7 @@ void QQuickXAnimatorJob::updateCurrentTime(int time) return; Q_ASSERT(!m_controller->m_window->openglContext() || m_controller->m_window->openglContext()->thread() == QThread::currentThread()); - m_value = m_from + (m_to - m_from) * m_easing.valueForProgress(time / (qreal) m_duration); + m_value = m_from + (m_to - m_from) * progress(time); m_helper->dx = m_value; m_helper->wasChanged = true; } @@ -405,7 +409,7 @@ void QQuickYAnimatorJob::updateCurrentTime(int time) return; Q_ASSERT(!m_controller->m_window->openglContext() || m_controller->m_window->openglContext()->thread() == QThread::currentThread()); - m_value = m_from + (m_to - m_from) * m_easing.valueForProgress(time / (qreal) m_duration); + m_value = m_from + (m_to - m_from) * progress(time); m_helper->dy = m_value; m_helper->wasChanged = true; } @@ -475,7 +479,7 @@ void QQuickOpacityAnimatorJob::updateCurrentTime(int time) return; Q_ASSERT(!m_controller->m_window->openglContext() || m_controller->m_window->openglContext()->thread() == QThread::currentThread()); - m_value = m_from + (m_to - m_from) * m_easing.valueForProgress(time / (qreal) m_duration); + m_value = m_from + (m_to - m_from) * progress(time); m_opacityNode->setOpacity(m_value); } @@ -491,7 +495,7 @@ void QQuickScaleAnimatorJob::updateCurrentTime(int time) return; Q_ASSERT(!m_controller->m_window->openglContext() || m_controller->m_window->openglContext()->thread() == QThread::currentThread()); - m_value = m_from + (m_to - m_from) * m_easing.valueForProgress(time / (qreal) m_duration); + m_value = m_from + (m_to - m_from) * progress(time); m_helper->scale = m_value; m_helper->wasChanged = true; } @@ -511,7 +515,8 @@ void QQuickRotationAnimatorJob::updateCurrentTime(int time) return; Q_ASSERT(!m_controller->m_window->openglContext() || m_controller->m_window->openglContext()->thread() == QThread::currentThread()); - float t = m_easing.valueForProgress(time / (qreal) m_duration); + float t = progress(time); + switch (m_direction) { case QQuickRotationAnimator::Clockwise: m_value = _q_interpolateClockwiseRotation(m_from, m_to, t).toFloat(); @@ -594,7 +599,7 @@ void QQuickUniformAnimatorJob::updateCurrentTime(int time) if (!m_node || m_uniformIndex == -1 || m_uniformType == -1) return; - m_value = m_from + (m_to - m_from) * m_easing.valueForProgress(time / (qreal) m_duration); + m_value = m_from + (m_to - m_from) * progress(time); QQuickShaderEffectMaterial *material = static_cast<QQuickShaderEffectMaterial *>(m_node->material()); diff --git a/src/quick/util/qquickanimatorjob_p.h b/src/quick/util/qquickanimatorjob_p.h index 71c1e93746..2b910d3737 100644 --- a/src/quick/util/qquickanimatorjob_p.h +++ b/src/quick/util/qquickanimatorjob_p.h @@ -158,6 +158,8 @@ protected: QQuickAnimatorJob(); void debugAnimation(QDebug d) const Q_DECL_OVERRIDE; + qreal progress(int time) const; + QPointer<QQuickItem> m_target; QQuickAnimatorController *m_controller; diff --git a/src/quick/util/qquickpixmapcache.cpp b/src/quick/util/qquickpixmapcache.cpp index 7d9997b9c8..6dee84b005 100644 --- a/src/quick/util/qquickpixmapcache.cpp +++ b/src/quick/util/qquickpixmapcache.cpp @@ -515,7 +515,6 @@ void QQuickPixmapReader::asyncResponseFinished(QQuickImageResponse *response) QQuickTextureFactory *t = 0; QQuickPixmapReply::ReadError error = QQuickPixmapReply::NoError; QString errorString; - QSize readSize; if (!response->errorString().isEmpty()) { error = QQuickPixmapReply::Loading; errorString = response->errorString(); diff --git a/tests/auto/particles/shared/table.png b/tests/auto/particles/shared/table.png Binary files differindex a62ceeb4a0..15509ab5b7 100644 --- a/tests/auto/particles/shared/table.png +++ b/tests/auto/particles/shared/table.png diff --git a/tests/auto/qml/debugger/qqmldebuglocal/tst_qqmldebuglocal.pro b/tests/auto/qml/debugger/qqmldebuglocal/tst_qqmldebuglocal.pro deleted file mode 100644 index e69de29bb2..0000000000 --- a/tests/auto/qml/debugger/qqmldebuglocal/tst_qqmldebuglocal.pro +++ /dev/null diff --git a/tests/auto/qml/debugger/qqmlprofilerservice/data/TestImage_2x2.png b/tests/auto/qml/debugger/qqmlprofilerservice/data/TestImage_2x2.png Binary files differindex 30228cbbdc..b54163f926 100644 --- a/tests/auto/qml/debugger/qqmlprofilerservice/data/TestImage_2x2.png +++ b/tests/auto/qml/debugger/qqmlprofilerservice/data/TestImage_2x2.png diff --git a/tests/auto/qmltest/animators/tst_zeroduration.qml b/tests/auto/qmltest/animators/tst_zeroduration.qml new file mode 100644 index 0000000000..83ce235f42 --- /dev/null +++ b/tests/auto/qmltest/animators/tst_zeroduration.qml @@ -0,0 +1,35 @@ +import QtQuick 2.2 +import QtTest 1.1 + +Item { + id: root; + width: 200 + height: 200 + + TestCase { + id: testCase + name: "animators-y" + when: box.y == 100 + function test_endresult() { + compare(box.yChangeCounter, 1); + var image = grabImage(root); + verify(image.pixel(0, 100) == Qt.rgba(1, 0, 0)); + verify(image.pixel(0, 99) == Qt.rgba(1, 1, 1)); // outside on the top + } + } + + Box { + id: box + + anchors.centerIn: undefined + + YAnimator { + id: animation + target: box + from: 0; + to: 100 + duration: 0 + running: true + } + } +} diff --git a/tests/auto/qmltest/borderimage/colors.png b/tests/auto/qmltest/borderimage/colors.png Binary files differindex dfb62f3d64..57f5aca821 100644 --- a/tests/auto/qmltest/borderimage/colors.png +++ b/tests/auto/qmltest/borderimage/colors.png diff --git a/tests/auto/quick/qquickanimatedimage/data/green.png b/tests/auto/quick/qquickanimatedimage/data/green.png Binary files differindex 0a2e153ba1..4718c00e62 100644 --- a/tests/auto/quick/qquickanimatedimage/data/green.png +++ b/tests/auto/quick/qquickanimatedimage/data/green.png diff --git a/tests/auto/quick/qquickborderimage/data/colors.png b/tests/auto/quick/qquickborderimage/data/colors.png Binary files differindex dfb62f3d64..57f5aca821 100644 --- a/tests/auto/quick/qquickborderimage/data/colors.png +++ b/tests/auto/quick/qquickborderimage/data/colors.png diff --git a/tests/auto/quick/qquickimage/data/colors.png b/tests/auto/quick/qquickimage/data/colors.png Binary files differindex dfb62f3d64..57f5aca821 100644 --- a/tests/auto/quick/qquickimage/data/colors.png +++ b/tests/auto/quick/qquickimage/data/colors.png diff --git a/tests/auto/quick/qquickimage/data/colors1.png b/tests/auto/quick/qquickimage/data/colors1.png Binary files differindex dfb62f3d64..57f5aca821 100644 --- a/tests/auto/quick/qquickimage/data/colors1.png +++ b/tests/auto/quick/qquickimage/data/colors1.png diff --git a/tests/auto/quick/qquickimage/data/green.png b/tests/auto/quick/qquickimage/data/green.png Binary files differindex 0a2e153ba1..4718c00e62 100644 --- a/tests/auto/quick/qquickimage/data/green.png +++ b/tests/auto/quick/qquickimage/data/green.png diff --git a/tests/auto/quick/qquickimage/data/rect.png b/tests/auto/quick/qquickimage/data/rect.png Binary files differindex d564a2d5a5..fe839a40e4 100644 --- a/tests/auto/quick/qquickimage/data/rect.png +++ b/tests/auto/quick/qquickimage/data/rect.png diff --git a/tests/auto/quick/qquickpixmapcache/data/massive.png b/tests/auto/quick/qquickpixmapcache/data/massive.png Binary files differindex bc6cc9e6ca..9a3e0e112f 100644 --- a/tests/auto/quick/qquickpixmapcache/data/massive.png +++ b/tests/auto/quick/qquickpixmapcache/data/massive.png diff --git a/tests/auto/quick/qquickstates/data/image.png b/tests/auto/quick/qquickstates/data/image.png Binary files differindex ed1833c95b..0e681ba1e1 100644 --- a/tests/auto/quick/qquickstates/data/image.png +++ b/tests/auto/quick/qquickstates/data/image.png diff --git a/tests/auto/quick/qquickwindow/data/colors.png b/tests/auto/quick/qquickwindow/data/colors.png Binary files differindex dfb62f3d64..57f5aca821 100644 --- a/tests/auto/quick/qquickwindow/data/colors.png +++ b/tests/auto/quick/qquickwindow/data/colors.png diff --git a/tests/benchmarks/benchmarks.pro b/tests/benchmarks/benchmarks.pro new file mode 100644 index 0000000000..c7e7c6829a --- /dev/null +++ b/tests/benchmarks/benchmarks.pro @@ -0,0 +1,5 @@ +TEMPLATE = subdirs +SUBDIRS = qml script +contains(QT_CONFIG, private_tests) { + SUBDIRS += particles +} diff --git a/tests/benchmarks/particles/affectors/affectors.pro b/tests/benchmarks/particles/affectors/affectors.pro index 88d260591e..3351228a4b 100644 --- a/tests/benchmarks/particles/affectors/affectors.pro +++ b/tests/benchmarks/particles/affectors/affectors.pro @@ -1,4 +1,4 @@ -CONFIG += testcase +CONFIG += benchmark TARGET = tst_affectors SOURCES += tst_affectors.cpp macx:CONFIG -= app_bundle diff --git a/tests/benchmarks/particles/affectors/tst_affectors.cpp b/tests/benchmarks/particles/affectors/tst_affectors.cpp index 1b3ed676dc..475b8d28ec 100644 --- a/tests/benchmarks/particles/affectors/tst_affectors.cpp +++ b/tests/benchmarks/particles/affectors/tst_affectors.cpp @@ -90,7 +90,7 @@ void tst_affectors::test_basic() if (d->t == -1) continue; //Particle data unused - if (d->stillAlive()) + if (d->stillAlive(system)) stillAlive++; QCOMPARE(d->x, 0.f); QCOMPARE(d->y, 0.f); @@ -130,7 +130,7 @@ void tst_affectors::test_filtered() if (d->t == -1) continue; //Particle data unused - if (d->stillAlive()) + if (d->stillAlive(system)) stillAlive++; QCOMPARE(d->x, 160.f); QCOMPARE(d->y, 160.f); diff --git a/tests/benchmarks/particles/emission/emission.pro b/tests/benchmarks/particles/emission/emission.pro index 3a49405730..f6730e60ff 100644 --- a/tests/benchmarks/particles/emission/emission.pro +++ b/tests/benchmarks/particles/emission/emission.pro @@ -1,4 +1,4 @@ -CONFIG += testcase +CONFIG += benchmark TARGET = tst_emission SOURCES += tst_emission.cpp macx:CONFIG -= app_bundle diff --git a/tests/benchmarks/particles/emission/tst_emission.cpp b/tests/benchmarks/particles/emission/tst_emission.cpp index 4ce201a2c0..b107120a28 100644 --- a/tests/benchmarks/particles/emission/tst_emission.cpp +++ b/tests/benchmarks/particles/emission/tst_emission.cpp @@ -83,7 +83,7 @@ void tst_emission::test_basic() if (d->t == -1) continue; //Particle data unused - if (d->stillAlive()) + if (d->stillAlive(system)) stillAlive++; QCOMPARE(d->x, 0.f); QCOMPARE(d->y, 0.f); diff --git a/tests/benchmarks/qml/animation/animation.pro b/tests/benchmarks/qml/animation/animation.pro index 6369ecddd1..43cf6ccdde 100644 --- a/tests/benchmarks/qml/animation/animation.pro +++ b/tests/benchmarks/qml/animation/animation.pro @@ -1,4 +1,4 @@ -CONFIG += testcase +CONFIG += benchmark TEMPLATE = app TARGET = tst_animation QT += qml testlib core-private gui-private qml-private quick-private diff --git a/tests/benchmarks/qml/binding/binding.pro b/tests/benchmarks/qml/binding/binding.pro index 776c8390a3..f6e450b0ba 100644 --- a/tests/benchmarks/qml/binding/binding.pro +++ b/tests/benchmarks/qml/binding/binding.pro @@ -1,4 +1,4 @@ -CONFIG += testcase +CONFIG += benchmark TEMPLATE = app TARGET = tst_binding QT += qml testlib diff --git a/tests/benchmarks/qml/compilation/compilation.pro b/tests/benchmarks/qml/compilation/compilation.pro index 31abb23e69..8aec60f3e4 100644 --- a/tests/benchmarks/qml/compilation/compilation.pro +++ b/tests/benchmarks/qml/compilation/compilation.pro @@ -1,4 +1,4 @@ -CONFIG += testcase +CONFIG += benchmark TEMPLATE = app TARGET = tst_compilation QT += qml qml-private testlib core-private diff --git a/tests/benchmarks/qml/creation/creation.pro b/tests/benchmarks/qml/creation/creation.pro index ef7a8cf2ce..bb4d2841fe 100644 --- a/tests/benchmarks/qml/creation/creation.pro +++ b/tests/benchmarks/qml/creation/creation.pro @@ -1,4 +1,4 @@ -CONFIG += testcase +CONFIG += benchmark TEMPLATE = app TARGET = tst_creation QT += core-private gui-private qml-private quick-private widgets testlib diff --git a/tests/benchmarks/qml/holistic/holistic.pro b/tests/benchmarks/qml/holistic/holistic.pro index 82f2ef6e4e..60b7dbe6cc 100644 --- a/tests/benchmarks/qml/holistic/holistic.pro +++ b/tests/benchmarks/qml/holistic/holistic.pro @@ -1,4 +1,4 @@ -CONFIG += testcase +CONFIG += benchmark TEMPLATE = app TARGET = tst_holistic QT += qml network testlib diff --git a/tests/benchmarks/qml/javascript/javascript.pro b/tests/benchmarks/qml/javascript/javascript.pro index 281bbd0069..945fff7000 100644 --- a/tests/benchmarks/qml/javascript/javascript.pro +++ b/tests/benchmarks/qml/javascript/javascript.pro @@ -1,4 +1,4 @@ -CONFIG += testcase +CONFIG += benchmark TEMPLATE = app TARGET = tst_javascript QT += qml testlib diff --git a/tests/benchmarks/qml/js/qjsengine/qjsengine.pro b/tests/benchmarks/qml/js/qjsengine/qjsengine.pro index f8f2874a63..e49a48f779 100644 --- a/tests/benchmarks/qml/js/qjsengine/qjsengine.pro +++ b/tests/benchmarks/qml/js/qjsengine/qjsengine.pro @@ -1,4 +1,3 @@ -CONFIG += testcase TEMPLATE = app TARGET = tst_bench_qjsengine diff --git a/tests/benchmarks/qml/js/qjsvalue/qjsvalue.pro b/tests/benchmarks/qml/js/qjsvalue/qjsvalue.pro index 772aa5da8c..c646613799 100644 --- a/tests/benchmarks/qml/js/qjsvalue/qjsvalue.pro +++ b/tests/benchmarks/qml/js/qjsvalue/qjsvalue.pro @@ -1,4 +1,4 @@ -CONFIG += testcase +CONFIG += benchmark TEMPLATE = app TARGET = tst_bench_qjsvalue diff --git a/tests/benchmarks/qml/js/qjsvalueiterator/qjsvalueiterator.pro b/tests/benchmarks/qml/js/qjsvalueiterator/qjsvalueiterator.pro index 7601789ca9..8222a13a7d 100644 --- a/tests/benchmarks/qml/js/qjsvalueiterator/qjsvalueiterator.pro +++ b/tests/benchmarks/qml/js/qjsvalueiterator/qjsvalueiterator.pro @@ -1,4 +1,4 @@ -CONFIG += testcase +CONFIG += benchmark TEMPLATE = app TARGET = tst_bench_qjsvalueiterator diff --git a/tests/benchmarks/qml/librarymetrics_performance/data/green.png b/tests/benchmarks/qml/librarymetrics_performance/data/green.png Binary files differindex 0a2e153ba1..4718c00e62 100644 --- a/tests/benchmarks/qml/librarymetrics_performance/data/green.png +++ b/tests/benchmarks/qml/librarymetrics_performance/data/green.png diff --git a/tests/benchmarks/qml/librarymetrics_performance/librarymetrics_performance.pro b/tests/benchmarks/qml/librarymetrics_performance/librarymetrics_performance.pro index 7cfa843a2f..3bedc0ea18 100644 --- a/tests/benchmarks/qml/librarymetrics_performance/librarymetrics_performance.pro +++ b/tests/benchmarks/qml/librarymetrics_performance/librarymetrics_performance.pro @@ -1,4 +1,4 @@ -CONFIG += testcase +CONFIG += benchmark TEMPLATE = app TARGET = tst_librarymetrics_performance diff --git a/tests/benchmarks/qml/painting/data/63x63.png b/tests/benchmarks/qml/painting/data/63x63.png Binary files differindex d9efda8a7a..4480496818 100644 --- a/tests/benchmarks/qml/painting/data/63x63.png +++ b/tests/benchmarks/qml/painting/data/63x63.png diff --git a/tests/benchmarks/qml/painting/data/63x63_opaque.png b/tests/benchmarks/qml/painting/data/63x63_opaque.png Binary files differindex d1429080db..dbe96edb35 100644 --- a/tests/benchmarks/qml/painting/data/63x63_opaque.png +++ b/tests/benchmarks/qml/painting/data/63x63_opaque.png diff --git a/tests/benchmarks/qml/painting/data/64x64.png b/tests/benchmarks/qml/painting/data/64x64.png Binary files differindex b149f33c3d..c718728a44 100644 --- a/tests/benchmarks/qml/painting/data/64x64.png +++ b/tests/benchmarks/qml/painting/data/64x64.png diff --git a/tests/benchmarks/qml/painting/data/64x64_opaque.png b/tests/benchmarks/qml/painting/data/64x64_opaque.png Binary files differindex 94c07f3b3e..73e816465d 100644 --- a/tests/benchmarks/qml/painting/data/64x64_opaque.png +++ b/tests/benchmarks/qml/painting/data/64x64_opaque.png diff --git a/tests/benchmarks/qml/pointers/pointers.pro b/tests/benchmarks/qml/pointers/pointers.pro deleted file mode 100644 index a2c9a0828f..0000000000 --- a/tests/benchmarks/qml/pointers/pointers.pro +++ /dev/null @@ -1,7 +0,0 @@ -CONFIG += testcase -QT += core-private qml-private testlib -TEMPLATE = app -TARGET = tst_pointers -macx:CONFIG -= app_bundle - -SOURCES += tst_pointers.cpp diff --git a/tests/benchmarks/qml/pointers/tst_pointers.cpp b/tests/benchmarks/qml/pointers/tst_pointers.cpp deleted file mode 100644 index a17987fe89..0000000000 --- a/tests/benchmarks/qml/pointers/tst_pointers.cpp +++ /dev/null @@ -1,64 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the test suite of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:GPL-EXCEPT$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include <qtest.h> -#include <QtQml/private/qqmlguard_p.h> -#include <QWeakPointer> - -class tst_pointers : public QObject -{ - Q_OBJECT - -public: - tst_pointers() {} - -private slots: - void qmlguard(); - void weakPointer(); -}; - -void tst_pointers::qmlguard() -{ - QObject *obj = new QObject; - QBENCHMARK { - QQmlGuard<QObject> guardedObject; - guardedObject = obj; - } -} - -void tst_pointers::weakPointer() -{ - QObject *obj = new QObject; - QBENCHMARK { - QPointer<QObject> guardedObject; - guardedObject = obj; - } -} - -QTEST_MAIN(tst_pointers) -#include "tst_pointers.moc" diff --git a/tests/benchmarks/qml/qml.pro b/tests/benchmarks/qml/qml.pro index 9c7583cd3b..7969866673 100644 --- a/tests/benchmarks/qml/qml.pro +++ b/tests/benchmarks/qml/qml.pro @@ -2,19 +2,16 @@ TEMPLATE = subdirs SUBDIRS += \ binding \ - creation \ compilation \ javascript \ holistic \ - pointers \ qqmlcomponent \ qqmlimage \ qqmlmetaproperty \ # script \ ### FIXME: doesn't build - qmltime \ - js \ - qquickwindow + js -qtHaveModule(opengl): SUBDIRS += painting +qtHaveModule(opengl): SUBDIRS += painting qquickwindow +qtHaveModule(widgets): SUBDIRS += creation include(../trusted-benchmarks.pri) diff --git a/tests/benchmarks/qml/qqmlcomponent/qqmlcomponent.pro b/tests/benchmarks/qml/qqmlcomponent/qqmlcomponent.pro index ba41f5a95b..c867065616 100644 --- a/tests/benchmarks/qml/qqmlcomponent/qqmlcomponent.pro +++ b/tests/benchmarks/qml/qqmlcomponent/qqmlcomponent.pro @@ -1,4 +1,4 @@ -CONFIG += testcase +CONFIG += benchmark TEMPLATE = app TARGET = tst_qqmlcomponent QT += qml testlib diff --git a/tests/benchmarks/qml/qqmldebugtrace/qqmldebugtrace.pro b/tests/benchmarks/qml/qqmldebugtrace/qqmldebugtrace.pro index ebf0ae074f..556842af80 100644 --- a/tests/benchmarks/qml/qqmldebugtrace/qqmldebugtrace.pro +++ b/tests/benchmarks/qml/qqmldebugtrace/qqmldebugtrace.pro @@ -1,4 +1,4 @@ -CONFIG += testcase +CONFIG += benchmark QT += qml testlib TEMPLATE = app TARGET = tst_qqmldebugtrace diff --git a/tests/benchmarks/qml/qqmlimage/qqmlimage.pro b/tests/benchmarks/qml/qqmlimage/qqmlimage.pro index 21d3efdd1f..421f232a4f 100644 --- a/tests/benchmarks/qml/qqmlimage/qqmlimage.pro +++ b/tests/benchmarks/qml/qqmlimage/qqmlimage.pro @@ -1,4 +1,4 @@ -CONFIG += testcase +CONFIG += benchmark TEMPLATE = app TARGET = tst_qqmlimage QT += qml quick-private testlib diff --git a/tests/benchmarks/qml/qqmlmetaproperty/qqmlmetaproperty.pro b/tests/benchmarks/qml/qqmlmetaproperty/qqmlmetaproperty.pro index b80b88f4bc..3e8d341bbe 100644 --- a/tests/benchmarks/qml/qqmlmetaproperty/qqmlmetaproperty.pro +++ b/tests/benchmarks/qml/qqmlmetaproperty/qqmlmetaproperty.pro @@ -1,4 +1,4 @@ -CONFIG += testcase +CONFIG += benchmark TEMPLATE = app TARGET = tst_qqmlmetaproperty QT += qml testlib diff --git a/tests/benchmarks/qml/qquickwindow/qquickwindow.pro b/tests/benchmarks/qml/qquickwindow/qquickwindow.pro index 50f956f220..9e79d4acf8 100644 --- a/tests/benchmarks/qml/qquickwindow/qquickwindow.pro +++ b/tests/benchmarks/qml/qquickwindow/qquickwindow.pro @@ -1,4 +1,4 @@ -CONFIG += testcase +CONFIG += benchmark TARGET = tst_qquickwindow SOURCES += tst_qquickwindow.cpp macx:CONFIG -= app_bundle @@ -8,3 +8,4 @@ testDataFiles.path = . DEPLOYMENT += testDataFiles QT += core-private gui-private qml-private quick-private opengl-private testlib +DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0 diff --git a/tests/benchmarks/qml/script/script.pro b/tests/benchmarks/qml/script/script.pro index 51a02e796d..c151cdc146 100644 --- a/tests/benchmarks/qml/script/script.pro +++ b/tests/benchmarks/qml/script/script.pro @@ -1,4 +1,4 @@ -CONFIG += testcase +CONFIG += benchmark TEMPLATE = app TARGET = tst_script macx:CONFIG -= app_bundle diff --git a/tests/benchmarks/qml/typeimports/typeimports.pro b/tests/benchmarks/qml/typeimports/typeimports.pro index dc58e4044b..aa1a291b82 100644 --- a/tests/benchmarks/qml/typeimports/typeimports.pro +++ b/tests/benchmarks/qml/typeimports/typeimports.pro @@ -1,4 +1,4 @@ -CONFIG += testcase +CONFIG += benchmark TEMPLATE = app TARGET = tst_typeimports QT += qml testlib diff --git a/tests/benchmarks/script/qjsvalue/qjsvalue.pro b/tests/benchmarks/script/qjsvalue/qjsvalue.pro index 03b877ae9d..1b39091dea 100644 --- a/tests/benchmarks/script/qjsvalue/qjsvalue.pro +++ b/tests/benchmarks/script/qjsvalue/qjsvalue.pro @@ -1,4 +1,4 @@ -CONFIG += testcase +CONFIG += benchmark TEMPLATE = app TARGET = tst_bench_qjsvalue INCLUDEPATH += . diff --git a/tests/manual/highdpi/BorderImage.png b/tests/manual/highdpi/BorderImage.png Binary files differindex 8fa6b40d78..d93f03e80f 100644 --- a/tests/manual/highdpi/BorderImage.png +++ b/tests/manual/highdpi/BorderImage.png diff --git a/tests/manual/scenegraph_lancelot/data/shared/blue_72x96.png b/tests/manual/scenegraph_lancelot/data/shared/blue_72x96.png Binary files differindex b9e584d8bd..ceddd09b4e 100644 --- a/tests/manual/scenegraph_lancelot/data/shared/blue_72x96.png +++ b/tests/manual/scenegraph_lancelot/data/shared/blue_72x96.png diff --git a/tests/manual/scenegraph_lancelot/data/shared/cyan_72x96.png b/tests/manual/scenegraph_lancelot/data/shared/cyan_72x96.png Binary files differindex c1ae9f3eee..b465fa9a62 100644 --- a/tests/manual/scenegraph_lancelot/data/shared/cyan_72x96.png +++ b/tests/manual/scenegraph_lancelot/data/shared/cyan_72x96.png diff --git a/tests/manual/scenegraph_lancelot/data/shared/green_72x96.png b/tests/manual/scenegraph_lancelot/data/shared/green_72x96.png Binary files differindex 2ddadde72c..9637f71b74 100644 --- a/tests/manual/scenegraph_lancelot/data/shared/green_72x96.png +++ b/tests/manual/scenegraph_lancelot/data/shared/green_72x96.png diff --git a/tests/manual/scenegraph_lancelot/data/shared/orange_72x96.png b/tests/manual/scenegraph_lancelot/data/shared/orange_72x96.png Binary files differindex 2b0f0c961c..1b2c40ae0a 100644 --- a/tests/manual/scenegraph_lancelot/data/shared/orange_72x96.png +++ b/tests/manual/scenegraph_lancelot/data/shared/orange_72x96.png diff --git a/tests/manual/scenegraph_lancelot/data/shared/red_72x96.png b/tests/manual/scenegraph_lancelot/data/shared/red_72x96.png Binary files differindex db015768d7..019e5584de 100644 --- a/tests/manual/scenegraph_lancelot/data/shared/red_72x96.png +++ b/tests/manual/scenegraph_lancelot/data/shared/red_72x96.png diff --git a/tests/manual/scenegraph_lancelot/data/shared/sample_1.png b/tests/manual/scenegraph_lancelot/data/shared/sample_1.png Binary files differindex 24d02f4c22..d4dd62f254 100644 --- a/tests/manual/scenegraph_lancelot/data/shared/sample_1.png +++ b/tests/manual/scenegraph_lancelot/data/shared/sample_1.png diff --git a/tests/manual/scenegraph_lancelot/data/shared/tile.png b/tests/manual/scenegraph_lancelot/data/shared/tile.png Binary files differindex 1c54278442..67e21ad80c 100644 --- a/tests/manual/scenegraph_lancelot/data/shared/tile.png +++ b/tests/manual/scenegraph_lancelot/data/shared/tile.png diff --git a/tests/manual/scenegraph_lancelot/data/shared/uniquepixels.png b/tests/manual/scenegraph_lancelot/data/shared/uniquepixels.png Binary files differindex af240b09c3..83b0f7dbbf 100644 --- a/tests/manual/scenegraph_lancelot/data/shared/uniquepixels.png +++ b/tests/manual/scenegraph_lancelot/data/shared/uniquepixels.png diff --git a/tests/manual/scenegraph_lancelot/data/shared/violet_72x96.png b/tests/manual/scenegraph_lancelot/data/shared/violet_72x96.png Binary files differindex d8ecf51756..382e7eca72 100644 --- a/tests/manual/scenegraph_lancelot/data/shared/violet_72x96.png +++ b/tests/manual/scenegraph_lancelot/data/shared/violet_72x96.png diff --git a/tests/manual/scenegraph_lancelot/data/shared/yellow_72x96.png b/tests/manual/scenegraph_lancelot/data/shared/yellow_72x96.png Binary files differindex 569b6c1dd7..8f60703a4e 100644 --- a/tests/manual/scenegraph_lancelot/data/shared/yellow_72x96.png +++ b/tests/manual/scenegraph_lancelot/data/shared/yellow_72x96.png diff --git a/tests/testapplications/elements/content/pics/logo-hollowed.png b/tests/testapplications/elements/content/pics/logo-hollowed.png Binary files differindex ca2acb3651..bff0eea9de 100644 --- a/tests/testapplications/elements/content/pics/logo-hollowed.png +++ b/tests/testapplications/elements/content/pics/logo-hollowed.png diff --git a/tests/testapplications/elements/content/pics/qml-borderimage.png b/tests/testapplications/elements/content/pics/qml-borderimage.png Binary files differindex 8035c79f37..e42891ecc7 100644 --- a/tests/testapplications/elements/content/pics/qml-borderimage.png +++ b/tests/testapplications/elements/content/pics/qml-borderimage.png diff --git a/tests/tests.pro b/tests/tests.pro index 85e4f3a53d..f5731b2f34 100644 --- a/tests/tests.pro +++ b/tests/tests.pro @@ -1,2 +1,2 @@ TEMPLATE = subdirs -SUBDIRS += auto +SUBDIRS += auto benchmarks diff --git a/tests/benchmarks/qml/qmltime/example.qml b/tools/qmltime/example.qml index e717a074e1..e717a074e1 100644 --- a/tests/benchmarks/qml/qmltime/example.qml +++ b/tools/qmltime/example.qml diff --git a/tests/benchmarks/qml/qmltime/linelaidout.qml b/tools/qmltime/linelaidout.qml index 0e9da83087..0e9da83087 100644 --- a/tests/benchmarks/qml/qmltime/linelaidout.qml +++ b/tools/qmltime/linelaidout.qml diff --git a/tests/benchmarks/qml/qmltime/qmltime.cpp b/tools/qmltime/qmltime.cpp index 7bed36cc87..8afaebc413 100644 --- a/tests/benchmarks/qml/qmltime/qmltime.cpp +++ b/tools/qmltime/qmltime.cpp @@ -28,11 +28,13 @@ #include <QQmlEngine> #include <QQmlComponent> #include <QDebug> -#include <QApplication> +#include <QGuiApplication> #include <QTime> #include <QQmlContext> -#include <QGraphicsScene> -#include <QGraphicsRectItem> +#include <QQuickView> +#include <QQuickItem> + +#include <private/qquickview_p.h> class Timer : public QObject { @@ -59,22 +61,22 @@ private: static Timer *m_timer; bool m_willparent; - QGraphicsScene m_scene; - QGraphicsRectItem m_item; + QQuickView m_view; + QQuickItem *m_item; }; QML_DECLARE_TYPE(Timer); Timer *Timer::m_timer = 0; Timer::Timer() -: m_component(0), m_willparent(false) + : m_component(0) + , m_willparent(false) + , m_item(new QQuickItem) { if (m_timer) qWarning("Timer: Timer already registered"); + QQuickViewPrivate::get(&m_view)->setRootObject(m_item); m_timer = this; - - m_scene.setItemIndexMethod(QGraphicsScene::NoIndex); - m_scene.addItem(&m_item); } QQmlComponent *Timer::component() const @@ -97,9 +99,9 @@ void Timer::run(uint iterations) QQmlContext context(qmlContext(this)); QObject *o = m_component->create(&context); - QGraphicsObject *go = qobject_cast<QGraphicsObject *>(o); - if (m_willparent && go) - go->setParentItem(&m_item); + QQuickItem *i = qobject_cast<QQuickItem *>(o); + if (m_willparent && i) + i->setParentItem(m_item); delete o; runTest(&context, iterations); @@ -121,9 +123,9 @@ void Timer::runTest(QQmlContext *context, uint iterations) t.start(); for (uint ii = 0; ii < iterations; ++ii) { QObject *o = m_component->create(context); - QGraphicsObject *go = qobject_cast<QGraphicsObject *>(o); - if (m_willparent && go) - go->setParentItem(&m_item); + QQuickItem *i = qobject_cast<QQuickItem *>(o); + if (m_willparent && i) + i->setParentItem(m_item); delete o; } @@ -202,7 +204,7 @@ void usage(const char *name) int main(int argc, char ** argv) { - QApplication app(argc, argv); + QGuiApplication app(argc, argv); qmlRegisterType<Timer>("QmlTime", 1, 0, "Timer"); diff --git a/tests/benchmarks/qml/qmltime/qmltime.pro b/tools/qmltime/qmltime.pro index 57966be7a2..551a43eec1 100644 --- a/tests/benchmarks/qml/qmltime/qmltime.pro +++ b/tools/qmltime/qmltime.pro @@ -1,8 +1,7 @@ -CONFIG += testcase TEMPLATE = app TARGET = qmltime -QT += qml widgets testlib +QT += qml quick +QT += quick-private macx:CONFIG -= app_bundle SOURCES += qmltime.cpp - diff --git a/tests/benchmarks/qml/qmltime/tests/anchors/empty.qml b/tools/qmltime/tests/anchors/empty.qml index e6a24a83ca..e6a24a83ca 100644 --- a/tests/benchmarks/qml/qmltime/tests/anchors/empty.qml +++ b/tools/qmltime/tests/anchors/empty.qml diff --git a/tests/benchmarks/qml/qmltime/tests/anchors/fill.qml b/tools/qmltime/tests/anchors/fill.qml index 121eb404fc..121eb404fc 100644 --- a/tests/benchmarks/qml/qmltime/tests/anchors/fill.qml +++ b/tools/qmltime/tests/anchors/fill.qml diff --git a/tests/benchmarks/qml/qmltime/tests/anchors/null.qml b/tools/qmltime/tests/anchors/null.qml index 391aac89e3..391aac89e3 100644 --- a/tests/benchmarks/qml/qmltime/tests/anchors/null.qml +++ b/tools/qmltime/tests/anchors/null.qml diff --git a/tests/benchmarks/qml/qmltime/tests/animation/large.qml b/tools/qmltime/tests/animation/large.qml index 2f7e86cada..2f7e86cada 100644 --- a/tests/benchmarks/qml/qmltime/tests/animation/large.qml +++ b/tools/qmltime/tests/animation/large.qml diff --git a/tests/benchmarks/qml/qmltime/tests/animation/largeNoProps.qml b/tools/qmltime/tests/animation/largeNoProps.qml index 504953b9e6..504953b9e6 100644 --- a/tests/benchmarks/qml/qmltime/tests/animation/largeNoProps.qml +++ b/tools/qmltime/tests/animation/largeNoProps.qml diff --git a/tests/benchmarks/qml/qmltime/tests/item_creation/children.qml b/tools/qmltime/tests/item_creation/children.qml index 73d9b6d364..73d9b6d364 100644 --- a/tests/benchmarks/qml/qmltime/tests/item_creation/children.qml +++ b/tools/qmltime/tests/item_creation/children.qml diff --git a/tests/benchmarks/qml/qmltime/tests/item_creation/data.qml b/tools/qmltime/tests/item_creation/data.qml index 40f2abfc7b..40f2abfc7b 100644 --- a/tests/benchmarks/qml/qmltime/tests/item_creation/data.qml +++ b/tools/qmltime/tests/item_creation/data.qml diff --git a/tests/benchmarks/qml/qmltime/tests/item_creation/no_creation.qml b/tools/qmltime/tests/item_creation/no_creation.qml index 9149303137..9149303137 100644 --- a/tests/benchmarks/qml/qmltime/tests/item_creation/no_creation.qml +++ b/tools/qmltime/tests/item_creation/no_creation.qml diff --git a/tests/benchmarks/qml/qmltime/tests/item_creation/resources.qml b/tools/qmltime/tests/item_creation/resources.qml index 7afcacc892..7afcacc892 100644 --- a/tests/benchmarks/qml/qmltime/tests/item_creation/resources.qml +++ b/tools/qmltime/tests/item_creation/resources.qml diff --git a/tests/benchmarks/qml/qmltime/tests/loader/Loaded.qml b/tools/qmltime/tests/loader/Loaded.qml index 946933bafa..946933bafa 100644 --- a/tests/benchmarks/qml/qmltime/tests/loader/Loaded.qml +++ b/tools/qmltime/tests/loader/Loaded.qml diff --git a/tests/benchmarks/qml/qmltime/tests/loader/component_loader.qml b/tools/qmltime/tests/loader/component_loader.qml index 8b338f37be..8b338f37be 100644 --- a/tests/benchmarks/qml/qmltime/tests/loader/component_loader.qml +++ b/tools/qmltime/tests/loader/component_loader.qml diff --git a/tests/benchmarks/qml/qmltime/tests/loader/empty_loader.qml b/tools/qmltime/tests/loader/empty_loader.qml index 356195a4a9..356195a4a9 100644 --- a/tests/benchmarks/qml/qmltime/tests/loader/empty_loader.qml +++ b/tools/qmltime/tests/loader/empty_loader.qml diff --git a/tests/benchmarks/qml/qmltime/tests/loader/no_loader.qml b/tools/qmltime/tests/loader/no_loader.qml index 4de2dc26f1..4de2dc26f1 100644 --- a/tests/benchmarks/qml/qmltime/tests/loader/no_loader.qml +++ b/tools/qmltime/tests/loader/no_loader.qml diff --git a/tests/benchmarks/qml/qmltime/tests/loader/source_loader.qml b/tools/qmltime/tests/loader/source_loader.qml index 38b47a134d..38b47a134d 100644 --- a/tests/benchmarks/qml/qmltime/tests/loader/source_loader.qml +++ b/tools/qmltime/tests/loader/source_loader.qml diff --git a/tests/benchmarks/qml/qmltime/tests/positioner_creation/no_positioner.qml b/tools/qmltime/tests/positioner_creation/no_positioner.qml index c473a89d38..c473a89d38 100644 --- a/tests/benchmarks/qml/qmltime/tests/positioner_creation/no_positioner.qml +++ b/tools/qmltime/tests/positioner_creation/no_positioner.qml diff --git a/tests/benchmarks/qml/qmltime/tests/positioner_creation/null_positioner.qml b/tools/qmltime/tests/positioner_creation/null_positioner.qml index e459c4060f..e459c4060f 100644 --- a/tests/benchmarks/qml/qmltime/tests/positioner_creation/null_positioner.qml +++ b/tools/qmltime/tests/positioner_creation/null_positioner.qml diff --git a/tests/benchmarks/qml/qmltime/tests/positioner_creation/positioner.qml b/tools/qmltime/tests/positioner_creation/positioner.qml index 569dc8187c..569dc8187c 100644 --- a/tests/benchmarks/qml/qmltime/tests/positioner_creation/positioner.qml +++ b/tools/qmltime/tests/positioner_creation/positioner.qml diff --git a/tests/benchmarks/qml/qmltime/tests/vmemetaobject/null.qml b/tools/qmltime/tests/vmemetaobject/null.qml index 520ad8bc0e..520ad8bc0e 100644 --- a/tests/benchmarks/qml/qmltime/tests/vmemetaobject/null.qml +++ b/tools/qmltime/tests/vmemetaobject/null.qml diff --git a/tests/benchmarks/qml/qmltime/tests/vmemetaobject/property.qml b/tools/qmltime/tests/vmemetaobject/property.qml index df31145e5f..df31145e5f 100644 --- a/tests/benchmarks/qml/qmltime/tests/vmemetaobject/property.qml +++ b/tools/qmltime/tests/vmemetaobject/property.qml diff --git a/tests/benchmarks/qml/qmltime/textingrid.qml b/tools/qmltime/textingrid.qml index 41073f50dc..41073f50dc 100644 --- a/tests/benchmarks/qml/qmltime/textingrid.qml +++ b/tools/qmltime/textingrid.qml diff --git a/tools/tools.pro b/tools/tools.pro index 6e25509216..18bfe28a8a 100644 --- a/tools/tools.pro +++ b/tools/tools.pro @@ -14,7 +14,12 @@ qmlimportscanner.CONFIG = host_build !contains(QT_CONFIG, no-qml-debug): SUBDIRS += qmlprofiler qtHaveModule(quick) { - !static: SUBDIRS += qmlscene qmlplugindump + !static: { + SUBDIRS += \ + qmlscene \ + qmlplugindump \ + qmltime + } qtHaveModule(widgets): SUBDIRS += qmleasing } qtHaveModule(qmltest): SUBDIRS += qmltestrunner |