diff --git a/plugin-sysstat/lxqtsysstatutils.cpp b/plugin-sysstat/lxqtsysstatutils.cpp index fe9bc5ca6..b053b4eef 100644 --- a/plugin-sysstat/lxqtsysstatutils.cpp +++ b/plugin-sysstat/lxqtsysstatutils.cpp @@ -25,7 +25,7 @@ * * END_COMMON_COPYRIGHT_HEADER */ -#include +#include #include #include "lxqtsysstatutils.h" @@ -44,13 +44,14 @@ QString netSpeedToString(int value) return QStringLiteral("%1 %2B/s").arg(1 << (value % 10)).arg(prefix); } -int netSpeedFromString(QString value) +int netSpeedFromString(const QStringView& value) { - QRegExp re(QStringLiteral("^(\\d+) ([kMG])B/s$")); - if (re.exactMatch(value)) + static QRegularExpression re(QStringLiteral("^(\\d+) ([kMG])B/s$")); + QRegularExpressionMatch match = re.matchView(value); + if (match.hasMatch()) { int shift = 0; - switch (re.cap(2).at(0).toLatin1()) + switch (match.capturedView(2).at(0).toLatin1()) { case 'k': shift = 10; @@ -65,7 +66,7 @@ int netSpeedFromString(QString value) break; } - return qCeil(qLn(re.cap(1).toInt()) / qLn(2.)) + shift; + return qCeil(qLn(match.capturedView(1).toInt()) / qLn(2.)) + shift; } return 0; diff --git a/plugin-sysstat/lxqtsysstatutils.h b/plugin-sysstat/lxqtsysstatutils.h index e83aee767..4fc7fef90 100644 --- a/plugin-sysstat/lxqtsysstatutils.h +++ b/plugin-sysstat/lxqtsysstatutils.h @@ -34,7 +34,7 @@ namespace PluginSysStat { QString netSpeedToString(int value); -int netSpeedFromString(QString value); +int netSpeedFromString(const QStringView &value); }