mirror of
https://github.com/nextcloud/desktop.git
synced 2024-10-25 05:45:42 +03:00
Add forcefoldersync method to folder manager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
This commit is contained in:
parent
1a6326ed97
commit
94b45d6d68
3 changed files with 19 additions and 14 deletions
|
@ -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()
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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();
|
||||
|
|
Loading…
Reference in a new issue