aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/quick/qquickanimatedimage/tst_qquickanimatedimage.cpp
diff options
context:
space:
mode:
authorVladimir Belyavsky <belyavskyv@gmail.com>2022-12-10 18:20:46 +0300
committerVladimir Belyavsky <belyavskyv@gmail.com>2023-01-26 08:20:00 +0000
commit5c496ad9527487a0d9d33ac0882fab439c993b02 (patch)
tree47c836cf7d75e785e44904b0e6a466d26c91bedb /tests/auto/quick/qquickanimatedimage/tst_qquickanimatedimage.cpp
parent5bcbd0a513dcf929890a869ad01c68b3175fa6e2 (diff)
AnimatedImage: Add ability to configure sourceSize
This allows to reduce memory consumption and improve performance when you need to load and play hi-res GIF files or animated SVG. [ChangeLog][QtQuick][AnimatedImage] It's now possible to configure sourceSize property for AnimatedImage. This might be useful when you need e.g. to play hi-res GIF files in some smaller size. Fixes: QTBUG-57501 Change-Id: I26d464855bbc20e155a8fb589a48842986a3dea4 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Diffstat (limited to 'tests/auto/quick/qquickanimatedimage/tst_qquickanimatedimage.cpp')
-rw-r--r--tests/auto/quick/qquickanimatedimage/tst_qquickanimatedimage.cpp17
1 files changed, 12 insertions, 5 deletions
diff --git a/tests/auto/quick/qquickanimatedimage/tst_qquickanimatedimage.cpp b/tests/auto/quick/qquickanimatedimage/tst_qquickanimatedimage.cpp
index 1a01a8aca5..cb81ec8a07 100644
--- a/tests/auto/quick/qquickanimatedimage/tst_qquickanimatedimage.cpp
+++ b/tests/auto/quick/qquickanimatedimage/tst_qquickanimatedimage.cpp
@@ -52,9 +52,9 @@ private slots:
void remote();
void remote_data();
void sourceSize();
+ void setSourceSize();
void sourceSizeChanges();
void sourceSizeChanges_intermediate();
- void sourceSizeReadOnly();
void invalidSource();
void qtbug_16520();
void progressAndStatusChanges();
@@ -287,12 +287,19 @@ void tst_qquickanimatedimage::sourceSize()
delete anim;
}
-void tst_qquickanimatedimage::sourceSizeReadOnly()
+void tst_qquickanimatedimage::setSourceSize()
{
QQmlEngine engine;
- QQmlComponent component(&engine, testFileUrl("stickmanerror1.qml"));
- QVERIFY(component.isError());
- QCOMPARE(component.errors().at(0).description(), QString("Invalid property assignment: \"sourceSize\" is a read-only property"));
+ QQmlComponent component(&engine, testFileUrl("stickmansourcesized.qml"));
+ QScopedPointer<QQuickAnimatedImage> anim(qobject_cast<QQuickAnimatedImage *>(component.create()));
+ QVERIFY(anim);
+ QCOMPARE(anim->sourceSize(), QSize(80, 60));
+
+ anim->setSourceSize(QSize(40, 30));
+ QCOMPARE(anim->sourceSize(), QSize(40, 30));
+
+ anim->setSourceSize(QSize());
+ QCOMPARE(anim->sourceSize(), QSize(160, 120));
}
void tst_qquickanimatedimage::invalidSource()