summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Gaist <samuel.gaist@idiap.ch>2018-08-06 00:10:05 +0200
committerSamuel Gaist <samuel.gaist@idiap.ch>2018-08-12 22:07:58 +0000
commitbb80aeee1fb19445889210ec913046d0ca385721 (patch)
treefa84cb6632788747ae135b99a2304c0340d59ff8
parent524478f60e6eac991b9ef033a2030a9ea5aa5c36 (diff)
downloadqtsvg-bb80aeee1fb19445889210ec913046d0ca385721.tar.gz
Migrate QSvgHandler to use QRegularExpression
This patch updates the QSvgHandler class to use QRegularExpression in place of QRegExp which is to be considered deprecated. Change-Id: Ie35ff1e697741711440b6a99da26d435bc782d15 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
-rw-r--r--src/svg/qsvghandler.cpp22
1 files changed, 11 insertions, 11 deletions
diff --git a/src/svg/qsvghandler.cpp b/src/svg/qsvghandler.cpp
index 10cb779..b625d3f 100644
--- a/src/svg/qsvghandler.cpp
+++ b/src/svg/qsvghandler.cpp
@@ -59,6 +59,7 @@
#include "qdebug.h"
#include "qmath.h"
#include "qnumeric.h"
+#include <qregularexpression.h>
#include "qvarlengtharray.h"
#include "private/qmath_p.h"
@@ -3948,24 +3949,23 @@ bool QSvgHandler::processingInstruction(const QString &target, const QString &da
Q_UNUSED(data)
#else
if (target == QLatin1String("xml-stylesheet")) {
- QRegExp rx(QLatin1String("type=\\\"(.+)\\\""));
- rx.setMinimal(true);
+ QRegularExpression rx(QLatin1String("type=\\\"(.+)\\\""),
+ QRegularExpression::InvertedGreedinessOption);
+ QRegularExpressionMatchIterator iter = rx.globalMatch(data);
bool isCss = false;
- int pos = 0;
- while ((pos = rx.indexIn(data, pos)) != -1) {
- QString type = rx.cap(1);
+ while (iter.hasNext()) {
+ QRegularExpressionMatch match = iter.next();
+ QString type = match.captured(1);
if (type.toLower() == QLatin1String("text/css")) {
isCss = true;
}
- pos += rx.matchedLength();
}
if (isCss) {
- QRegExp rx(QLatin1String("href=\\\"(.+)\\\""));
- rx.setMinimal(true);
- pos = 0;
- pos = rx.indexIn(data, pos);
- QString addr = rx.cap(1);
+ QRegularExpression rx(QLatin1String("href=\\\"(.+)\\\""),
+ QRegularExpression::InvertedGreedinessOption);
+ QRegularExpressionMatch match = rx.match(data);
+ QString addr = match.captured(1);
QFileInfo fi(addr);
//qDebug()<<"External CSS file "<<fi.absoluteFilePath()<<fi.exists();
if (fi.exists()) {