diff options
Diffstat (limited to 'src/libs/utils/persistentsettings.cpp')
-rw-r--r-- | src/libs/utils/persistentsettings.cpp | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/libs/utils/persistentsettings.cpp b/src/libs/utils/persistentsettings.cpp index a0ba53ed25..d17a578292 100644 --- a/src/libs/utils/persistentsettings.cpp +++ b/src/libs/utils/persistentsettings.cpp @@ -33,7 +33,7 @@ #include <QXmlStreamWriter> #include <QDateTime> #include <QTextStream> -#include <QRegExp> +#include <QRegularExpression> #include <QRect> #ifdef QT_GUI_LIB @@ -59,11 +59,12 @@ static QString rectangleToString(const QRect &r) static QRect stringToRectangle(const QString &v) { - static QRegExp pattern(QLatin1String("(\\d+)x(\\d+)([-+]\\d+)([-+]\\d+)")); + static QRegularExpression pattern("^(\\d+)x(\\d+)([-+]\\d+)([-+]\\d+)$"); Q_ASSERT(pattern.isValid()); - return pattern.exactMatch(v) ? - QRect(QPoint(pattern.cap(3).toInt(), pattern.cap(4).toInt()), - QSize(pattern.cap(1).toInt(), pattern.cap(2).toInt())) : + const QRegularExpressionMatch match = pattern.match(v); + return match.hasMatch() ? + QRect(QPoint(match.captured(3).toInt(), match.captured(4).toInt()), + QSize(match.captured(1).toInt(), match.captured(2).toInt())) : QRect(); } @@ -374,15 +375,17 @@ static void writeVariantValue(QXmlStreamWriter &w, const Context &ctx, { switch (static_cast<int>(variant.type())) { case static_cast<int>(QVariant::StringList): - case static_cast<int>(QVariant::List): + case static_cast<int>(QVariant::List): { w.writeStartElement(ctx.valueListElement); w.writeAttribute(ctx.typeAttribute, QLatin1String(QVariant::typeToName(QVariant::List))); if (!key.isEmpty()) w.writeAttribute(ctx.keyAttribute, key); - foreach (const QVariant &var, variant.toList()) + const QList<QVariant> list = variant.toList(); + for (const QVariant &var : list) writeVariantValue(w, ctx, var); w.writeEndElement(); break; + } case static_cast<int>(QVariant::Map): { w.writeStartElement(ctx.valueMapElement); w.writeAttribute(ctx.typeAttribute, QLatin1String(QVariant::typeToName(QVariant::Map))); |