aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/util/qquickanimation.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Set explicit default security level of all files with default securityJan Arve Sæther2025-09-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | The files (folders) already processed are listed in each issue in epic QTBUG-134547 These files were processed half a year ago. In order to make it clear that all of these files are already processed, mark them with an explicit default security header. For the record, this was generated with this script: find -E . -regex ".*\.(cpp|h|hpp|mm|qml|js)$" | xargs python3 ~/bin/add-cra-header.py in the folders listed in each subtask of QTBUG-134547 (add-cra-header.py only exist at my desktop, but it simply adds the default security header if it doesn't already have any existing security header) QUIP: 23 Fixes: QTBUG-134547 Pick-to: 6.10 6.9 6.8 Change-Id: Ieb8c78ea6561fdbdd27c7b13185ece853eedf80f Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
* Support fill-opacity and stroke-opacity in VectorImageEskil Abrahamsen Blomfeldt2025-04-301-3/+17
| | | | | | | | | | | | | | | | | | | | The alpha value of the fill and stroke colors can be animated separately in SVG. In order to support this, we introduce a specialized ColorOpacityAnimation type in a Helpers library which only overwrites the alpha channel of the target property. This requires an extra hook in the animation frame work which allows us to get the current value of the property. It should have minimal impact on any existing code, but may have additional use cases later, when we implement support for additive color animations for instance. Since the interpolator API in QVariantAnimation is public API, we add a secondary, private API for this. If we see use for it in the future, this could mature to a public API as well. Fixes: QTBUG-135322 Change-Id: I803f4e64c41e9d6dc355f2468233661885aa7f15 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* QQuickAnimation: Fix misleading indentationIvan Tkachenko2024-08-281-26/+27
| | | | | | | Clang-tidy warned about this if-for combo. Change-Id: If0b32df57d5bef2d89aaae5e20fdc90422a2b45b Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Doc: Replace \instantiates with \nativetypePaul Wicking2024-08-201-11/+11
| | | | | | | | | | | Since the implementation of the `\nativetype`-command in QDoc, the `\instantiates`-command is deprecated. Replace the use of the deprecated command in favor of its replacement. Pick-to: 6.8 Task-number: QTBUG-128216 Change-Id: I23d9f66d3f6db2e5f827d7868497a432bb9b0626 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* QQuickAnimation: Fix assert conditionFabian Kosmale2024-07-221-1/+2
| | | | | | | | | | | | | | | In general, we expect transition to return a new job. However, returning a nullptr is also a possibility, and in that case, having the same value as the old one is okay. The code actually already handled that case just fine, as deleting a nullptr is not an issue. Amends 17fa564a94f98486ff41030c47629bd902c48e8d Pick-to: 6.8 6.7 6.5 Task-number: QTBUG-125571 Change-Id: Iad730cb04aa1f94249a0f2aee1e5844f5e5e01df Reviewed-by: Sami Shalayel <sami.shalayel@qt.io> Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
* QQuickAnimation: Fix setting running propertyAntti Määttä2024-06-191-0/+5
| | | | | | | | | | | | | The setRunning logic can call the setRunning recursively while changing the property. This might cause missmatch between whether the animation is actually running and the running property. If we detect recursive call, make sure that the d->running property matches with the animation job running status. Fixes: QTBUG-125224 Pick-to: 6.8 6.7 6.5 Change-Id: I2e580d45cea7fd9cb010bc37a366def083b24abb Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QtQml: Make QQmlNullableValue somewhat saferUlf Hermann2024-01-081-1/+1
| | | | | | | | We need it movable, and you shouldn't be able to poke its internals. Change-Id: Ia9fbde26ef525837402d9214aa534eeec0221e2f Reviewed-by: Sami Shalayel <sami.shalayel@qt.io> Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
* Doc: Fix linking to Qt Qml moduleTopi Reinio2023-12-011-1/+1
| | | | | | | | | | The module landing page has been renamed in af0539c7bb6f46e89523054c09d5d846ae55f355. The correct link target is 'Qt Qml'. Change-Id: I4a13348948fe1577e7a62edbb49a0d99f9695322 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* QQuickAnimation: Check animationInstance for null in animationGroupDirtyOlivier De Cannière2023-07-251-1/+1
| | | | | | | | | | | | | | | | | On this line group->currentTime() defaults to 0 if animationInstance of group is null. This happens to be the value the condition is checking for and leads to a failed Q_ASSERT(animationInstance) in animGroupPriv->restartFromCurrentLoop(). Add a check for nullptr to cover this case. Amends 0e69268b49f6eed71a7a3e6f16bb5098b572ef2b Task-number: QTBUG-68404 Pick-to: 6.5 6.6 Change-Id: I12236be3b42fc6bd2d185943f9e0474655d8a4c9 Reviewed-by: Sami Shalayel <sami.shalayel@qt.io> Reviewed-by: Inho Lee <inho.lee@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* PropertyAnimation: Handle targets being deletedFabian Kosmale2023-06-131-3/+38
| | | | | | | | | | | | | | | | | | | | | | QQuickPropertyAnimation does not own the targets in its targets list. Thus, we need to be careful to not access deleted objects. Calling QQmlData::wasDeleted is not enoguh, as the object might be fully deleted, but we'd still have a dangling pointer to it. Fix the issue by using QPointer. A similar issue might exists for target, but there we don't normally end up with dangling references - the engine will correctly null the target. And the QPointer isNull check will avoid potentiall nullptr derefences there, too. Ideally, we would use QQmlGuard instead of QPointer, as it would have a lower overhead - however, we run into linker issues on MSVC. Fixing them is deferred to a future commit, to not block this crash fix. Fixes: QTBUG-100392 Pick-to: 6.5 6.6 6.2 Change-Id: If084e2e0f22d50dbee8bf5aedfa2e749e79fc105 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Make a group animation dirty when a member changedInho Lee2023-06-111-0/+73
| | | | | | | | | | | | | | | | Some properties of one of the member animations in a group animation can be changed after the group animation initialized. 1. If the group animation is already proceeding, they will affect the next loop. 2. If the group animation started but does not proceed, they will affect the current loop Fixes: QTBUG-110589 Fixes: QTBUG-61282 Fixes: QTBUG-95840 Pick-to: 6.6 6.5 Change-Id: I018105bdd75dd5bd7c24e9126853cd79c8f0123b Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* doc: Use \value rather than \li for enumeration values and constantsShawn Rutledge2023-03-281-8/+10
| | | | | | Pick-to: 6.2 6.5 Change-Id: Ica8354a53d0a5fb5dd1d8cd5f774dcdc56b6f99a Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Doc: fix grammar of PropertyAnimation section titleMitch Curtis2023-03-011-1/+1
| | | | | | | | | | | Also use sentence case while we're at it. Amends 44dd79eedae174af3474f6317327a09af0de177a. Pick-to: 6.5 6.4 Change-Id: I7cbc35bde6f398c4b774627a6f214e302e620efa Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io>
* Port from container::count() and length() to size() - V5Marc Mutz2022-10-131-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a semantic patch using ClangTidyTransformator as in qtbase/df9d882d41b741fef7c5beeddb0abe9d904443d8, but extended to handle typedefs and accesses through pointers, too: const std::string o = "object"; auto hasTypeIgnoringPointer = [](auto type) { return anyOf(hasType(type), hasType(pointsTo(type))); }; auto derivedFromAnyOfClasses = [&](ArrayRef<StringRef> classes) { auto exprOfDeclaredType = [&](auto decl) { return expr(hasTypeIgnoringPointer(hasUnqualifiedDesugaredType(recordType(hasDeclaration(decl))))).bind(o); }; return exprOfDeclaredType(cxxRecordDecl(isSameOrDerivedFrom(hasAnyName(classes)))); }; auto renameMethod = [&] (ArrayRef<StringRef> classes, StringRef from, StringRef to) { return makeRule(cxxMemberCallExpr(on(derivedFromAnyOfClasses(classes)), callee(cxxMethodDecl(hasName(from), parameterCountIs(0)))), changeTo(cat(access(o, cat(to)), "()")), cat("use '", to, "' instead of '", from, "'")); }; renameMethod(<classes>, "count", "size"); renameMethod(<classes>, "length", "size"); except that on() was replaced with a matcher that doesn't ignoreParens(). a.k.a qt-port-to-std-compatible-api V5 with config Scope: 'Container'. Change-Id: I58e1b41b91c34d2e860dbb5847b3752edbfc6fc9 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Port from qAsConst() to std::as_const()Marc Mutz2022-10-071-1/+1
| | | | | | | | | | | | | | We've been requiring C++17 since Qt 6.0, and our qAsConst use finally starts to bother us (QTBUG-99313), so time to port away from it now. Since qAsConst has exactly the same semantics as std::as_const (down to rvalue treatment, constexpr'ness and noexcept'ness), there's really nothing more to it than a global search-and-replace. Task-number: QTBUG-99313 Change-Id: I601bf70f020f511019ed28731ba53b14b765dbf0 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Port from container::count() and length() to size()Marc Mutz2022-10-071-13/+13
| | | | | | | | | | | | | | | | | | | | This is a semantic patch using ClangTidyTransformator as in qtbase/df9d882d41b741fef7c5beeddb0abe9d904443d8: auto QtContainerClass = anyOf( expr(hasType(cxxRecordDecl(isSameOrDerivedFrom(hasAnyName(classes))))).bind(o), expr(hasType(namedDecl(hasAnyName(<classes>)))).bind(o)); makeRule(cxxMemberCallExpr(on(QtContainerClass), callee(cxxMethodDecl(hasAnyName({"count", "length"), parameterCountIs(0))))), changeTo(cat(access(o, cat("size"), "()"))), cat("use 'size()' instead of 'count()/length()'")) a.k.a qt-port-to-std-compatible-api with config Scope: 'Container', with the extended set of container classes recognized. Change-Id: Idb1f75dfe2323bd1d9e8b4d58d54f1b4b80c7ed7 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Use SPDX license identifiersLucie Gérard2022-06-111-38/+2
| | | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Files that have to be modified by hand are modified. License files are organized under LICENSES directory. Pick-to: 6.4 Task-number: QTBUG-67283 Change-Id: I63563bbeb6f60f89d2c99660400dca7fab78a294 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Do not re-source the from value in animation with multiple loopsAndreas Buhr2022-05-071-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Animations with multiple loops without an explicitly set 'from' value were trying to use the last value from the previous loop as the new starting value for the next loop. This is not correct for several reasons: - when we have multiple loops, it's not guaranteed that the last value of the previous loop is actually the 'to' value. In practice it is a bit smaller. - even if it was the expected 'to' value, the next loop would have been executed in the range [to; to] - so nothing would have happened. The code in bugreport for the related issue tries to implement a binding: NumberAnimaton { // note that the 'from' property is not defined here to: from + 360 loops: Animation.Infinite } But I believe such binding does not work in practice, because the 'from' *property* is not actually updated at each loop. So the most reasonable approach for the animations with multiple loops is to use their initial 'from' value, and do not update it while looping. Fixes: QTBUG-84375 Pick-to: 6.3 6.2 Change-Id: I550873887bf8a328fe4eda9b0e8e058f921124b1 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* Allow modifying from, to, duration and easing properties during animationMitch Curtis2022-04-281-1/+45
| | | | | | | | | | | | | | | The main motivation for this is convenience, but it also allows controls to respond to resizing for items that have animations without resorting to JavaScript to call restart(). [ChangeLog][QtQuick] It is now possible to set the from, to, duration, and easing properties of a top-level animation while it is running. The animation will take the changes into account on the next loop. Change-Id: I2f560ee713666e67b7162d95ff28621fcf3b2545 Fixes: QTBUG-38932 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Update PropertyChanges in src and toolsUlf Hermann2021-10-291-2/+12
| | | | | | | | | | Use generalized grouped properties rather than the target/property syntax. Change-Id: I2cf42fa7933d67aa40ded5ffd00be51be8f9b7c2 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Doc: Replace non-existent \qmlproperty any typeIvan Tkachenko2021-10-261-1/+1
| | | | | Change-Id: I79f1b6fac5933fe13b2dda0436f95da91b2c6d8e Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Doc: Replace \qmlproperty Object and list<> thereof with QtObjectIvan Tkachenko2021-10-221-6/+6
| | | | | | | And in case of QtQuick.Controls::Popup::anchors.centerIn it was an Item. Change-Id: I2ad7ac6969b729711138390de4efe8d6509dcc5e Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* QQuickAbstractAnimation: Avoid finalizer callbackFabian Kosmale2021-09-241-20/+11
| | | | | | | | | | | | | We can observe the following: setRunning only installs a finalizer in the case where the component has not completed yet. Therefore, it must already be safe to execute the code in setRunning between componentComplete and the time where the finalizers run. Thus, instead of relying on finalizers, we can simply remember whether we have to do some work, and do it in componentComplete. Change-Id: I07f9c943517e8a9e8d8183743804c9f99488bd45 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
* Pass QMetaType by value rather than by ID in more placesUlf Hermann2021-06-091-1/+1
| | | | | | | | | | This saves us some ping-pong between the IDs and the QMetaTypes, and avoids possible ambiguities if multiple metatypes are registered for the same C++ type. Change-Id: I81cec94a9cd05d69927dc884f65574f0ab2ddc22 Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Consistent naming for (to|from)Is(Defined|Sourced) in animationsAndreas Buhr2021-03-301-8/+8
| | | | | | | | | | | | | | | | | To store whether "from" and "to" values are defined and/or sourced, QQuickPathAnimationUpdater used fromDefined format, QQuickAbstractAnimationPrivate used fromIsDefined format, QQuickAnimationPropertyUpdater used fromIsDefined format, QQuickAnimatorPrivate used isFromDefined format, QQuickBulkValueAnimator used fromDefined format, QQuickAnimationPropertyUpdater used fromDefined format. This patch changes all these to use the variable names "fromIsDefined", "fromIsSourced", and "toIsDefined". This makes the code more readable. Pick-to: 6.0 5.15 Change-Id: Ia6c228208eb651247b0ba70f83afadb5b1027049 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* QQmlMetaTypeData: Purge custom string convertersFabian Kosmale2021-03-301-4/+0
| | | | | | | | | Those were never exposed anyway. color, date, etc. are handled by the less generic converters in qqmlstringconverters_p.h. Change-Id: I43a94acda08344de742440dd3b956a7077096b11 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
* Correct the error in the help documentFan PengCheng2021-03-221-2/+2
| | | | | | | Item's attribute is transitions instead of transition Change-Id: Ic17f834d480b14b658db15d3688c47dd4d3b8d6d Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
* Unregister value types when tearing down QML typesUlf Hermann2021-02-121-1/+1
| | | | | | | | | Move the value type registry into QQmlMetaTypeData. This way we can conveniently drop the relevant entries when unregistering a type. Fixes: QTBUG-86946 Change-Id: Id024a34a8b2b622fd9417fc0e52864b43c66cc01 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Animations: Drop checks for duplicate jobsUlf Hermann2021-02-031-9/+7
| | | | | | | | | | | We cannot return the same job multiple times from transition(). The calling code takes ownership of the job, and even retaining a pointer to it in the animation would be a problem. There are no animations that return the same job multiple times, though. Task-number: QTBUG-90401 Change-Id: I3a113c624a20dceee745cd6a4fca6f3634bdbdd1 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Use QMetaType instead of metatype-id, take 2Fabian Kosmale2020-12-031-13/+13
| | | | | | | | | This time, the ValueTypeFactory gets converted. As a consequence, many callers get touched again. Task-number: QTBUG-88766 Change-Id: I3a8b7d5cfeb7fac85daf1702febba205971d4256 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* QQmlListProperty: Use qsizetype rather than int for sizesUlf Hermann2020-11-091-3/+3
| | | | | | | | | | [ChangeLog][QtQml] The QQmlListProperty callback functions use qsizetype now as type for the size of a list. This is in line with the containers that you might use to back the list. Fixes: QTBUG-88269 Change-Id: Ia38403cb32f241e6c70e1a580dbeff1d6d694331 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Avoid various warnings about deprected QMetaType methodsUlf Hermann2020-09-161-2/+2
| | | | | Change-Id: I8f4b2703fdd08ff341904219cec33c321e0511c7 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Port QtDeclarative from QStringRef to QStringViewKarsten Heimrich2020-06-161-1/+1
| | | | | | | | Task-number: QTBUG-84319 Change-Id: I2dcfb8a2db98282c7a1acdad1e6f4f949f26df15 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Quick: Use unicode character literalsUlf Hermann2020-06-101-1/+1
| | | | | | | This avoid warnings on conversion to QChar. Change-Id: Idad6a35bb47b029688c5752a03ef83cb5b63373e Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Fix warnings from deprecated QChar constructorVolker Hilsheimer2020-06-041-1/+1
| | | | | Change-Id: I7238c6aaac2f4e0ee2f64afcb4dc9b46497e2c91 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Clean up registration of QEasingCurveUlf Hermann2020-05-191-2/+2
| | | | | | | | | | | | | | | | We don't need to register the Type enum for both QtQml and QtQuick. QtQml is enough. Removing this makes the whole manual value type registration obsolete. Furthermore, we want QEasingCurve as QML_FOREIGN as we have several classes with properties of that type. To keep it nice and tidy, we make the uppercase-named enum holder class a separate type. Unfortunately, the Type enums differ in one entry: QEasingCurve::BezierSpline is called Easing.Bezier in QML. Therefore, we need to keep the custom enum around. We can change all users in qtdeclarative to use the name from QEasingCurve, though. Change-Id: Ibbc78d8bbf8938e2a8722f8c09833a0c73394c3d Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Fix signal emission order for zero-duration animationsJan Arve Saether2020-03-311-8/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The order for non-zero-duration animations are: * started() * runningChanged(true) * stopped() * runningChanged(false) * finished() This patch tries to ensure that zero-duration animations have the same signal emission order. The problem was that when setRunning(true) was called on zero-duration animation, it would call itself (setRunning(false)) lower in the call stack in order to immediately stop again. This had the implication that we could emit stopped() even before started() was emitted (since the recursive call to setRunning(false) would actually complete before the ancestor stack frame setRunning(true) was completed) To fix this we emit started() *before* we call start() on the animationInstance. There is still a bug in that runningChanged(true) is still not emitted for a zero-duration animation, but this patch should improve the current behavior in the sense that stopped() is not emitted _before_ started(). Task-number: QTBUG-48193 Change-Id: Ic2bc85e648e6746f6a058e2e9136515e7fdb6192 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Remove hard-coded notes for 'Corresponding handler' for QML signalsTopi Reinio2020-03-101-6/+0
| | | | | | | | QDoc will generate these notes automatically. Task-number: QTBUG-37355 Change-Id: I8ed058ecbbcc630ad0351f6ce167c3fa61936f6f Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Replace QVariant::type with QVariant::userTypeOlivier Goffart2020-01-171-9/+9
| | | | | | | | | | | as type is going to be deprecated. This change was done automatically with the help of clazy. In addition, ColumnRoleMetadata was changed to take an int instead of a QVariant::Type Change-Id: Ibc02d7b52e7d931a56c19fdebc4788b5e6df2a39 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* QQmlListProperty: Add replace and removeLast functionsUlf Hermann2020-01-151-11/+50
| | | | | | | | | | | This allows us to implement QmlListWrapper::virtualPut(). Also, the additional functions make the list properties useful in other contexts. Fixes: QTBUG-79263 Change-Id: I528bc69222ca7743f0fc3697c3aed2a3468b4d87 Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Fix Qt6 build in preparation of qt5 submodule updateAlexandru Croitor2019-12-191-2/+2
| | | | | | | | | Fixes the QTextStream usages. Change-Id: I0c009a82fb644a9f3c3d42ec410d18b680977f23 (cherry picked from commit 1c5c5f7aadc2dcc73a21eeb818e95c4e1b7de70f) Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Small performance improvements suggested by clang-tidyAlbert Astals Cid2019-10-071-1/+1
| | | | | | | | | mostly add const &, a few std::move and in particular case, remove const so the std::move being done over the variable actually has effect Change-Id: Id611cd31bc012f219d7a17d4626b1c2a5fbddd66 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Doc: Fix typo in code snippetPaul Wicking2019-03-271-1/+1
| | | | | | Fixes: QTBUG-74444 Change-Id: If504fe2a6b4a0d88d69e777d433a6773db5f4df3 Reviewed-by: Michael Brasser <michael.brasser@live.com>
* Merge remote-tracking branch 'origin/5.11' into devUlf Hermann2018-06-251-11/+11
|\ | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/qmltooling/packetprotocol/qpacketprotocol.cpp src/quick/handlers/qquickhandlerpoint.cpp src/quick/handlers/qquicksinglepointhandler.cpp tests/auto/qml/ecmascripttests/test262 Change-Id: I8908ec8c6116ca626fbd269af7625d4c429429ca
| * Doc: Add missing dots (qtdeclarative)Paul Wicking2018-06-191-11/+11
| | | | | | | | | | | | Task-number: QTBUG-68933 Change-Id: Ibb5aa227e82825085e7214e17dcffcb17fd44157 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | Animation: add finished() signalMitch Curtis2018-03-091-0/+22
|/ | | | | | | | | | | | | | | | | | | | Currently, Animation has a stopped() signal. This is executed even if the animation is stopped manually. To react to an animation finishing naturally, you currently have to do the following: onRunningChanged: if (!running) doStuff() This patch adds a dedicated signal: onFinished: doStuff() [ChangeLog][QtQuick][Animation] Added finished() signal to Animation as a convenient way to react to an animation finishing naturally. Change-Id: I8765d3e8e2b7bf7ef66a6acb69feafb43e9619d3 Reviewed-by: J-P Nurmi <jpnurmi@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Silence a GCC 8 warning in qquickanimationVille Voutilainen2018-02-281-3/+3
| | | | | | | | qtdeclarative/src/quick/util/qquickanimation.cpp:1669:109: error: cast between incompatible function types from ‘QVariant (*)(qreal&, qreal&, qreal)’ {aka ‘QVariant (*)(double&, double&, double)’} to ‘QVariantAnimation::Interpolator’ {aka ‘QVariant (*)(const void*, const void*, double)’} [-Werror=cast-function-type] d->interpolator = reinterpret_cast<QVariantAnimation::Interpolator>(&_q_interpolateClockwiseRotation); Change-Id: I8da70ef666deb3cbdbf05c5bac89f705a2ec5ea8 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* use nullptr consistently (clang-tidy)Shawn Rutledge2018-02-261-7/+7
| | | | | | | | | | | | | From now on we prefer nullptr instead of 0 to clarify cases where we are assigning or testing a pointer rather than a numeric zero. Also, replaced cases where 0 was passed as Qt::KeyboardModifiers with Qt::NoModifier (clang-tidy replaced them with nullptr, which waas wrong, so it was just as well to make the tests more readable rather than to revert those lines). Change-Id: I4735d35e4d9f42db5216862ce091429eadc6e65d Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Add NOTIFY signals for QtQuick Animation classes to/from propertiesKevin Krammer2017-12-161-2/+2
| | | | | | | Task-number: QTBUG-63178 Change-Id: Id3cd21625c17a3febba759e6895cb92db6ba314f Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Run includemocs in qtdeclarativeThiago Macieira2017-04-261-0/+2
| | | | | Change-Id: I84e363d735b443cb9beefffd14b8c023a37aa489 Reviewed-by: Lars Knoll <lars.knoll@qt.io>