@@ -313,6 +313,7 @@ void ownCloudGui::slotComputeOverallSyncStatus()
313
313
QList<QString> problemFileProviderAccounts;
314
314
QList<QString> syncingFileProviderAccounts;
315
315
QList<QString> successFileProviderAccounts;
316
+ QList<QString> idleFileProviderAccounts;
316
317
317
318
if (Mac::FileProvider::fileProviderAvailable ()) {
318
319
for (const auto &accountState : AccountManager::instance ()->accounts ()) {
@@ -329,6 +330,7 @@ void ownCloudGui::slotComputeOverallSyncStatus()
329
330
switch (const auto latestStatus = fileProvider->socketServer ()->latestReceivedSyncStatusForAccount (accountState->account ())) {
330
331
case SyncResult::Undefined:
331
332
case SyncResult::NotYetStarted:
333
+ idleFileProviderAccounts.append (accountFpId);
332
334
break ;
333
335
case SyncResult::SyncPrepare:
334
336
case SyncResult::SyncRunning:
@@ -343,7 +345,7 @@ void ownCloudGui::slotComputeOverallSyncStatus()
343
345
case SyncResult::SetupError:
344
346
problemFileProviderAccounts.append (accountFpId);
345
347
break ;
346
- case SyncResult::Paused:
348
+ case SyncResult::Paused: // This is not technically possible with VFS
347
349
break ;
348
350
}
349
351
}
@@ -405,6 +407,12 @@ void ownCloudGui::slotComputeOverallSyncStatus()
405
407
overallStatus != SyncResult::Error &&
406
408
overallStatus != SyncResult::SetupError) {
407
409
overallStatus = SyncResult::SyncRunning;
410
+ } else if ((!successFileProviderAccounts.isEmpty () || (problemFileProviderAccounts.isEmpty () && syncingFileProviderAccounts.isEmpty () && !idleFileProviderAccounts.isEmpty ())) &&
411
+ overallStatus != SyncResult::SyncRunning &&
412
+ overallStatus != SyncResult::Problem &&
413
+ overallStatus != SyncResult::Error &&
414
+ overallStatus != SyncResult::SetupError) {
415
+ overallStatus = SyncResult::Success;
408
416
}
409
417
#endif
410
418
0 commit comments