From 654fc12c8ff3aa6c658e2e10c12998788a81dfd2 Mon Sep 17 00:00:00 2001 From: wmayer Date: Tue, 25 Sep 2018 16:17:05 +0200 Subject: [PATCH] fixes 0003496: Can't delete spreadsheet if spreadsheet is opened. --- src/Mod/Spreadsheet/Gui/ViewProviderSpreadsheet.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/Mod/Spreadsheet/Gui/ViewProviderSpreadsheet.cpp b/src/Mod/Spreadsheet/Gui/ViewProviderSpreadsheet.cpp index bcf6772822..c8d8c0cffa 100644 --- a/src/Mod/Spreadsheet/Gui/ViewProviderSpreadsheet.cpp +++ b/src/Mod/Spreadsheet/Gui/ViewProviderSpreadsheet.cpp @@ -29,6 +29,7 @@ # include # include # include +# include # include #endif @@ -155,10 +156,19 @@ bool ViewProviderSheet::onDelete(const std::vector &) if (sheetView) { sheetView->deleteSelection(); + return false; } } - return false; + // If the view is open but not active, try to close it. + // This may ask the user for permission in case it's the + // last view of the document. (#0003496) + QWidget* window = view; + QWidget* parent = view->parentWidget(); + if (qobject_cast(parent)) { + window = parent; + } + return window->close(); } SheetView *ViewProviderSheet::showSpreadsheetView()