Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
_definition.virtualFilesMode = newMode;
startVfs();
- if (newMode != Vfs::Off)
+ if (newMode != Vfs::Off) {
_saveInFoldersWithPlaceholders = true;
+ SyncEngine::switchToVirtualFiles(path(), _journal, *_vfs);
+ }
saveToSettings();
}
}
// But hydrated placeholders may still be around.
}
+void SyncEngine::switchToVirtualFiles(const QString &localPath, SyncJournalDb &journal, Vfs &vfs)
+{
+ qCInfo(lcEngine) << "Convert to virtual files inside" << localPath;
+ journal.getFilesBelowPath({}, [&](const SyncJournalFileRecord &rec) {
+ SyncFileItem item;
+ QString localFile = localPath + rec.path();
+ vfs.convertToPlaceholder(localFile, item, localFile);
+ });
+}
+
void SyncEngine::abort()
{
if (_propagator)
*/
static void wipeVirtualFiles(const QString &localPath, SyncJournalDb &journal, Vfs &vfs);
+ static void switchToVirtualFiles(const QString &localPath, SyncJournalDb &journal, Vfs &vfs);
+
auto getPropagator() { return _propagator; } // for the test
signals: