aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/utils/persistentsettings.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/utils/persistentsettings.cpp')
-rw-r--r--src/libs/utils/persistentsettings.cpp17
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)));