diff --git a/src/gui/owncloudgui.cpp b/src/gui/owncloudgui.cpp index 1e15a0d9a5d18..7343e476bfb3f 100644 --- a/src/gui/owncloudgui.cpp +++ b/src/gui/owncloudgui.cpp @@ -312,6 +312,7 @@ void ownCloudGui::slotComputeOverallSyncStatus() QList problemFileProviderAccounts; QList syncingFileProviderAccounts; QList successFileProviderAccounts; + QList idleFileProviderAccounts; if (Mac::FileProvider::fileProviderAvailable()) { for (const auto &accountState : AccountManager::instance()->accounts()) { @@ -328,6 +329,7 @@ void ownCloudGui::slotComputeOverallSyncStatus() switch (const auto latestStatus = fileProvider->socketServer()->latestReceivedSyncStatusForAccount(accountState->account())) { case SyncResult::Undefined: case SyncResult::NotYetStarted: + idleFileProviderAccounts.append(accountFpId); break; case SyncResult::SyncPrepare: case SyncResult::SyncRunning: @@ -342,7 +344,7 @@ void ownCloudGui::slotComputeOverallSyncStatus() case SyncResult::SetupError: problemFileProviderAccounts.append(accountFpId); break; - case SyncResult::Paused: + case SyncResult::Paused: // This is not technically possible with VFS break; } } @@ -404,7 +406,7 @@ void ownCloudGui::slotComputeOverallSyncStatus() overallStatus != SyncResult::Error && overallStatus != SyncResult::SetupError) { overallStatus = SyncResult::SyncRunning; - } else if (!successFileProviderAccounts.isEmpty() && + } else if ((!successFileProviderAccounts.isEmpty() || (problemFileProviderAccounts.isEmpty() && syncingFileProviderAccounts.isEmpty() && !idleFileProviderAccounts.isEmpty())) && overallStatus != SyncResult::SyncRunning && overallStatus != SyncResult::Problem && overallStatus != SyncResult::Error &&