From 96eaef6dbaca2692fed52cde9dc7da6946b15b22 Mon Sep 17 00:00:00 2001 From: Hannah von Reth Date: Mon, 30 Nov 2020 12:20:27 +0100 Subject: [PATCH] Pause sync when remove all dialog is displayed Fixes: #8263 --- src/gui/folder.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/gui/folder.cpp b/src/gui/folder.cpp index 376a58d60..c542de947 100644 --- a/src/gui/folder.cpp +++ b/src/gui/folder.cpp @@ -1247,15 +1247,18 @@ void Folder::slotAboutToRemoveAllFiles(SyncFileItem::Direction dir, std::functio msgBox->setWindowFlags(msgBox->windowFlags() | Qt::WindowStaysOnTopHint); msgBox->addButton(tr("Remove all files"), QMessageBox::DestructiveRole); QPushButton *keepBtn = msgBox->addButton(tr("Keep files"), QMessageBox::AcceptRole); - connect(msgBox, &QMessageBox::finished, this, [msgBox, keepBtn, callback, this]{ + bool oldPaused = syncPaused(); + setSyncPaused(true); + connect(msgBox, &QMessageBox::finished, this, [msgBox, keepBtn, callback, oldPaused, this] { const bool cancel = msgBox->clickedButton() == keepBtn; callback(cancel); if (cancel) { FileSystem::setFolderMinimumPermissions(path()); - journalDb()->clearFileTable(); - _lastEtag.clear(); - slotScheduleThisFolder(); + journalDb()->clearFileTable(); + _lastEtag.clear(); + slotScheduleThisFolder(); } + setSyncPaused(oldPaused); }); msgBox->open(); } -- 2.30.2