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()
}
}
+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;
/** Wipe folder */
void slotWipeFolderForAccount(AccountState *accountState);
+ void forceSyncForFolder(Folder *folder);
+
private slots:
void slotFolderSyncPaused(Folder *, bool paused);
void slotFolderCanSyncChanged();