aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/quick
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
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')
-rw-r--r--tests/auto/quick/qquickanimatedimage/data/stickmansourcesized.qml (renamed from tests/auto/quick/qquickanimatedimage/data/stickmanerror1.qml)2
-rw-r--r--tests/auto/quick/qquickanimatedimage/tst_qquickanimatedimage.cpp17
2 files changed, 13 insertions, 6 deletions
diff --git a/tests/auto/quick/qquickanimatedimage/data/stickmanerror1.qml b/tests/auto/quick/qquickanimatedimage/data/stickmansourcesized.qml
index 4f823b3d70..76d277df62 100644
--- a/tests/auto/quick/qquickanimatedimage/data/stickmanerror1.qml
+++ b/tests/auto/quick/qquickanimatedimage/data/stickmansourcesized.qml
@@ -1,6 +1,6 @@
import QtQuick 2.0
AnimatedImage {
- sourceSize: "240x180"
+ sourceSize: "80x60"
source: "stickman.gif"
}
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()