diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ # set minimum version requirements cmake_minimum_required(VERSION 3.5) -set(REQUIRED_QT_VERSION 5.11.0) +set(REQUIRED_QT_VERSION 5.12.0) set(KF5_VERSION "5.66.0") # handled by release scripts set(KF5_DEP_VERSION "5.65.0") # handled by release scripts diff --git a/src/kioslaves/timeline/timelinetools.cpp b/src/kioslaves/timeline/timelinetools.cpp --- a/src/kioslaves/timeline/timelinetools.cpp +++ b/src/kioslaves/timeline/timelinetools.cpp @@ -24,7 +24,7 @@ #include #include -#include +#include #include @@ -90,7 +90,8 @@ { qCDebug(KIO_TIMELINE) << url; - static QRegExp s_dateRegexp(QStringLiteral("\\d{4}-\\d{2}(?:-(\\d{2}))?")); + const QString pattern(QStringLiteral("\\d{4}-\\d{2}(?:-(\\d{2}))?")); + static QRegularExpression s_dateRegexp(QRegularExpression::anchoredPattern(pattern)); // reset *date = QDate(); @@ -114,18 +115,20 @@ } else { QStringList sections = path.split(QStringLiteral("/"), QString::SkipEmptyParts); QString dateString; - if (s_dateRegexp.exactMatch(sections.last())) { + QRegularExpressionMatch match; + if ((match = s_dateRegexp.match(sections.last())).hasMatch()) { dateString = sections.last(); - } else if (sections.count() > 1 && s_dateRegexp.exactMatch(sections[sections.count() - 2])) { + } else if (sections.count() > 1 && (match = s_dateRegexp.match(sections[sections.count() - 2])).hasMatch()) { dateString = sections[sections.count() - 2]; - if (filename) + if (filename) { *filename = sections.last(); + } } else { qCWarning(KIO_TIMELINE) << url << "COULD NOT PARSE"; return NoFolder; } - if (s_dateRegexp.cap(1).isEmpty()) { + if (match.captured(1).isEmpty()) { // no day -> month listing qCDebug(KIO_TIMELINE) << "parsing " << dateString; *date = QDate::fromString(dateString, QStringLiteral("yyyy-MM"));