Port from QStringRef to QStringView, QStringRef is gone in Qt6

The QStringView::to<Number>() methods in Qt5 cause one extra allocation
compared to the QStringRef counter-part. As long as we aren't on a hot
path this is probably not worth the extra #ifdef though.
wilder-5.25
Volker Krause 4 years ago
parent 070009a5cb
commit e29df8668f
  1. 2
      applets/systemtray/statusnotifieritemsource.cpp
  2. 2
      dataengines/applicationjobs/kuiserverengine.cpp
  3. 6
      dataengines/devicenotifications/ksolidnotify.cpp
  4. 2
      dataengines/statusnotifieritem/statusnotifieritemsource.cpp
  5. 2
      dataengines/systemmonitor/systemmonitor.cpp
  6. 2
      kcms/cursortheme/kcmcursortheme.cpp
  7. 2
      kcms/fonts/previewimageprovider.cpp
  8. 4
      libkworkspace/kdisplaymanager.cpp
  9. 2
      wallpapers/image/image.cpp

@ -256,7 +256,7 @@ void StatusNotifierItemSource::refreshCallback(QDBusPendingCallWatcher *call)
}
// FIXME: If last part of path is not "icons", this won't work!
QString appName;
auto tokens = path.splitRef('/', Qt::SkipEmptyParts);
auto tokens = QStringView(path).split('/', Qt::SkipEmptyParts);
if (tokens.length() >= 3 && tokens.takeLast() == QLatin1String("icons"))
appName = tokens.takeLast().toString();

@ -36,7 +36,7 @@ QString KuiserverEngine::sourceName(Job *job)
uint KuiserverEngine::jobId(const QString &sourceName)
{
return sourceName.midRef(4 /*length of Job + space*/).toUInt();
return QStringView(sourceName).mid(4 /*length of Job + space*/).toUInt();
}
Plasma::Service *KuiserverEngine::serviceForSource(const QString &source)

@ -26,7 +26,7 @@
#include <QProcess>
#include <QRegularExpression>
#include <QStringList>
#include <QStringRef>
#include <QStringView>
#include <QVector>
KSolidNotify::KSolidNotify(QObject *parent)
@ -113,9 +113,9 @@ void KSolidNotify::queryBlockingApps(const QString &devicePath)
connect(p, static_cast<void (QProcess::*)(int, QProcess::ExitStatus)>(&QProcess::finished), [=](int, QProcess::ExitStatus) {
QStringList blockApps;
QString out(p->readAll());
const QVector<QStringRef> pidList = out.splitRef(QRegularExpression(QStringLiteral("\\s+")), Qt::SkipEmptyParts);
const auto pidList = QStringView(out).split(QRegularExpression(QStringLiteral("\\s+")), Qt::SkipEmptyParts);
KSysGuard::Processes procs;
for (const QStringRef &pidStr : pidList) {
for (const QStringView &pidStr : pidList) {
int pid = pidStr.toInt();
if (!pid) {
continue;

@ -240,7 +240,7 @@ void StatusNotifierItemSource::refreshCallback(QDBusPendingCallWatcher *call)
}
// FIXME: If last part of path is not "icons", this won't work!
QString appName;
auto tokens = path.splitRef('/', Qt::SkipEmptyParts);
auto tokens = QStringView(path).split('/', Qt::SkipEmptyParts);
if (tokens.length() >= 3 && tokens.takeLast() == QLatin1String("icons"))
appName = tokens.takeLast().toString();

@ -117,7 +117,7 @@ void SystemMonitorEngine::answerReceived(int id, const QList<QByteArray> &answer
foreach (const QByteArray &sens, answer) {
const QString sensStr{QString::fromUtf8(sens)};
const QVector<QStringRef> newSensorInfo = sensStr.splitRef('\t');
const auto newSensorInfo = QStringView(sensStr).split('\t');
if (newSensorInfo.count() < 2) {
continue;
}

@ -339,7 +339,7 @@ void CursorThemeConfig::ghnsEntryChanged(KNSCore::EntryWrapper *entry)
{
if (entry->entry().status() == KNS3::Entry::Deleted) {
for (const QString &deleted : entry->entry().uninstalledFiles()) {
QVector<QStringRef> list = deleted.splitRef(QLatin1Char('/'));
auto list = QStringView(deleted).split(QLatin1Char('/'));
if (list.last() == QLatin1Char('*')) {
list.takeLast();
}

@ -65,7 +65,7 @@ QImage PreviewImageProvider::requestImage(const QString &id, QSize *size, const
int subPixelIndex = 0;
int hintingIndex = 0;
const auto idpart = id.splitRef(QLatin1Char('.'))[0];
const auto idpart = QStringView(id).split(QLatin1Char('.'))[0];
const auto sections = idpart.split(QLatin1Char('_'));
if (sections.size() >= 2) {

@ -242,7 +242,7 @@ public:
se.display = tty;
se.tty = true;
}
se.vt = tty.midRef(strlen("/dev/tty")).toInt();
se.vt = QStringView(tty).mid(strlen("/dev/tty")).toInt();
}
};
@ -756,7 +756,7 @@ bool KDisplayManager::localSessions(SessList &list)
QStringList ts = (*it).split(QChar(','));
SessEnt se;
se.display = ts[0];
se.vt = ts[1].midRef(2).toInt();
se.vt = QStringView(ts[1]).mid(2).toInt();
se.user = ts[2];
se.session = ts[3];
se.self = (ts[4].indexOf('*') >= 0);

@ -203,7 +203,7 @@ QSize resSize(const QString &str)
{
int index = str.indexOf('x');
if (index != -1) {
return QSize(str.leftRef(index).toInt(), str.midRef(index + 1).toInt());
return QSize(QStringView(str).left(index).toInt(), QStringView(str).mid(index + 1).toInt());
}
return QSize();

Loading…
Cancel
Save