diff --git a/src/Mod/Spreadsheet/Gui/ViewProviderSpreadsheet.cpp b/src/Mod/Spreadsheet/Gui/ViewProviderSpreadsheet.cpp index 107054c3d..b6b45531e 100644 --- a/src/Mod/Spreadsheet/Gui/ViewProviderSpreadsheet.cpp +++ b/src/Mod/Spreadsheet/Gui/ViewProviderSpreadsheet.cpp @@ -36,6 +36,7 @@ #include "SpreadsheetView.h" #include +#include #include #include #include @@ -157,10 +158,12 @@ bool ViewProviderSheet::onDelete(const std::vector &) if (selection.size() > 0) { Gui::Command::openCommand("Clear cell(s)"); - for (QModelIndexList::const_iterator it = selection.begin(); it != selection.end(); ++it) { - std::string address = CellAddress((*it).row(), (*it).column()).toString(); + std::vector ranges = sheetView->selectedRanges(); + std::vector::const_iterator i = ranges.begin(); + + for (; i != ranges.end(); ++i) { Gui::Command::doCommand(Gui::Command::Doc,"App.ActiveDocument.%s.clear('%s')", sheet->getNameInDocument(), - address.c_str()); + i->rangeString().c_str()); } Gui::Command::commitCommand(); Gui::Command::doCommand(Gui::Command::Doc, "App.ActiveDocument.recompute()");