diff --git a/src/gui/accountsettings.cpp b/src/gui/accountsettings.cpp index 08b0a13b9a5..498b197ca4a 100644 --- a/src/gui/accountsettings.cpp +++ b/src/gui/accountsettings.cpp @@ -339,7 +339,7 @@ void AccountSettings::slotCustomContextMenuRequested(const QPoint &pos) } if (Theme::instance()->showVirtualFilesOption() - && !folder->virtualFilesEnabled() && Vfs::checkAvailability(folder->path())) { + && !folder->virtualFilesEnabled() && FolderMan::instance()->checkVfsAvailability(folder->path())) { const auto mode = bestAvailableVfsMode(); if (mode == Vfs::WindowsCfApi || Theme::instance()->enableExperimentalFeatures()) { ac = menu->addAction(tr("Enable virtual file support%1...").arg(mode == Vfs::WindowsCfApi ? QString() : tr(" (experimental)"))); diff --git a/src/gui/folderman.cpp b/src/gui/folderman.cpp index 8de0ec6fc16..e2be3531fee 100644 --- a/src/gui/folderman.cpp +++ b/src/gui/folderman.cpp @@ -1493,4 +1493,9 @@ Result FolderMan::unsupportedConfiguration(const QString &path) c return {}; } +bool FolderMan::checkVfsAvailability(const QString &path) const +{ + return unsupportedConfiguration(path) && Vfs::checkAvailability(path); +} + } // namespace OCC diff --git a/src/gui/folderman.h b/src/gui/folderman.h index bf072044578..2a426cfb8ce 100644 --- a/src/gui/folderman.h +++ b/src/gui/folderman.h @@ -239,6 +239,9 @@ class FolderMan : public QObject void setDirtyProxy(); void setDirtyNetworkLimits(); + /** Whether or not vfs is supported in the location. */ + bool checkVfsAvailability(const QString &path) const; + /** If the folder configuration is no longer supported this will return an error string */ Result unsupportedConfiguration(const QString &path) const; signals: