mirror of
https://github.com/nextcloud/desktop.git
synced 2025-10-26 11:17:43 +00:00
Merge pull request #8002 from nextcloud/backport/7933/stable-3.16
[stable-3.16] Add option to disable virtual files syncing on Windows.
This commit is contained in:
commit
173b945f60
@ -52,6 +52,7 @@ option( BUILD_UPDATER "Build updater" ON )
|
||||
option( WITH_PROVIDERS "Build with providers list" ON )
|
||||
|
||||
option( ENFORCE_VIRTUAL_FILES_SYNC_FOLDER "Enforce use of virtual files sync folder when available" OFF )
|
||||
option( DISABLE_VIRTUAL_FILES_SYNC_FOLDER "Disable use of virtual files sync folder even when available" OFF )
|
||||
|
||||
option(ENFORCE_SINGLE_ACCOUNT "Enforce use of a single account in desktop client" OFF)
|
||||
|
||||
|
||||
@ -36,6 +36,7 @@
|
||||
#define APPLICATION_DOTVIRTUALFILE_SUFFIX "." APPLICATION_VIRTUALFILE_SUFFIX
|
||||
#define APPLICATION_URI_HANDLER_SCHEME "@APPLICATION_URI_HANDLER_SCHEME@"
|
||||
#cmakedefine01 ENFORCE_VIRTUAL_FILES_SYNC_FOLDER
|
||||
#cmakedefine01 DISABLE_VIRTUAL_FILES_SYNC_FOLDER
|
||||
#cmakedefine DO_NOT_USE_PROXY "@DO_NOT_USE_PROXY@"
|
||||
#cmakedefine ENFORCE_SINGLE_ACCOUNT "@ENFORCE_SINGLE_ACCOUNT@"
|
||||
#cmakedefine01 APPLICATION_DISPLAY_LEGACY_IMPORT_DIALOG
|
||||
|
||||
@ -726,8 +726,8 @@ void AccountSettings::slotCustomContextMenuRequested(const QPoint &pos)
|
||||
}
|
||||
|
||||
if (const auto mode = bestAvailableVfsMode();
|
||||
Theme::instance()->showVirtualFilesOption()
|
||||
&& !folder->virtualFilesEnabled() && Vfs::checkAvailability(folder->path(), mode)) {
|
||||
!Theme::instance()->disableVirtualFilesSyncFolder() &&
|
||||
Theme::instance()->showVirtualFilesOption() && !folder->virtualFilesEnabled() && Vfs::checkAvailability(folder->path(), mode)) {
|
||||
if (mode == Vfs::WindowsCfApi || ConfigFile().showExperimentalOptions()) {
|
||||
ac = menu->addAction(tr("Enable virtual file support %1 …").arg(mode == Vfs::WindowsCfApi ? QString() : tr("(experimental)")));
|
||||
// TODO: remove when UX decision is made
|
||||
|
||||
@ -991,7 +991,8 @@ bool FolderMan::pushNotificationsFilesReady(Account *account)
|
||||
bool FolderMan::isSwitchToVfsNeeded(const FolderDefinition &folderDefinition) const
|
||||
{
|
||||
auto result = false;
|
||||
if (ENFORCE_VIRTUAL_FILES_SYNC_FOLDER &&
|
||||
if (!DISABLE_VIRTUAL_FILES_SYNC_FOLDER &&
|
||||
ENFORCE_VIRTUAL_FILES_SYNC_FOLDER &&
|
||||
folderDefinition.virtualFilesMode != bestAvailableVfsMode() &&
|
||||
folderDefinition.virtualFilesMode == Vfs::Off &&
|
||||
OCC::Theme::instance()->showVirtualFilesOption()) {
|
||||
|
||||
@ -572,7 +572,7 @@ FolderWizardSelectiveSync::FolderWizardSelectiveSync(const AccountPtr &account)
|
||||
_selectiveSync = new SelectiveSyncWidget(account, this);
|
||||
layout->addWidget(_selectiveSync);
|
||||
|
||||
if (Theme::instance()->showVirtualFilesOption() && bestAvailableVfsMode() != Vfs::Off) {
|
||||
if (!Theme::instance()->disableVirtualFilesSyncFolder() && Theme::instance()->showVirtualFilesOption() && bestAvailableVfsMode() != Vfs::Off) {
|
||||
_virtualFilesCheckBox = new QCheckBox(tr("Use virtual files instead of downloading content immediately %1").arg(bestAvailableVfsMode() == Vfs::WindowsCfApi ? QString() : tr("(experimental)")));
|
||||
connect(_virtualFilesCheckBox, &QCheckBox::clicked, this, &FolderWizardSelectiveSync::virtualFilesCheckboxClicked);
|
||||
connect(_virtualFilesCheckBox, &QCheckBox::checkStateChanged, this, [this](int state) {
|
||||
|
||||
@ -158,7 +158,7 @@ void OwncloudAdvancedSetupPage::initializePage()
|
||||
{
|
||||
WizardCommon::initErrorLabel(_ui.errorLabel);
|
||||
|
||||
if (!Theme::instance()->showVirtualFilesOption()
|
||||
if (Theme::instance()->disableVirtualFilesSyncFolder() || !Theme::instance()->showVirtualFilesOption()
|
||||
#ifndef BUILD_FILE_PROVIDER_MODULE
|
||||
|| bestAvailableVfsMode() == Vfs::Off
|
||||
#endif
|
||||
|
||||
@ -960,6 +960,11 @@ bool Theme::enforceVirtualFilesSyncFolder() const
|
||||
return ENFORCE_VIRTUAL_FILES_SYNC_FOLDER && vfsMode != OCC::Vfs::Off;
|
||||
}
|
||||
|
||||
bool Theme::disableVirtualFilesSyncFolder() const
|
||||
{
|
||||
return DISABLE_VIRTUAL_FILES_SYNC_FOLDER;
|
||||
}
|
||||
|
||||
QColor Theme::defaultColor()
|
||||
{
|
||||
return QColor{NEXTCLOUD_BACKGROUND_COLOR};
|
||||
|
||||
@ -596,6 +596,7 @@ public:
|
||||
[[nodiscard]] bool showVirtualFilesOption() const;
|
||||
|
||||
[[nodiscard]] bool enforceVirtualFilesSyncFolder() const;
|
||||
[[nodiscard]] bool disableVirtualFilesSyncFolder() const;
|
||||
|
||||
static QColor defaultColor();
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user