From 6b2afd50af70b23cdda9161c3cad2b2b323c3bbd Mon Sep 17 00:00:00 2001 From: Camila Ayres Date: Tue, 4 Jun 2024 20:30:32 +0200 Subject: [PATCH] Fix #3144: check for promptDeleteAllFiles config setting before emitting signal to display warning. The signal is not connected to any slot when running nextcloudcmd. The callback to finish the sync was never being called because the check for the config was done in the slot, which was never called. Signed-off-by: Camila Ayres --- src/gui/folder.cpp | 8 +------- src/libsync/syncengine.cpp | 4 ++-- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/src/gui/folder.cpp b/src/gui/folder.cpp index d7c5fbac5..698106311 100644 --- a/src/gui/folder.cpp +++ b/src/gui/folder.cpp @@ -1628,12 +1628,6 @@ bool Folder::virtualFilesEnabled() const void Folder::slotAboutToRemoveAllFiles(SyncFileItem::Direction dir, std::function callback) { - ConfigFile cfgFile; - if (!cfgFile.promptDeleteFiles()) { - callback(false); - return; - } - const QString msg = dir == SyncFileItem::Down ? tr("All files in the sync folder \"%1\" folder were deleted on the server.\n" "These deletes will be synchronized to your local sync folder, making such files " "unavailable unless you have a right to restore. \n" @@ -1644,7 +1638,7 @@ void Folder::slotAboutToRemoveAllFiles(SyncFileItem::Direction dir, std::functio "Are you sure you want to sync those actions with the server?\n" "If this was an accident and you decide to keep your files, they will be re-synced from the server."); auto msgBox = new QMessageBox(QMessageBox::Warning, tr("Remove All Files?"), - msg.arg(shortGuiLocalPath()), QMessageBox::NoButton); + msg.arg(shortGuiLocalPath()), QMessageBox::NoButton); msgBox->setAttribute(Qt::WA_DeleteOnClose); msgBox->setWindowFlags(msgBox->windowFlags() | Qt::WindowStaysOnTopHint); msgBox->addButton(tr("Remove all files"), QMessageBox::DestructiveRole); diff --git a/src/libsync/syncengine.cpp b/src/libsync/syncengine.cpp index 8f8dcecec..2ce9966d8 100644 --- a/src/libsync/syncengine.cpp +++ b/src/libsync/syncengine.cpp @@ -898,10 +898,10 @@ void SyncEngine::slotDiscoveryFinished() qCInfo(lcEngine) << "#### Post-Reconcile end #################################################### " << _stopWatch.addLapTime(QStringLiteral("Post-Reconcile Finished")) << "ms"; }; - if (!_hasNoneFiles && _hasRemoveFile) { + if (!_hasNoneFiles && _hasRemoveFile && ConfigFile().promptDeleteFiles()) { qCInfo(lcEngine) << "All the files are going to be changed, asking the user"; int side = 0; // > 0 means more deleted on the server. < 0 means more deleted on the client - foreach (const auto &it, _syncItems) { + for (const auto &it : _syncItems) { if (it->_instruction == CSYNC_INSTRUCTION_REMOVE) { side += it->_direction == SyncFileItem::Down ? 1 : -1; } -- 2.30.2