summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandru Croitor <alexandru.croitor@qt.io>2019-08-11 10:21:35 +0200
committerAlexandru Croitor <alexandru.croitor@qt.io>2019-08-11 10:21:35 +0200
commit019e855ddd54a9f684f0567dd9d5fb8844462ce2 (patch)
tree07174c42db1e6cc9df544671bcdc92dc97292734
parent9fd486637caa7f3064561ad02f02241284a26f66 (diff)
parentb80a1676c9f5cc0b428f15ac09f6648a80aacb26 (diff)
downloadqtsvg-019e855ddd54a9f684f0567dd9d5fb8844462ce2.tar.gz
Merge remote-tracking branch 'origin/dev' into wip/qt6
Change-Id: I4a9a175cb431cb3d38146e98cf08d7042dcc8f2b
-rw-r--r--dist/changes-5.12.420
-rw-r--r--dist/changes-5.13.018
-rw-r--r--examples/svg/embedded/fluidlauncher/pictureflow.cpp6
-rw-r--r--src/plugins/imageformats/svg/qsvgiohandler.cpp4
-rw-r--r--src/plugins/imageformats/svg/qsvgiohandler.h2
-rw-r--r--src/svg/doc/qtsvg.qdocconf1
-rw-r--r--src/svg/qsvgtinydocument.cpp19
-rw-r--r--src/svg/qsvgtinydocument_p.h4
-rw-r--r--tests/auto/auto.pro3
-rw-r--r--tests/auto/qsvggenerator/qsvggenerator.pro3
-rw-r--r--tests/auto/qsvggenerator/tst_qsvggenerator.cpp2
-rw-r--r--tests/auto/qsvgplugin/qsvgplugin.pro1
-rw-r--r--tests/auto/qsvgplugin/tst_qsvgplugin.cpp33
13 files changed, 79 insertions, 37 deletions
diff --git a/dist/changes-5.12.4 b/dist/changes-5.12.4
new file mode 100644
index 0000000..a285cd8
--- /dev/null
+++ b/dist/changes-5.12.4
@@ -0,0 +1,20 @@
+Qt 5.12.4 is a bug-fix release. It maintains both forward and backward
+compatibility (source and binary) with Qt 5.12.0 through 5.12.3.
+
+For more details, refer to the online documentation included in this
+distribution. The documentation is also available online:
+
+https://doc.qt.io/qt-5/index.html
+
+The Qt version 5.12 series is binary compatible with the 5.11.x series.
+Applications compiled for 5.11 will continue to run with 5.12.
+
+Some of the changes listed in this file include issue tracking numbers
+corresponding to tasks in the Qt Bug Tracker:
+
+https://bugreports.qt.io/
+
+Each of these identifiers can be entered in the bug tracker to obtain more
+information about a particular change.
+
+ - This release contains only minor code improvements.
diff --git a/dist/changes-5.13.0 b/dist/changes-5.13.0
new file mode 100644
index 0000000..ebb4be1
--- /dev/null
+++ b/dist/changes-5.13.0
@@ -0,0 +1,18 @@
+Qt 5.13 introduces many new features and improvements as well as bugfixes
+over the 5.12.x series. For more details, refer to the online documentation
+included in this distribution. The documentation is also available online:
+
+https://doc.qt.io/qt-5/index.html
+
+The Qt version 5.13 series is binary compatible with the 5.12.x series.
+Applications compiled for 5.12 will continue to run with 5.13.
+
+Some of the changes listed in this file include issue tracking numbers
+corresponding to tasks in the Qt Bug Tracker:
+
+https://bugreports.qt.io/
+
+Each of these identifiers can be entered in the bug tracker to obtain more
+information about a particular change.
+
+ - This release contains only minor code improvements.
diff --git a/examples/svg/embedded/fluidlauncher/pictureflow.cpp b/examples/svg/embedded/fluidlauncher/pictureflow.cpp
index 191ff2e..b0657a2 100644
--- a/examples/svg/embedded/fluidlauncher/pictureflow.cpp
+++ b/examples/svg/embedded/fluidlauncher/pictureflow.cpp
@@ -85,7 +85,7 @@
#include <QTimer>
#include <QVector>
#include <QWidget>
-#include <QTime>
+#include <QElapsedTimer>
#include <QDebug>
@@ -376,7 +376,7 @@ public:
int singlePressThreshold;
QPoint firstPress;
QPoint previousPos;
- QTime previousPosTimestamp;
+ QElapsedTimer previousPosTimestamp;
int pixelDistanceMoved;
int pixelsToMovePerSlide;
@@ -1397,7 +1397,7 @@ void PictureFlow::timerEvent(QTimerEvent* event)
{
if(event->timerId() == d->animateTimer.timerId())
{
-// QTime now = QTime::currentTime();
+// QElapsedTimer now; now.start();
d->updateAnimation();
// d->animateTimer.start(qMax(0, 30-now.elapsed() ), this);
}
diff --git a/src/plugins/imageformats/svg/qsvgiohandler.cpp b/src/plugins/imageformats/svg/qsvgiohandler.cpp
index a999d47..6999d51 100644
--- a/src/plugins/imageformats/svg/qsvgiohandler.cpp
+++ b/src/plugins/imageformats/svg/qsvgiohandler.cpp
@@ -140,12 +140,12 @@ bool QSvgIOHandler::canRead() const
return false;
}
-
+#if QT_DEPRECATED_SINCE(5, 13)
QByteArray QSvgIOHandler::name() const
{
return "svg";
}
-
+#endif
bool QSvgIOHandler::read(QImage *image)
{
diff --git a/src/plugins/imageformats/svg/qsvgiohandler.h b/src/plugins/imageformats/svg/qsvgiohandler.h
index fdafa0a..5fdf6ee 100644
--- a/src/plugins/imageformats/svg/qsvgiohandler.h
+++ b/src/plugins/imageformats/svg/qsvgiohandler.h
@@ -58,7 +58,9 @@ public:
QSvgIOHandler();
~QSvgIOHandler();
bool canRead() const override;
+#if QT_DEPRECATED_SINCE(5, 13)
QByteArray name() const override;
+#endif
bool read(QImage *image) override;
static bool canRead(QIODevice *device);
QVariant option(ImageOption option) const override;
diff --git a/src/svg/doc/qtsvg.qdocconf b/src/svg/doc/qtsvg.qdocconf
index b180daa..1254d61 100644
--- a/src/svg/doc/qtsvg.qdocconf
+++ b/src/svg/doc/qtsvg.qdocconf
@@ -1,4 +1,5 @@
include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
+include($QT_INSTALL_DOCS/config/exampleurl-qtsvg.qdocconf)
project = QtSvg
description = Qt SVG Reference Documentation
diff --git a/src/svg/qsvgtinydocument.cpp b/src/svg/qsvgtinydocument.cpp
index 77aafb4..3143ad2 100644
--- a/src/svg/qsvgtinydocument.cpp
+++ b/src/svg/qsvgtinydocument.cpp
@@ -60,6 +60,7 @@ QSvgTinyDocument::QSvgTinyDocument()
: QSvgStructureNode(0)
, m_widthPercent(false)
, m_heightPercent(false)
+ , m_time(0)
, m_animated(false)
, m_animationDuration(0)
, m_fps(30)
@@ -230,9 +231,8 @@ QSvgTinyDocument * QSvgTinyDocument::load(QXmlStreamReader *contents)
void QSvgTinyDocument::draw(QPainter *p, const QRectF &bounds)
{
- if (m_time.isNull()) {
- m_time.start();
- }
+ if (m_time == 0)
+ m_time = QDateTime::currentMSecsSinceEpoch();
if (displayMode() == QSvgNode::NoneMode)
return;
@@ -269,9 +269,8 @@ void QSvgTinyDocument::draw(QPainter *p, const QString &id,
qCDebug(lcSvgHandler, "Couldn't find node %s. Skipping rendering.", qPrintable(id));
return;
}
- if (m_time.isNull()) {
- m_time.start();
- }
+ if (m_time == 0)
+ m_time = QDateTime::currentMSecsSinceEpoch();
if (node->displayMode() == QSvgNode::NoneMode)
return;
@@ -377,7 +376,7 @@ QSvgFillStyleProperty *QSvgTinyDocument::namedStyle(const QString &id) const
void QSvgTinyDocument::restartAnimation()
{
- m_time.restart();
+ m_time = QDateTime::currentMSecsSinceEpoch();
}
bool QSvgTinyDocument::animated() const
@@ -491,7 +490,7 @@ QMatrix QSvgTinyDocument::matrixForElement(const QString &id) const
int QSvgTinyDocument::currentFrame() const
{
- double runningPercentage = qMin(m_time.elapsed()/double(m_animationDuration), 1.);
+ double runningPercentage = qMin(currentElapsed() / double(m_animationDuration), 1.);
int totalFrames = m_fps * m_animationDuration;
@@ -504,8 +503,8 @@ void QSvgTinyDocument::setCurrentFrame(int frame)
double framePercentage = frame/double(totalFrames);
double timeForFrame = m_animationDuration * framePercentage; //in S
timeForFrame *= 1000; //in ms
- int timeToAdd = int(timeForFrame - m_time.elapsed());
- m_time = m_time.addMSecs(timeToAdd);
+ int timeToAdd = int(timeForFrame - currentElapsed());
+ m_time += timeToAdd;
}
void QSvgTinyDocument::setFramesPerSecond(int num)
diff --git a/src/svg/qsvgtinydocument_p.h b/src/svg/qsvgtinydocument_p.h
index 5f5d06b..404587d 100644
--- a/src/svg/qsvgtinydocument_p.h
+++ b/src/svg/qsvgtinydocument_p.h
@@ -132,7 +132,7 @@ private:
QHash<QString, QSvgNode *> m_namedNodes;
QHash<QString, QSvgRefCounter<QSvgFillStyleProperty> > m_namedStyles;
- QTime m_time;
+ qint64 m_time;
bool m_animated;
int m_animationDuration;
int m_fps;
@@ -189,7 +189,7 @@ inline bool QSvgTinyDocument::preserveAspectRatio() const
inline int QSvgTinyDocument::currentElapsed() const
{
- return m_time.elapsed();
+ return QDateTime::currentMSecsSinceEpoch() - m_time;
}
inline int QSvgTinyDocument::animationDuration() const
diff --git a/tests/auto/auto.pro b/tests/auto/auto.pro
index e2d84ec..925e4cd 100644
--- a/tests/auto/auto.pro
+++ b/tests/auto/auto.pro
@@ -3,12 +3,13 @@ qtHaveModule(widgets) {
SUBDIRS = \
qsvgdevice \
qsvggenerator \
- qsvgrenderer \
qsvgplugin \
qicon_svg \
cmake \
installed_cmake
+ !android: SUBDIRS += qsvgrenderer
+
installed_cmake.depends = cmake
}
!cross_compile: SUBDIRS += host.pro
diff --git a/tests/auto/qsvggenerator/qsvggenerator.pro b/tests/auto/qsvggenerator/qsvggenerator.pro
index fd0edfa..1b6f329 100644
--- a/tests/auto/qsvggenerator/qsvggenerator.pro
+++ b/tests/auto/qsvggenerator/qsvggenerator.pro
@@ -4,4 +4,5 @@ QT += svg xml testlib widgets gui-private
SOURCES += tst_qsvggenerator.cpp
-DEFINES += SRCDIR=\\\"$$PWD/\\\"
+RESOURCES += referenceSvgs/fileName_output.svg \
+ referenceSvgs/radial_gradient.svg
diff --git a/tests/auto/qsvggenerator/tst_qsvggenerator.cpp b/tests/auto/qsvggenerator/tst_qsvggenerator.cpp
index b55b687..9217a5b 100644
--- a/tests/auto/qsvggenerator/tst_qsvggenerator.cpp
+++ b/tests/auto/qsvggenerator/tst_qsvggenerator.cpp
@@ -122,7 +122,7 @@ static void checkFile(const QString &fileName)
QFile file(fileName);
QVERIFY(file.open(QIODevice::ReadOnly));
- QFile referenceFile(SRCDIR "referenceSvgs/" + fileName);
+ QFile referenceFile(QFINDTESTDATA("referenceSvgs/" + fileName));
QVERIFY(referenceFile.open(QIODevice::ReadOnly));
compareWithoutFontInfo(file.readAll(), referenceFile.readAll());
diff --git a/tests/auto/qsvgplugin/qsvgplugin.pro b/tests/auto/qsvgplugin/qsvgplugin.pro
index 3fec52e..657b511 100644
--- a/tests/auto/qsvgplugin/qsvgplugin.pro
+++ b/tests/auto/qsvgplugin/qsvgplugin.pro
@@ -5,4 +5,3 @@ QT += svg testlib widgets gui-private
SOURCES += tst_qsvgplugin.cpp
RESOURCES += resources.qrc
-DEFINES += SRCDIR=\\\"$$PWD/\\\"
diff --git a/tests/auto/qsvgplugin/tst_qsvgplugin.cpp b/tests/auto/qsvgplugin/tst_qsvgplugin.cpp
index da49b75..e1f84f3 100644
--- a/tests/auto/qsvgplugin/tst_qsvgplugin.cpp
+++ b/tests/auto/qsvgplugin/tst_qsvgplugin.cpp
@@ -79,18 +79,18 @@ void tst_QSvgPlugin::checkSize_data()
QTest::addColumn<int>("imageHeight");
QTest::addColumn<int>("imageWidth");
- QTest::newRow("square") << SRCDIR "square.svg" << 50 << 50;
- QTest::newRow("square_size") << SRCDIR "square_size.svg" << 200 << 200;
- QTest::newRow("square_size_viewbox") << SRCDIR "square_size_viewbox.svg" << 200 << 200;
- QTest::newRow("square_viewbox") << SRCDIR "square_viewbox.svg" << 100 << 100;
- QTest::newRow("tall") << SRCDIR "tall.svg" << 50 << 25;
- QTest::newRow("tall_size") << SRCDIR "tall_size.svg" << 200 << 100;
- QTest::newRow("tall_size_viewbox") << SRCDIR "tall_size_viewbox.svg" << 200 << 100;
- QTest::newRow("tall_viewbox") << SRCDIR "tall_viewbox.svg" << 100 << 50;
- QTest::newRow("wide") << SRCDIR "wide.svg" << 25 << 50;
- QTest::newRow("wide_size") << SRCDIR "wide_size.svg" << 100 << 200;
- QTest::newRow("wide_size_viewbox") << SRCDIR "wide_size_viewbox.svg" << 100 << 200;
- QTest::newRow("wide_viewbox") << SRCDIR "wide_viewbox.svg" << 50 << 100;
+ QTest::newRow("square") << QFINDTESTDATA("square.svg") << 50 << 50;
+ QTest::newRow("square_size") << QFINDTESTDATA("square_size.svg") << 200 << 200;
+ QTest::newRow("square_size_viewbox") << QFINDTESTDATA("square_size_viewbox.svg") << 200 << 200;
+ QTest::newRow("square_viewbox") << QFINDTESTDATA("square_viewbox.svg") << 100 << 100;
+ QTest::newRow("tall") << QFINDTESTDATA("tall.svg") << 50 << 25;
+ QTest::newRow("tall_size") << QFINDTESTDATA("tall_size.svg") << 200 << 100;
+ QTest::newRow("tall_size_viewbox") << QFINDTESTDATA("tall_size_viewbox.svg") << 200 << 100;
+ QTest::newRow("tall_viewbox") << QFINDTESTDATA("tall_viewbox.svg") << 100 << 50;
+ QTest::newRow("wide") << QFINDTESTDATA("wide.svg") << 25 << 50;
+ QTest::newRow("wide_size") << QFINDTESTDATA("wide_size.svg") << 100 << 200;
+ QTest::newRow("wide_size_viewbox") << QFINDTESTDATA("wide_size_viewbox.svg") << 100 << 200;
+ QTest::newRow("wide_viewbox") << QFINDTESTDATA("wide_viewbox.svg") << 50 << 100;
}
void tst_QSvgPlugin::checkSize()
@@ -116,7 +116,8 @@ void tst_QSvgPlugin::checkSize()
void tst_QSvgPlugin::checkImageInclude()
{
- const QString filename(SRCDIR "imageInclude.svg");
+ const QString filename(QFINDTESTDATA("imageInclude.svg"));
+ const QString path = filename.left(filename.size() - strlen("imageInclude.svg"));
QFile file(filename);
file.open(QIODevice::ReadOnly);
@@ -132,9 +133,9 @@ void tst_QSvgPlugin::checkImageInclude()
file.close();
QCOMPARE(logMessages.size(), 8);
- QCOMPARE(logMessages.at(0), QString("Could not create image from \"%1notExisting.svg\"").arg(SRCDIR));
- QCOMPARE(logMessages.at(1), QString("Could not create image from \"%1./notExisting.svg\"").arg(SRCDIR));
- QCOMPARE(logMessages.at(2), QString("Could not create image from \"%1../notExisting.svg\"").arg(SRCDIR));
+ QCOMPARE(logMessages.at(0), QString("Could not create image from \"%1notExisting.svg\"").arg(path));
+ QCOMPARE(logMessages.at(1), QString("Could not create image from \"%1./notExisting.svg\"").arg(path));
+ QCOMPARE(logMessages.at(2), QString("Could not create image from \"%1../notExisting.svg\"").arg(path));
QCOMPARE(logMessages.at(3), QString("Could not create image from \"%1notExisting.svg\"").arg(QDir::rootPath()));
QCOMPARE(logMessages.at(4), QLatin1String("Could not create image from \":/notExisting.svg\""));
QCOMPARE(logMessages.at(5), QLatin1String("Could not create image from \"qrc:///notExisting.svg\""));