Use raw string literals when appropriate
authorKevin Ottens <kevin.ottens@nextcloud.com>
Tue, 26 May 2020 18:13:51 +0000 (20:13 +0200)
committerKevin Ottens <kevin.ottens@nextcloud.com>
Tue, 26 May 2020 18:13:51 +0000 (20:13 +0200)
This is especially nice for Windows paths.

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
src/gui/navigationpanehelper.cpp
src/gui/openfilemanager.cpp
src/gui/socketapi.cpp
src/gui/syncrunfilelog.cpp
src/gui/wizard/owncloudwizardcommon.cpp
src/libsync/abstractnetworkjob.cpp
src/libsync/clientsideencryptionjobs.cpp
src/libsync/configfile.cpp
src/libsync/networkjobs.cpp
src/libsync/syncengine.cpp
test/testutility.cpp

index 149e43eea9d72a57fcadcae1f82a16e9983ea7c2..f738799d435b79d771ad1ea2cd16a6ad4d1768b2 100644 (file)
@@ -90,9 +90,9 @@ void NavigationPaneHelper::updateCloudStorageRegistry()
                 entriesToRemove.removeOne(folder->navigationPaneClsid());
 
                 QString clsidStr = folder->navigationPaneClsid().toString();
-                QString clsidPath = QString() % "Software\\Classes\\CLSID\\" % clsidStr;
-                QString clsidPathWow64 = QString() % "Software\\Classes\\Wow6432Node\\CLSID\\" % clsidStr;
-                QString namespacePath = QString() % "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Desktop\\NameSpace\\" % clsidStr;
+                QString clsidPath = QString() % R"(Software\Classes\CLSID\)" % clsidStr;
+                QString clsidPathWow64 = QString() % R"(Software\Classes\Wow6432Node\CLSID\)" % clsidStr;
+                QString namespacePath = QString() % R"(Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\)" % clsidStr;
 
                 QString title = folder->shortGuiRemotePathOrAppName();
                 // Write the account name in the sidebar only when using more than one account.
@@ -157,9 +157,9 @@ void NavigationPaneHelper::updateCloudStorageRegistry()
     // Then remove anything that isn't in our folder list anymore.
     foreach (auto &clsid, entriesToRemove) {
         QString clsidStr = clsid.toString();
-        QString clsidPath = QString() % "Software\\Classes\\CLSID\\" % clsidStr;
-        QString clsidPathWow64 = QString() % "Software\\Classes\\Wow6432Node\\CLSID\\" % clsidStr;
-        QString namespacePath = QString() % "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Desktop\\NameSpace\\" % clsidStr;
+        QString clsidPath = QString() % R"(Software\Classes\CLSID\)" % clsidStr;
+        QString clsidPathWow64 = QString() % R"(Software\Classes\Wow6432Node\CLSID\)" % clsidStr;
+        QString namespacePath = QString() % R"(Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\)" % clsidStr;
 
         qCInfo(lcNavPane) << "Explorer Cloud storage provider: now unused, removing own CLSID" << clsidStr;
 #ifdef Q_OS_WIN
index c186fc4fed8157ce908f351d004e38a53ff08070..3754bbd9feab98eb0463b2382fa0a9f68ab3318d 100644 (file)
@@ -129,7 +129,7 @@ void showInFileManager(const QString &localPath)
     } else if (Utility::isMac()) {
         QStringList scriptArgs;
         scriptArgs << QLatin1String("-e")
-                   << QString::fromLatin1("tell application \"Finder\" to reveal POSIX file \"%1\"")
+                   << QString::fromLatin1(R"(tell application "Finder" to reveal POSIX file "%1")")
                           .arg(localPath);
         QProcess::execute(QLatin1String("/usr/bin/osascript"), scriptArgs);
         scriptArgs.clear();
index a3474c783d718605e68c390422216e8309145a6e..8c0ec3912235ec1d1b7e33fca833f4be80b4081a 100644 (file)
@@ -177,7 +177,7 @@ SocketApi::SocketApi(QObject *parent)
     QString socketPath;
 
     if (Utility::isWindows()) {
-        socketPath = QLatin1String("\\\\.\\pipe\\")
+        socketPath = QLatin1String(R"(\\.\pipe\)")
             + QLatin1String("ownCloud-")
             + QString::fromLocal8Bit(qgetenv("USERNAME"));
         // TODO: once the windows extension supports multiple
index e493918e17ba0b010c24bcfdbabbbdf81ea1dd18..b241b595bf766f44cc89a17253fd7e7cd427abe0 100644 (file)
@@ -168,7 +168,7 @@ void SyncRunFileLog::logItem(const SyncFileItem &item)
     }
     QString ts = QString::fromLatin1(item._responseTimeStamp);
     if (ts.length() > 6) {
-        QRegExp rx("(\\d\\d:\\d\\d:\\d\\d)");
+        QRegExp rx(R"((\d\d:\d\d:\d\d))");
         if (ts.contains(rx)) {
             ts = rx.cap(0);
         }
index cf27126dd495b79a4a8b9a318ed38131d227bc5d..56768209bc99e1566d8da8fee2e2636577db447e 100644 (file)
@@ -47,7 +47,7 @@ namespace WizardCommon {
 
     QString titleTemplate()
     {
-        return QString::fromLatin1("<font color=\"%1\" size=\"5\">").arg(Theme::instance()->wizardHeaderTitleColor().name()) + QString::fromLatin1("%1</font>");
+        return QString::fromLatin1(R"(<font color="%1" size="5">)").arg(Theme::instance()->wizardHeaderTitleColor().name()) + QString::fromLatin1("%1</font>");
     }
 
     QString subTitleTemplate()
index ca64361d77e836fbb14338e5b011662bfa14628e..701ab3116bcbbc402221c1890a0b10635573446a 100644 (file)
@@ -433,7 +433,7 @@ QString networkReplyErrorString(const QNetworkReply &reply)
         return base;
     }
 
-    return AbstractNetworkJob::tr("Server replied \"%1 %2\" to \"%3 %4\"").arg(QString::number(httpStatus), httpReason, requestVerb(reply), reply.request().url().toDisplayString());
+    return AbstractNetworkJob::tr(R"(Server replied "%1 %2" to "%3 %4")").arg(QString::number(httpStatus), httpReason, requestVerb(reply), reply.request().url().toDisplayString());
 }
 
 } // namespace OCC
