From: Christian Kamm Date: Thu, 15 Nov 2018 08:01:46 +0000 (+0100) Subject: vfs: Improve modeFromString() signature X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~12^2~21^2~468^2~390 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=9ced8dd836de02bd3264378121412967a1c8384f;p=nextcloud-desktop.git vfs: Improve modeFromString() signature --- diff --git a/src/common/vfs.cpp b/src/common/vfs.cpp index 7cfb895e1..896b31db0 100644 --- a/src/common/vfs.cpp +++ b/src/common/vfs.cpp @@ -42,20 +42,17 @@ QString Vfs::modeToString(Mode mode) return QStringLiteral("off"); } -bool Vfs::modeFromString(const QString &str, Mode *mode) +Optional Vfs::modeFromString(const QString &str) { // Note: Strings are used for config and must be stable - *mode = Off; if (str == "off") { - return true; + return Off; } else if (str == "suffix") { - *mode = WithSuffix; - return true; + return WithSuffix; } else if (str == "wincfapi") { - *mode = WindowsCfApi; - return true; + return WindowsCfApi; } - return false; + return {}; } static QString modeToPluginName(Vfs::Mode mode) diff --git a/src/common/vfs.h b/src/common/vfs.h index 372395dbc..7d68854d8 100644 --- a/src/common/vfs.h +++ b/src/common/vfs.h @@ -18,6 +18,7 @@ #include #include "ocsynclib.h" +#include "result.h" typedef struct csync_file_stat_s csync_file_stat_t; @@ -80,7 +81,7 @@ public: WindowsCfApi, }; static QString modeToString(Mode mode); - static bool modeFromString(const QString &str, Mode *mode); + static Optional modeFromString(const QString &str); public: Vfs(QObject* parent = nullptr); diff --git a/src/gui/folder.cpp b/src/gui/folder.cpp index 270223810..da85ea4b5 100644 --- a/src/gui/folder.cpp +++ b/src/gui/folder.cpp @@ -1236,7 +1236,9 @@ bool FolderDefinition::load(QSettings &settings, const QString &alias, folder->virtualFilesMode = Vfs::Off; QString vfsModeString = settings.value(QStringLiteral("virtualFilesMode")).toString(); if (!vfsModeString.isEmpty()) { - if (!Vfs::modeFromString(vfsModeString, &folder->virtualFilesMode)) { + if (auto mode = Vfs::modeFromString(vfsModeString)) { + folder->virtualFilesMode = *mode; + } else { qCWarning(lcFolder) << "Unknown virtualFilesMode:" << vfsModeString << "assuming 'off'"; } } else if (settings.value(QLatin1String("usePlaceholders")).toBool()) {