Merge pull request #6686 from nextcloud/backport/6588/stable-3.12

Backport/6588/stable 3.12
This commit is contained in:
Camila Ayres 2024-04-24 15:12:51 +02:00 committed by GitHub
commit 8c815394a5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 20 additions and 8 deletions

View File

@ -122,14 +122,8 @@ void Systray::create()
}
hideWindow();
emit activated(QSystemTrayIcon::ActivationReason::Unknown);
const auto folderMap = FolderMan::instance()->map();
for (const auto *folder : folderMap) {
if (!folder->syncPaused()) {
_syncIsPaused = false;
break;
}
}
slotUpdateSyncPausedState();
connect(FolderMan::instance(), &FolderMan::folderListChanged, this, &Systray::slotUpdateSyncPausedState);
}
void Systray::showWindow(WindowPosition position)
@ -435,6 +429,22 @@ void Systray::slotCurrentUserChanged()
UserAppsModel::instance()->buildAppList();
}
void Systray::slotUpdateSyncPausedState()
{
const auto folderMap = FolderMan::instance()->map();
for (const auto folder : folderMap) {
connect(folder, &Folder::syncPausedChanged, this, &Systray::slotUpdateSyncPausedState, Qt::UniqueConnection);
if (!folder->syncPaused()) {
_syncIsPaused = false;
emit syncIsPausedChanged();
return;
}
}
_syncIsPaused = true;
emit syncIsPausedChanged();
}
void Systray::slotUnpauseAllFolders()
{
setPauseOnAllFoldersHelper(false);
@ -567,6 +577,7 @@ void Systray::setSyncIsPaused(const bool syncIsPaused)
} else {
slotUnpauseAllFolders();
}
emit syncIsPausedChanged();
}
/********************************************************************************************/

View File

@ -151,6 +151,7 @@ public slots:
void presentShareViewInTray(const QString &localPath);
private slots:
void slotUpdateSyncPausedState();
void slotUnpauseAllFolders();
void slotPauseAllFolders();