index 7608ee9563ce49ae8c0c6a1eca022d861f706a35..5c887620613953a79ba9f4dd81d2f166201149ab 100644 (file)
@@ -36,7 +36,7 @@ void GetFolderEncryptStatusJob::start()
        req.setRawHeader("OCS-APIREQUEST", "true");
     req.setHeader(QNetworkRequest::ContentTypeHeader, QByteArrayLiteral("application/xml"));
 
-       QByteArray xml = "<d:propfind xmlns:d=\"DAV:\"> <d:prop xmlns:nc=\"http://nextcloud.org/ns\"> <nc:is-encrypted/> </d:prop> </d:propfind>";
+       QByteArray xml = R"(<d:propfind xmlns:d="DAV:"> <d:prop xmlns:nc="http://nextcloud.org/ns"> <nc:is-encrypted/> </d:prop> </d:propfind>)";
        auto *buf = new QBuffer(this);
        buf->setData(xml);
        buf->open(QIODevice::ReadOnly);
index 874585d41bb5c0e83e4bb9daa6722ce4e8fbea45..184d9af9dbf120d06db073e36a5f3e566a07d5e9 100644 (file)
@@ -288,14 +288,14 @@ QVariant ConfigFile::getPolicySetting(const QString &setting, const QVariant &de
 {
     if (Utility::isWindows()) {
         // check for policies first and return immediately if a value is found.
-        QSettings userPolicy(QString::fromLatin1("HKEY_CURRENT_USER\\Software\\Policies\\%1\\%2")
+        QSettings userPolicy(QString::fromLatin1(R"(HKEY_CURRENT_USER\Software\Policies\%1\%2)")
                                  .arg(APPLICATION_VENDOR, Theme::instance()->appName()),
             QSettings::NativeFormat);
         if (userPolicy.contains(setting)) {
             return userPolicy.value(setting);
         }
 
-        QSettings machinePolicy(QString::fromLatin1("HKEY_LOCAL_MACHINE\\Software\\Policies\\%1\\%2")
+        QSettings machinePolicy(QString::fromLatin1(R"(HKEY_LOCAL_MACHINE\Software\Policies\%1\%2)")
                                     .arg(APPLICATION_VENDOR, APPLICATION_NAME),
             QSettings::NativeFormat);
         if (machinePolicy.contains(setting)) {
@@ -669,7 +669,7 @@ QVariant ConfigFile::getValue(const QString &param, const QString &group,
         }
         systemSetting = systemSettings.value(param, defaultValue);
     } else { // Windows
-        QSettings systemSettings(QString::fromLatin1("HKEY_LOCAL_MACHINE\\Software\\%1\\%2")
+        QSettings systemSettings(QString::fromLatin1(R"(HKEY_LOCAL_MACHINE\Software\%1\%2)")
                                      .arg(APPLICATION_VENDOR, Theme::instance()->appName()),
             QSettings::NativeFormat);
         if (!group.isEmpty()) {
index c1bf86d4211825797f68f6cb601498f675cd21c6..d8a642556732b565f1ed4fd12880914b8afd2da2 100644 (file)
@@ -832,7 +832,7 @@ bool JsonApiJob::finished()
         qCWarning(lcJsonApiJob) << "Nothing changed so nothing to retrieve - status code: " << httpStatusCode;
         statusCode = httpStatusCode;
     } else {
-        QRegExp rex("\"statuscode\":(\\d+),");
+        QRegExp rex(R"("statuscode":(\d+),)");
         // example: "{"ocs":{"meta":{"status":"ok","statuscode":100,"message":null},"data":{"version":{"major":8,"minor":"... (504)
         if (jsonStr.contains(rex)) {
             statusCode = rex.cap(1).toInt();
index c34317ac87e8c4dff023e92cb8c655af22d4a2ee..3ca2563a57c74d8a078038817f73d9625358d0ca 100644 (file)
@@ -1027,7 +1027,7 @@ void SyncEngine::slotDiscoveryJobFinished(int discoveryResult)
         // files with names that contain these.
         // It's important to respect the capability also for older servers -- the
         // version check doesn't make sense for custom servers.
-        invalidFilenamePattern = "[\\\\:?*\"<>|]";
+        invalidFilenamePattern = R"([\\:?*"<>|])";
     }
     if (!invalidFilenamePattern.isEmpty()) {
         const QRegExp invalidFilenameRx(invalidFilenamePattern);
index 620548ba36568f9bee01f09a68f1acf84c882250..66473dfa3232b1ca9713b596b90e79f9a647bcbe 100644 (file)
@@ -120,7 +120,7 @@ private slots:
            qDebug() << "Version of installed Nextcloud: " << ver;
            QVERIFY( !ver.isEmpty());
 
-           QRegExp rx( "Nextcloud version \\d+\\.\\d+\\.\\d+.*" );
+           QRegExp rx( R"(Nextcloud version \d+\.\d+\.\d+.*)" );
             QVERIFY( rx.exactMatch(ver));
        } else {
            QVERIFY( versionOfInstalledBinary().isEmpty());