aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* QQuickItemViewPrivate: cleanup superfluous semi-colonsJ-P Nurmi2017-01-141-2/+2
| | | | | Change-Id: I178a9630353346f85dd67cfb552dde8ad4ca350e Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* Deprecate Text::doLayout() in favor of forceLayout()J-P Nurmi2017-01-144-3/+17
| | | | | | | | | | | | | Item views and positioners all have now forceLayout(), so make the Text element API consistent with them. The old doLayout(), which sounds more like an internal helper method, is deprecated and marked for removal in Qt 6. [ChangeLog][QtQuick][Text] Deprecated doLayout() in favor of forceLayout(). Change-Id: I051988fca13c4cd84904f7b268d51f6a96f28af3 Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* Blacklist imageSource and svg testsRobin Burchell2017-01-131-0/+6
| | | | | | | | | | | | | QtSvg changed how the dimensions of an SVG are determined in 4bd5d6ced07d2d0e643a13e7cebb228c521d2046. These tests assume the old behavior at present, so blacklist the tests so qt5 integration can proceed. Task-number: QTBUG-58082 Change-Id: Ia579fbe6736932c081f9873d84bea4c01a975bad Reviewed-by: Lars Schmertmann <lars.schmertmann@governikus.de> Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Add initial support for INTEGRITYKimmo Ollila2017-01-133-4/+19
| | | | | | Change-Id: I1b44263a700f6c48c3b7798b662b30b03f9a4dc4 Reviewed-by: Rolland Dudemaine <rolland@ghs.com> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Improve visibility into Positioner positioning from QMLMichael Brasser2017-01-134-0/+175
| | | | | | | | | | Add a forceLayout function, similar to the views, as well as a signal that indicates when positioning has completed. Change-Id: Ice01ea0840c707e403fdd4ea59d92a89e2ed8e4b Task-number: QTBUG-44762 Task-number: QTBUG-32114 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* QSGThreadedRenderLoop: Correctly stop the animation timer ...Robin Burchell2017-01-123-1/+17
| | | | | | | | | | | | | | | | | | | ... when destroying the last window while it is still visible. For the case of windowDestroyed(), the QQuickWindow can still be isVisible true and isExposed true. Given these circumstances, we would not stop the timer (assuming that we needed to keep it running), but this is actually wrong when we are evaluating a timer change depending on the window being destroyed. By calling startOrStopAnimationTimer again, after the window has been removed from m_windows, we will successfully stop the timer -- the only cost being an unnecessary polish event being sent from the first call (which will be ignored). Task-number: QTBUG-58091 Change-Id: I043ce5d88eafee15019e1c8d41c06d531d1da059 Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
* QQuickItemGrabResult: Use qmlWarning instead of qWarningRobin Burchell2017-01-121-7/+8
| | | | | | | | This way we have information on the source location of the call instead of flying blind and having to grep (possibly many) codebases to find the offender. Change-Id: I86fb1b4a475ed2df7812890c7ee37246735d5a60 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* test: fix tst_QQuickGraphicsInfo::testProperties()Liang Qi2017-01-122-4/+1
| | | | | | | | This also reverts commit 26051fd5724e56e0715bc56fde8e8464ff386bbc. Task-number: QTBUG-58039 Change-Id: I0b9146a64f1a112f5c059b2e29e874631c81d12c Reviewed-by: David Faure <david.faure@kdab.com>
* QSGNodeVisitorEx virtual destructorPier Luigi Fiorini2017-01-121-0/+2
| | | | | | | | | QSGNodeVisitorEx has virtual methods and accessible non-virtual destructor. Change-Id: I38ebfb07acee4aa433623db5f623ced03995f442 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
* Port existing qmlInfo callers to qmlWarningRobin Burchell2017-01-1147-165/+165
| | | | | | | | | | | | | Now that qmlInfo actually reports info messages, we want to change existing callers to use warning-level messages to preserve the original message level. This was done through: perl -p -i -e "s/qmlInfo\(/qmlWarning\(/" **/*.{cpp,h,qdoc} .. with a little care taken to only add the hunks that should be changed. Change-Id: I511cee11ce0a26ec1048cd2b84c7536b812a0d89 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* tst_touchmouse: Have a go at some stabilisation & improvementsRobin Burchell2017-01-111-315/+270
| | | | | | | | | | | | | | | | | | | * Use QScopedPointer to own views, preventing leakage (was a problem in a few of these tests, e.g. pinchOnFlickable/flickableOnPinch/mouseOnFlickableOnPinch) * Only qWaitForWindowActive, as the tests aren't doing anything graphical, they don't need an expose event, which means less waiting * Use the test utilities to center the windows on screen to make sure they are not under desktop chrome & have a non-null position. If position is 0,0 that means window->position().isNull() is true, so qWaitForWindowActive will wait for its entire timeout: 5 seconds. This means no "manual" tweaking of geometry anymore: the position is now taken care of by the test utilities, and we let the root QML item size determine the window size. * Move the mouse away from the window using the test utilities. Done-with: Shawn Rutledge Change-Id: I4ac6a0d56067c57ef51f186fe3cd118cab056ff2 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* PathView: fix crash on path removeOleg Yadrov2017-01-113-7/+54
| | | | | | | | | | There was no check if new path is a valid object Task-number: QTBUG-53917 Change-Id: I2fd9534c1d34633243d16eda56a2b07e18dabe16 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* QQmlError: Fix code style a bitRobin Burchell2017-01-111-19/+32
| | | | | | | | Don't use single-line if, they are rather error prone, and remove (equally error-prone) superfluous else. Change-Id: If397de42d6c8820ac80125ca3a275572c841f257 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* QQmlInfo: Add qmlDebug & qmlWarning functions alongside qmlInfoRobin Burchell2017-01-116-28/+185
| | | | | | | | | | | | | This way, we can correctly write to multiple levels of QDebug with QML context information. A followup change will port all existing callers, and subsequently change qmlInfo's message level to QtInfoMsg. [ChangeLog][QtQml] Introduced qmlDebug & qmlWarning functions to qqmlinfo.h, in addition to the pre-existing qmlInfo function. As a side effect, QQmlError has also gained messageType() and setMessageType(). Change-Id: I04ced5952c5c3c58293a89a6767c7b545c03cc0a Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Binop assembler cleanupSimon Hausmann2017-01-112-87/+97
| | | | | | | | | | | | In preparation for the binop generator to work with different assemblers, we can bring some of the externally prefixed Assembler:: types into the Binop class namespace. That makes the code easier to read (less visual noise) and centralizes the dependency to the external type to one place (the using statements). Change-Id: Ib7700689196f8e54bba1f3ab6de3bf85ed93ff87 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Break circular assembler dependencySimon Hausmann2017-01-113-8/+8
| | | | | | | | | The QV4::Assembler does not need a reference to the ISel that uses the assembler, a reference to the JS unit generator for string registration is sufficient. Change-Id: I9e929e4d0aecbf0144296f85cb8d208296f28003 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Minor assembler cleanupSimon Hausmann2017-01-112-169/+172
| | | | | | | | Move code from the Assembler helper-class into the .cpp file that has the rest of the Assembler class implementation. Change-Id: I4e9fb264216a078a3ee11119d7610fd108ddf8c7 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Remove Q_FLAGS about a enum/flags that don't exist at allAlbert Astals Cid2017-01-111-1/+0
| | | | | Change-Id: Ie6954aef0e28cd1356a195d34b92b8df9d6fb9c7 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* tst_qqmllocale: avoid duplicating a QLocale::toString() callEdward Welbourne2017-01-101-6/+9
| | | | | | | | Reuse the same const QString in both places, in each of the functions that repeated this pattern. Change-Id: Ic20281692d84b3ad5257af9837957e0893452b1a Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* tst_qqmllocale: simplify creation of a QDateTimeEdward Welbourne2017-01-101-27/+9
| | | | | | | | | Nine tests all used setDate and setTime on a default QDateTime, where just initializing it right, in one line, is simple, terse and easy to understand. This also allows it to be const. Change-Id: I77fd8b36b705cafc49f9020ae9280dfdcfece0d8 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* tst_qqmllocale: shuffle commentary on JS Date's month numberingEdward Welbourne2017-01-102-6/+7
| | | | | | | | | | | | While it departs from common date numbering, as used by QDateTime, the 0=Jan numbering used by JS's Date was copied from Java's Date, which (probably) copied it from ANSI C's struct tm; and C likes to count from zero. So don't call it weird; and let's comment on it where it's actually relevant (in JS code with the offset, rather than against uses of QDate, which uses 1=Jan numbering) and only once. Change-Id: I926138e88583339bec8641e3b28a642794dc217d Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* tst_qqmllocale: use unsetenv to clear environment variableEdward Welbourne2017-01-101-1/+4
| | | | | | | | | | | | | | tst_qqmllocale::timeZoneUpdated() was recording the prior time zone, frobbing it for the duration of its test, then restoring it. However, if TZ was previously unset, it got set to empty instead of being unset. This did not quite have the same effect; UTC ends up being used instead of the system default, with potential for conflict between system functions (that have attended to tzset) and third-party libraries (e.g. ICU) with internal state saved from before the change. Change-Id: I9f2147cd8858316e9ba5fd84d95dfc2c4538b0ab Reviewed-by: Matthew Vogt <matthew.vogt@qinetic.com.au> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* tst_qqmllocale: use QVERIFY() rather than QCOMPARE(, true)Edward Welbourne2017-01-101-2/+2
| | | | | | | Use booleans as booleans, it's what they're for. Change-Id: I68c0ba5efcfd3556eeef043b179769e91c77cf03 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Blacklist tst_QQuickGraphicsInfo::testProperties() on linuxLiang Qi2017-01-101-0/+3
| | | | | | | Task-number: QTBUG-58039 Change-Id: Ib7a371c6dec7748b9c5257b6cf4dfb61efc7aa88 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Clarify JIT selection for 32-bit and 64-bit architecturesSimon Hausmann2017-01-041-4/+4
| | | | | | | | | | | | | | | Instead of relying on the somewhat "cryptic" ILP32 macro on x86/x86-64, we can also use the macro that the JIT generated code _really_ relies on, which is the size of pointers. For x32 those will be 4 despite Q_PROCESSOR_X86_64, and the JIT will end up disabled. For regular x86 and x86-64 it should get enabled. The same logic is applied to ARM32/ARM64 to disable the JIT once machines start showing up with ILP32 data model on ARM64. Change-Id: Id8dfb203c9b75e8ed5a61dcae28482f8f99be75f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Dmitry Shachnev <mitya57@gmail.com>
* MultiPointTouchArea.TouchPoint: add rotation, uniqueId and ellipseDiametersShawn Rutledge2017-01-045-23/+156
| | | | | | | | | So far uniqueId and rotation are mainly applicable to TUIO. Deprecate the area property in favor of ellipseDiameters. Also improve the mpta-crosshairs manual test to show this information. Change-Id: I16ea6618ae21ce66dac45638d6e2bb3c0a3b1818 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* mpta-crosshairs manual test: correct the velocity vector rotationShawn Rutledge2017-01-041-1/+2
| | | | | | | acos cannot return any possible angle, but atan2 can. Change-Id: Ic277bc1d3616900775b6076dce6b05bdf3c35da3 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* qml: use QUrl::fromUserInput("file.qml", QDir::currentPath())Shawn Rutledge2017-01-031-23/+7
| | | | | | | | | | | | | | | After change dc6b73390b262b9554599cbf40539763b1280261 in qtbase, the qml runtime was failing at an assertion in QQmlTypeLoader::getType() which tries to avoid relative URLs and relative directory paths. It's important to convert relative paths to fully-qualified paths when converting to an URL, because QQmlTypeLoader uses it as a cache key, and we want to avoid ambiguity about which file is being cached. Task-number: QTBUG-57870 Change-Id: Ib984cf722009f5f04cb67fffbc52d12bcc98df89 Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* Make it possible to call grabToImage() on Window.contentItemOleg Yadrov2017-01-025-1/+41
| | | | | | | | | | Window.contentItem was not associated with any QQmlContext and QQmlEngine. A valid pointer to QQmlEngine is needed for callback function execution. Task-number: QTBUG-57175 Change-Id: Iab7730bfc8860521ff2e8c1631a11d0e1fe0cf94 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* add text manual testShawn Rutledge2016-12-316-0/+321
| | | | | | | | | The initial goal is to verify the behavior of text, preeditText and displayText properties and their associated signals on various platforms. Change-Id: Ie50c78a83930e05158a197f38087db9ae3cba534 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* Add TextInput::textEdited()J-P Nurmi2016-12-304-1/+68
| | | | | | | | | | [ChangeLog][QtQuick][TextInput] Added textEdited() signal to distinguish user edits from programmatical text changes. Change-Id: I1d78499e3e11f9f1cab80ce3b0a6d9f2713219f4 Task-number: QTBUG-57203 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Flickable: add horizontal/verticalOvershoot propertiesJ-P Nurmi2016-12-297-3/+420
| | | | | | | | | | [ChangeLog][QtQuick][Flickable] Added horizontalOvershoot and verticalOvershoot properties that can be used for implementing boundary actions and effects. Task-number: QTBUG-38515 Change-Id: I06379348a67d03507b56788d6fc7020bbb2d375f Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* Merge remote-tracking branch 'origin/5.8' into devLiang Qi2016-12-2523-77/+329
|\ | | | | | | | | | | | | Conflicts: tools/qmlimportscanner/main.cpp Change-Id: I01e17581f6691a03f83788773364d0cf96319514
| * Merge remote-tracking branch 'origin/5.8.0' into 5.8Liang Qi2016-12-255-12/+190
| |\ | | | | | | | | | Change-Id: I72ed8656ef03d1bc28225e2186f03620b9e119e9
| | * Add changes file for 5.8.0v5.8.0-rc1Jani Heikkinen2016-12-091-0/+172
| | | | | | | | | | | | | | | Change-Id: I29311143b04cdd4d6a13980ccb57b7867bcf9c53 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
| | * change type of QQuickPointerDevice::uniqueId to QPointingDeviceUniqueIdShawn Rutledge2016-12-091-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will make it easier to change or extend further, in case some future device has some sort of unique serial number which does not fit in a quint64. Task-number: QTBUG-54616 Change-Id: I8f20b13d75b937fce6a66653476d0d25f2abf34b Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
| | * rename QPointerUniqueId -> QPointingDeviceUniqueIdShawn Rutledge2016-12-092-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Several people agreed that the name was confusing and that this one is better. Task-number: QTBUG-54616 Change-Id: Ie9d24fc6e233949be36c8b6ee2650080a8a3506e Reviewed-by: Sune Vuorela <sune@vuorela.dk> Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
| | * Calqlatr Example: Pass the third arg to the mapToItem() callsVenugopal Shivashankar2016-12-091-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Apparently the mapToItem version used in the example requires at least three arguments, for some reason only two were provided, the item and the mouseX coordinate. Without the third argument, mouseY coordinate, the drag operation to move the display fails with warnings on the console. Task-number: QTBUG-57514 Change-Id: If1b16c27539bd90a2d20203dedc26f11ac2a0942 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Topi Reiniö <topi.reinio@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| | * V4 Interpreter: reset the exception handler for every catch blockErik Verbruggen2016-12-081-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If an exception handler consists of multiple basic-blocks, and is then followed by a finally block (for example: a catch block with a throw followed by a return, and then a subsequent finally block), then the finally block can be reached before the exception handler is reset by skipping the second block of the catch handler with a throw. As the finally block will then rethrow, and the old exception handler is still there, it will end in an endless loop. The fix is to reset the exception handler for every catch block. The problem occurred in ch12/12.14/S12.14_A13_T3 Change-Id: I968b62c6c2af30af32e2717a9ce85f852523dbe8 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | Doc: minor grammar mistakeNico Vertriest2016-12-211-1/+1
| | | | | | | | | | | | | | | Change-Id: If3aebd27e886181ebe0d41532935afdfb974586c Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * | Example: corrected screenshot of the localstorage appNico Vertriest2016-12-213-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Was still displaying a screenshot of the previous example \image --> \borderedimage Change-Id: Ifb23d0ffe1216c7d79170b6bbbd7da1511afe79c Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
| * | qmlimportscanner: Output the relative path of a pluginFriedemann Kleint2016-12-201-14/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change 3c5e438890db63ecde98c84d221f87a3af52e1bf enabling using the target path version of a parent module made it harder to determine the deployment target path from the module name. Output the relative path in addition to remove the need to do that in deployment tools. Task-number: QTBUG-57494 Task-number: QTBUG-52556 Change-Id: Ib76f40f19b530f9351205df9109f2fef6191979d Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
| * | Fix wrong grabbing behaviorFilipe Azevedo2016-12-201-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QQuickWidget::grabFrameBuffer() was not polishing its items nor syncing the scene graph compared to standard QQuickWindow::grabWindow(). This lead to QQuickWidget grabbed content to be outdated (render the previous frame as a new frame). Task-number: QTBUG-57596 Change-Id: I94f5e0aa5b096fb9e21259267c0e50473e8ed5bd Reviewed-by: Robin Burchell <robin.burchell@viroteck.net> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| * | ListView, GridView: fix missing keyNavigationEnabled propertyMitch Curtis2016-12-205-4/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this patch, this code: import QtQuick 2.7 ListView { keyNavigationEnabled: true } Would cause this error: "ListView.keyNavigationEnabled" is not available in QtQuick 2.7. This is because ItemView was missing a revision: qmlRegisterUncreatableType<QQuickItemView, 7>( uri, 2, 7, "ItemView", QQuickItemView::tr("ItemView is an abstract base class")); Task-number: QTBUG-57621 Change-Id: Ia00cb7446a0d83278760f3aa361db5a864661bc6 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
| * | QmlProfiler: Don't create a new event ID for each binding instanceUlf Hermann2016-12-202-31/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We want the IDs to reflect the location and the type of event that is happening. Thus all instances of a particular component should share the same IDs for their bindings. Otherwise the aggregated views of the QML profiler list the same locations again and again for each object. Change-Id: I3f8a7531589b42f785e40c7c5b04b229f639d696 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | V4 Profiler: Don't delete compilation units when copying trace dataUlf Hermann2016-12-201-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the trace data is the only thing holding a reference to a particular compilation unit and we are copying the last FunctionCall from that compilationUnit onto the second last, we have to first addref() and then release() as otherwise it might disappear in between. Also we don't need to check m_function for null, as the ctor guarantees it is never null. Change-Id: I6eaf64abe71f9785d4e76e18dabd9a0676564da1 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | Q_CHECK_PTR QSGGeometry allocationsUlf Hermann2016-12-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | We want to cleanly crash if they fail, rather than return a null pointer from vertexData(). Change-Id: Ie88adaa9f0977c70ef4a47a59463509dcd15bdcf Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
| * | Q_CHECK_PTR the result of malloc() in batch rendererUlf Hermann2016-12-201-0/+1
| | | | | | | | | | | | | | | | | | | | | We want to cleanly crash if it fails. Change-Id: Ib32d3d6ae0c5d58e0a954e55adca8b2c4081a7f5 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
| * | Doc: added support for JSON in localstorage documentationNico Vertriest2016-12-202-11/+41
| | | | | | | | | | | | | | | | | | | | | Added examples on how to store in JSON format Change-Id: Ief58e28d42cd87cc0829e9265670e7c7bbdbeffe Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | Fix Q_QUICK_SG_PROFILE macros in OpenVG renderloopAndy Nichols2016-12-251-4/+8
| | | | | | | | | | | | | | | Change-Id: Ied37cc78b5338d17bb72735061be24cb20501d57 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>