From 56e2b510417e11f649bdcfc5aae317e5410ea622 Mon Sep 17 00:00:00 2001 From: Thomas Wilshaw Date: Tue, 29 Sep 2020 14:03:25 +0100 Subject: [PATCH] Add filename to warning message. --- .../projectexplorer/projectexplorer.cpp | 36 +++++++++++-------- app/widget/projectexplorer/projectexplorer.h | 2 +- 2 files changed, 22 insertions(+), 16 deletions(-) diff --git a/app/widget/projectexplorer/projectexplorer.cpp b/app/widget/projectexplorer/projectexplorer.cpp index 54b27d5da..2294ea413 100644 --- a/app/widget/projectexplorer/projectexplorer.cpp +++ b/app/widget/projectexplorer/projectexplorer.cpp @@ -610,24 +610,30 @@ QList ProjectExplorer::GetFootageBlocks(QList nodes) return blocks; } -ProjectExplorer::FootageDeleteResponse ProjectExplorer::DeleteWarningMessage() +ProjectExplorer::FootageDeleteResponse ProjectExplorer::DeleteWarningMessage(Item* item) { - QMessageBox msgBox; - msgBox.setText(tr("This footage is in use.")); - QPushButton* offline = msgBox.addButton(tr("Offline Footage"), QMessageBox::ApplyRole); - QPushButton* deleteClips = msgBox.addButton(tr("Delete Clips"), QMessageBox::ApplyRole); - msgBox.setStandardButtons(QMessageBox::Cancel); - msgBox.setIcon(QMessageBox::Warning); + ItemPtr item_ptr = item->get_shared_ptr(); - msgBox.exec(); + if (item_ptr->type() == Item::kFootage) { + QString clip_name = static_cast(item_ptr.get())->filename().split("/").last(); - if (msgBox.clickedButton() == offline) { - return kOffline; + QMessageBox msgBox; + msgBox.setWindowTitle(clip_name); + msgBox.setText(clip_name + tr(" is in use.")); + QPushButton* offline = msgBox.addButton(tr("Offline Footage"), QMessageBox::ApplyRole); + QPushButton* deleteClips = msgBox.addButton(tr("Delete Clips"), QMessageBox::ApplyRole); + msgBox.setStandardButtons(QMessageBox::Cancel); + msgBox.setIcon(QMessageBox::Warning); + + msgBox.exec(); + + if (msgBox.clickedButton() == offline) { + return kOffline; + } + if (msgBox.clickedButton() == deleteClips) { + return kDelete; + } } - if (msgBox.clickedButton() == deleteClips) { - return kDelete; - } - return kCancel; } @@ -662,7 +668,7 @@ void ProjectExplorer::DeleteSelected() QMap nodes = GetFootageNodes(item); if (!nodes.isEmpty()){ // Warn user and ask them what to do - FootageDeleteResponse response = DeleteWarningMessage(); + FootageDeleteResponse response = DeleteWarningMessage(item); if (response == kOffline) { new ProjectViewModel::OfflineFootageCommand(&model_, item_ptr, nodes, command); } diff --git a/app/widget/projectexplorer/projectexplorer.h b/app/widget/projectexplorer/projectexplorer.h index d393959fa..daca3aec1 100644 --- a/app/widget/projectexplorer/projectexplorer.h +++ b/app/widget/projectexplorer/projectexplorer.h @@ -113,7 +113,7 @@ private: * * Returns a FootageDeleteResponse */ - FootageDeleteResponse DeleteWarningMessage(); + FootageDeleteResponse DeleteWarningMessage(Item* item); /** * @brief Check if an item is in use anywhere and return any relevant input nodes