Skip to content

Commit 62772e3

Browse files
authored
Merge pull request #7827 from nextcloud/bugfix/sync-state-tray-icon
gui/tray: Fix defaulting to "problem" state in sync tray icon when using macOS VFS
2 parents 08de4ff + c912317 commit 62772e3

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

src/gui/owncloudgui.cpp

+9-1
Original file line numberDiff line numberDiff line change
@@ -313,6 +313,7 @@ void ownCloudGui::slotComputeOverallSyncStatus()
313313
QList<QString> problemFileProviderAccounts;
314314
QList<QString> syncingFileProviderAccounts;
315315
QList<QString> successFileProviderAccounts;
316+
QList<QString> idleFileProviderAccounts;
316317

317318
if (Mac::FileProvider::fileProviderAvailable()) {
318319
for (const auto &accountState : AccountManager::instance()->accounts()) {
@@ -329,6 +330,7 @@ void ownCloudGui::slotComputeOverallSyncStatus()
329330
switch (const auto latestStatus = fileProvider->socketServer()->latestReceivedSyncStatusForAccount(accountState->account())) {
330331
case SyncResult::Undefined:
331332
case SyncResult::NotYetStarted:
333+
idleFileProviderAccounts.append(accountFpId);
332334
break;
333335
case SyncResult::SyncPrepare:
334336
case SyncResult::SyncRunning:
@@ -343,7 +345,7 @@ void ownCloudGui::slotComputeOverallSyncStatus()
343345
case SyncResult::SetupError:
344346
problemFileProviderAccounts.append(accountFpId);
345347
break;
346-
case SyncResult::Paused:
348+
case SyncResult::Paused: // This is not technically possible with VFS
347349
break;
348350
}
349351
}
@@ -405,6 +407,12 @@ void ownCloudGui::slotComputeOverallSyncStatus()
405407
overallStatus != SyncResult::Error &&
406408
overallStatus != SyncResult::SetupError) {
407409
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;
408416
}
409417
#endif
410418

0 commit comments

Comments
 (0)