Migrate QStandardPaths to use QRegularExpression

This patch updates the code from the unix implementation of
QStandardPaths to use QRegularExpression in place of the deprecated
QRegExp.

Change-Id: I51fa231dcd70ca55d1bfffb31d8f28f964ac44fe
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: David Faure <david.faure@kdab.com>
This commit is contained in:
Samuel Gaist 2017-01-29 23:52:10 +01:00 committed by Frederik Gladhorn
parent 82fbf97903
commit b03706d35f

View File

@ -42,6 +42,7 @@
#include <qfile.h>
#include <qhash.h>
#include <qtextstream.h>
#include <qregularexpression.h>
#include <private/qfilesystemengine_p.h>
#include <errno.h>
#include <stdlib.h>
@ -179,11 +180,12 @@ QString QStandardPaths::writableLocation(StandardLocation type)
QHash<QString, QString> lines;
QTextStream stream(&file);
// Only look for lines like: XDG_DESKTOP_DIR="$HOME/Desktop"
QRegExp exp(QLatin1String("^XDG_(.*)_DIR=(.*)$"));
QRegularExpression exp(QLatin1String("^XDG_(.*)_DIR=(.*)$"));
while (!stream.atEnd()) {
const QString &line = stream.readLine();
if (exp.indexIn(line) != -1) {
const QStringList lst = exp.capturedTexts();
QRegularExpressionMatch match = exp.match(line);
if (match.hasMatch()) {
const QStringList lst = match.capturedTexts();
const QString key = lst.at(1);
QString value = lst.at(2);
if (value.length() > 2