Skip to content

Commit

Permalink
Merge pull request #5239 from nextcloud/cherry-pick-forcefoldersync-m…
Browse files Browse the repository at this point in the history
…ethod

Add forcefoldersync method to folder manager
  • Loading branch information
allexzander authored Dec 6, 2022
2 parents cfbb3f6 + b96dd6e commit 10f69e7
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 14 deletions.
16 changes: 2 additions & 14 deletions src/gui/accountsettings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1091,20 +1091,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()
Expand Down
15 changes: 15 additions & 0 deletions src/gui/folderman.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -599,6 +599,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;
Expand Down
2 changes: 2 additions & 0 deletions src/gui/folderman.h
Original file line number Diff line number Diff line change
Expand Up @@ -263,6 +263,8 @@ public slots:
/** Wipe folder */
void slotWipeFolderForAccount(AccountState *accountState);

void forceSyncForFolder(Folder *folder);

private slots:
void slotFolderSyncPaused(Folder *, bool paused);
void slotFolderCanSyncChanged();
Expand Down

0 comments on commit 10f69e7

Please sign in to comment.