Add forcefoldersync method to folder manager

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
This commit is contained in:
Claudio Cambra 2022-10-24 13:46:12 +02:00 committed by Claudio Cambra
parent 1a6326ed97
commit 94b45d6d68
3 changed files with 19 additions and 14 deletions

View file

@ -1039,20 +1039,8 @@ void AccountSettings::slotScheduleCurrentFolderForceRemoteDiscovery()
void AccountSettings::slotForceSyncCurrentFolder()
{
FolderMan *folderMan = FolderMan::instance();
if (auto selectedFolder = folderMan->folder(selectedFolderAlias())) {
// Terminate and reschedule any running sync
for (auto f : folderMan->map()) {
if (f->isSyncRunning()) {
f->slotTerminateSync();
folderMan->scheduleFolder(f);
}
}
selectedFolder->slotWipeErrorBlacklist(); // issue #6757
// Insert the selected folder at the front of the queue
folderMan->scheduleFolderNext(selectedFolder);
}
auto selectedFolder = folderMan->folder(selectedFolderAlias());
folderMan->forceSyncForFolder(selectedFolder);
}
void AccountSettings::slotOpenOC()

View file

@ -601,6 +601,21 @@ void FolderMan::scheduleAllFolders()
}
}
void FolderMan::forceSyncForFolder(Folder *folder)
{
// Terminate and reschedule any running sync
for (const auto folderInMap : map()) {
if (folderInMap->isSyncRunning()) {
folderInMap->slotTerminateSync();
scheduleFolder(folderInMap);
}
}
folder->slotWipeErrorBlacklist(); // issue #6757
// Insert the selected folder at the front of the queue
scheduleFolderNext(folder);
}
void FolderMan::slotScheduleAppRestart()
{
_appRestartRequired = true;

View file

@ -266,6 +266,8 @@ public slots:
/** Wipe folder */
void slotWipeFolderForAccount(AccountState *accountState);
void forceSyncForFolder(Folder *folder);
private slots:
void slotFolderSyncPaused(Folder *, bool paused);
void slotFolderCanSyncChanged();