From 62adba9b989290481ab54d7f4aaaababdd4bdab7 Mon Sep 17 00:00:00 2001 From: Ahmad Samir Date: Fri, 31 Jul 2020 21:46:48 +0200 Subject: [PATCH] Port QRegExp to QRegularExpression, first pass --- kioslave/pop3/pop3.cpp | 5 +- resources/dav/resource/settings.cpp | 4 +- resources/dav/resource/setupwizard.cpp | 8 +-- .../kolab/pimkolab/autotests/testutils.h | 51 +++++++++++-------- resources/openxchange/oxa/contactutils.cpp | 3 +- resources/openxchange/oxa/incidenceutils.cpp | 3 +- 6 files changed, 44 insertions(+), 30 deletions(-) diff --git a/kioslave/pop3/pop3.cpp b/kioslave/pop3/pop3.cpp index b332d7a12..46a5e47ee 100644 --- a/kioslave/pop3/pop3.cpp +++ b/kioslave/pop3/pop3.cpp @@ -15,7 +15,7 @@ extern "C" { #include #include -#include +#include #include "pop3_debug.h" #include @@ -654,7 +654,8 @@ bool POP3Protocol::pop3_open() // Does the server support APOP? //QString apop_cmd; - QRegExp re(QStringLiteral("<[A-Za-z0-9\\.\\-_]+@[A-Za-z0-9\\.\\-_]+>$"), Qt::CaseInsensitive); + const QRegularExpression re(QStringLiteral("<[A-Za-z0-9\\.\\-_]+@[A-Za-z0-9\\.\\-_]+>$"), + QRegularExpression::CaseInsensitiveOption); qCDebug(POP3_LOG) << "greeting: " << greeting; int apop_pos = greeting.indexOf(re); diff --git a/resources/dav/resource/settings.cpp b/resources/dav/resource/settings.cpp index 55844be14..620873221 100644 --- a/resources/dav/resource/settings.cpp +++ b/resources/dav/resource/settings.cpp @@ -26,7 +26,7 @@ #include #include #include -#include +#include #include #include #include @@ -517,7 +517,7 @@ void Settings::updateToV2() QString urlConfigStr = urls.at(0); UrlConfiguration urlConfig(urlConfigStr); - QRegExp regexp(QLatin1Char('^') + urlConfig.mUser); + const QRegularExpression regexp(QStringLiteral("^") + urlConfig.mUser); QMutableStringListIterator it(urls); while (it.hasNext()) { diff --git a/resources/dav/resource/setupwizard.cpp b/resources/dav/resource/setupwizard.cpp index 28c18f8cc..d813a022e 100644 --- a/resources/dav/resource/setupwizard.cpp +++ b/resources/dav/resource/setupwizard.cpp @@ -24,7 +24,7 @@ #include #include #include -#include +#include enum GroupwareServers { Citadel, @@ -65,7 +65,7 @@ static QString settingsToUrl(const QWizard *wizard, const QString &protocol) QString username = wizard->field(QStringLiteral("credentialsUserName")).toString(); QString localPart(username); - localPart.remove(QRegExp(QLatin1String("@.*$"))); + localPart.remove(QRegularExpression(QStringLiteral("@.*$"))); pathPattern.replace(QLatin1String("$user$"), username); pathPattern.replace(QLatin1String("$localpart$"), localPart); QString providerName; @@ -377,10 +377,10 @@ ConnectionPage::ConnectionPage(QWidget *parent) setSubTitle(i18n("Enter the connection information for the groupware server")); mLayout = new QFormLayout(this); - QRegExp hostnameRegexp(QStringLiteral("^[a-z0-9][.a-z0-9-]*[a-z0-9](?::[0-9]+)?$")); + const QRegularExpression hostnameRegexp(QStringLiteral("^[a-z0-9][.a-z0-9-]*[a-z0-9](?::[0-9]+)?$")); mHost = new QLineEdit; registerField(QStringLiteral("connectionHost*"), mHost); - mHost->setValidator(new QRegExpValidator(hostnameRegexp, this)); + mHost->setValidator(new QRegularExpressionValidator(hostnameRegexp, this)); mLayout->addRow(i18n("Host"), mHost); mPath = new QLineEdit; diff --git a/resources/kolab/pimkolab/autotests/testutils.h b/resources/kolab/pimkolab/autotests/testutils.h index 950f8b66a..6af9e8068 100644 --- a/resources/kolab/pimkolab/autotests/testutils.h +++ b/resources/kolab/pimkolab/autotests/testutils.h @@ -9,6 +9,7 @@ #include #include +#include #include #include @@ -84,36 +85,46 @@ KMime::Message::Ptr readMimeFile(const QString &fileName, bool &ok) void normalizeMimemessage(QString &content) { - content.replace(QRegExp(QStringLiteral("\\bLibkolab-\\d.\\d.\\d\\b"), Qt::CaseSensitive), QStringLiteral("Libkolab-x.x.x")); - content.replace(QRegExp(QStringLiteral("\\bLibkolabxml-\\d.\\d.\\d\\b"), Qt::CaseSensitive), QStringLiteral("Libkolabxml-x.x.x")); - content.replace(QRegExp(QStringLiteral("\\bLibkolab-\\d.\\d\\b"), Qt::CaseSensitive), QStringLiteral("Libkolab-x.x.x")); - content.replace(QRegExp(QStringLiteral("\\bkdepim-runtime-\\d.\\d\\b"), Qt::CaseSensitive), QStringLiteral("Libkolab-x.x.x")); - content.replace(QRegExp(QStringLiteral("\\bLibkolabxml-\\d.\\d\\b"), Qt::CaseSensitive), QStringLiteral("Libkolabxml-x.x.x")); - content.replace(QRegExp(QStringLiteral("cid:*@kolab.resource.akonadi"), Qt::CaseSensitive, QRegExp::Wildcard), QStringLiteral("cid:id@kolab.resource.akonadi")); - content.replace(QRegExp(QStringLiteral("Content-ID: <*@kolab.resource.akonadi>"), Qt::CaseSensitive, QRegExp::Wildcard), QStringLiteral("Content-ID: ")); - content.replace(QRegExp(QStringLiteral("mailto:*"), Qt::CaseSensitive, QRegExp::Wildcard), QStringLiteral("mailto:")); - content.replace(QRegExp(QStringLiteral("mailto:*"), Qt::CaseSensitive, QRegExp::Wildcard), QStringLiteral("mailto:")); - content.replace(QRegExp(QStringLiteral("data:*"), Qt::CaseSensitive, QRegExp::Wildcard), QStringLiteral("data:")); - content.replace(QRegExp(QStringLiteral("*"), Qt::CaseSensitive, QRegExp::Wildcard), + content.replace(QRegularExpression(QStringLiteral("\\bLibkolab-\\d.\\d.\\d\\b")), QStringLiteral("Libkolab-x.x.x")); + content.replace(QRegularExpression(QStringLiteral("\\bLibkolabxml-\\d.\\d.\\d\\b")), QStringLiteral("Libkolabxml-x.x.x")); + content.replace(QRegularExpression(QStringLiteral("\\bLibkolab-\\d.\\d\\b")), QStringLiteral("Libkolab-x.x.x")); + content.replace(QRegularExpression(QStringLiteral("\\bkdepim-runtime-\\d.\\d\\b")), QStringLiteral("Libkolab-x.x.x")); + content.replace(QRegularExpression(QStringLiteral("\\bLibkolabxml-\\d.\\d\\b")), QStringLiteral("Libkolabxml-x.x.x")); + + content.replace(QRegularExpression(QStringLiteral("cid:.*@kolab.resource.akonadi")), QStringLiteral("cid:id@kolab.resource.akonadi")); + + content.replace(QRegularExpression(QStringLiteral("Content-ID: <.*@kolab.resource.akonadi>")), QStringLiteral("Content-ID: ")); + + content.replace(QRegularExpression(QStringLiteral("mailto:.*")), QStringLiteral("mailto:")); + content.replace(QRegularExpression(QStringLiteral("mailto:.*")), QStringLiteral("mailto:")); + + content.replace(QRegularExpression(QStringLiteral("data:.*")), QStringLiteral("data:")); + + content.replace(QRegularExpression(QStringLiteral(".*")), QStringLiteral("")); //We no longer support pobox, so remove pobox lines - content.replace(QRegExp(QStringLiteral("*"), Qt::CaseSensitive, QRegExp::Wildcard), QLatin1String("")); - content.replace(QRegExp(QStringLiteral("*"), Qt::CaseSensitive, QRegExp::Wildcard), QStringLiteral("")); - content.replace(QRegExp(QStringLiteral("*"), Qt::CaseSensitive, QRegExp::Wildcard), QStringLiteral("")); + content.remove(QRegularExpression(QStringLiteral(".*"))); + + content.replace(QRegularExpression(QStringLiteral(".*")), QStringLiteral("")); + + // DotMatchesEverythingOption because spans multiple lines + content.replace(QRegularExpression(QStringLiteral(".*"), QRegularExpression::DotMatchesEverythingOption), + QStringLiteral("")); + + content.replace(QRegularExpression(QStringLiteral("--nextPart\\S*")), QStringLiteral("--part")); + content.replace(QRegularExpression(QStringLiteral("\\bboundary=\"nextPart[^\\n]*")), QStringLiteral("boundary")); - content.replace(QRegExp(QStringLiteral("--nextPart\\S*"), Qt::CaseSensitive), QStringLiteral("--part")); - content.replace(QRegExp(QStringLiteral("\\bboundary=\"nextPart[^\\n]*"), Qt::CaseSensitive), QStringLiteral("boundary")); - content.replace(QRegExp(QStringLiteral("Date[^\\n]*"), Qt::CaseSensitive), QStringLiteral("Date")); + content.replace(QRegularExpression(QStringLiteral("Date[^\\n]*")), QStringLiteral("Date")); //The sort order of the attributes in kolabV2 is unpredictable - content.replace(QRegExp(QStringLiteral(""), Qt::CaseSensitive, QRegExp::Wildcard), QStringLiteral("")); + content.replace(QRegularExpression(QStringLiteral("")), QStringLiteral("")); //quoted-printable encoding changes where the linebreaks are every now and then (an all are valid), so we remove the linebreaks - content.replace(QRegExp(QStringLiteral("=\\n"), Qt::CaseSensitive), QLatin1String("")); + content.remove(QLatin1String("=\n")); } QString normalizeVCardMessage(QString content) { //The encoding changes every now and then - content.replace(QRegExp(QStringLiteral("ENCODING=b;TYPE=png:*"), Qt::CaseSensitive, QRegExp::Wildcard), QStringLiteral("ENCODING=b;TYPE=png:picturedata")); + content.replace(QRegularExpression(QStringLiteral("ENCODING=b;TYPE=png:.*")), QStringLiteral("ENCODING=b;TYPE=png:picturedata")); return content; } diff --git a/resources/openxchange/oxa/contactutils.cpp b/resources/openxchange/oxa/contactutils.cpp index c4ac26c6b..7edb7e52f 100644 --- a/resources/openxchange/oxa/contactutils.cpp +++ b/resources/openxchange/oxa/contactutils.cpp @@ -17,6 +17,7 @@ #include #include #include +#include using namespace OXA; @@ -232,7 +233,7 @@ void OXA::ContactUtils::parseContact(const QDomElement &propElement, Object &obj } else if (tagName == QLatin1String("pager")) { contact.insertPhoneNumber(KContacts::PhoneNumber(text, KContacts::PhoneNumber::Pager)); } else if (tagName == QLatin1String("categories")) { - contact.setCategories(text.split(QRegExp(QLatin1String(",\\s*")))); + contact.setCategories(text.split(QRegularExpression(QStringLiteral(",\\s*")))); } element = element.nextSiblingElement(); diff --git a/resources/openxchange/oxa/incidenceutils.cpp b/resources/openxchange/oxa/incidenceutils.cpp index 3d52034de..90d7006aa 100644 --- a/resources/openxchange/oxa/incidenceutils.cpp +++ b/resources/openxchange/oxa/incidenceutils.cpp @@ -20,6 +20,7 @@ #include #include +#include using namespace OXA; @@ -114,7 +115,7 @@ static void parseIncidenceAttribute(const QDomElement &element, const KCalendarC incidence->setSecrecy(KCalendarCore::Incidence::SecrecyPublic); } } else if (tagName == QLatin1String("categories")) { - incidence->setCategories(text.split(QRegExp(QLatin1String(",\\s*")))); + incidence->setCategories(text.split(QRegularExpression(QStringLiteral(",\\s*")))); } } -- GitLab