Virtual files: Wipe selective sync settings when enabled
authorChristian Kamm <mail@ckamm.de>
Fri, 31 Aug 2018 13:50:54 +0000 (15:50 +0200)
committerKevin Ottens <kevin.ottens@nextcloud.com>
Tue, 15 Dec 2020 09:58:12 +0000 (10:58 +0100)
src/gui/accountsettings.cpp

index dc4a2e2547b875ca9060918807f028fdc40ecc09..e7d77e4b1604f36551dfd1e84180e4faffce18a7 100644 (file)
@@ -454,6 +454,16 @@ void AccountSettings::slotCustomContextMenuRequested(const QPoint &pos)
             OwncloudWizard::askExperimentalVirtualFilesFeature([folder, this](bool enable) {
                 if (enable && folder)
                     folder->setUseVirtualFiles(enable);
+
+                // Also wipe selective sync settings
+                bool ok = false;
+                auto oldBlacklist = folder->journalDb()->getSelectiveSyncList(SyncJournalDb::SelectiveSyncBlackList, &ok);
+                folder->journalDb()->setSelectiveSyncList(SyncJournalDb::SelectiveSyncBlackList, {});
+                for (const auto &entry : oldBlacklist) {
+                    folder->journalDb()->avoidReadFromDbOnNextSync(entry);
+                }
+                FolderMan::instance()->scheduleFolder(folder);
+
                 // Make sure the size is recomputed as the virtual file indicator changes
                 _ui->_folderList->doItemsLayout();
             });