1
0
mirror of https://github.com/chylex/Nextcloud-Desktop.git synced 2025-05-11 20:34:09 +02:00

vfs: Improve modeFromString() signature

This commit is contained in:
Christian Kamm 2018-11-15 09:01:46 +01:00 committed by Kevin Ottens
parent f502a526fa
commit 9ced8dd836
No known key found for this signature in database
GPG Key ID: 074BBBCB8DECC9E2
3 changed files with 10 additions and 10 deletions

View File

@ -42,20 +42,17 @@ QString Vfs::modeToString(Mode mode)
return QStringLiteral("off");
}
bool Vfs::modeFromString(const QString &str, Mode *mode)
Optional<Vfs::Mode> 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)

View File

@ -18,6 +18,7 @@
#include <QSharedPointer>
#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<Mode> modeFromString(const QString &str);
public:
Vfs(QObject* parent = nullptr);

View File

@ -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()) {