fixes #0002833: [Spreadsheet] Keyboard events are sent to the wrong viewprovider

This commit is contained in:
wmayer
2018-09-12 17:40:57 +02:00
parent ef42cfb5d6
commit 4d47ce619e
5 changed files with 58 additions and 15 deletions

View File

@@ -154,21 +154,7 @@ bool ViewProviderSheet::onDelete(const std::vector<std::string> &)
SpreadsheetGui::SheetView * sheetView = freecad_dynamic_cast<SpreadsheetGui::SheetView>(activeWindow);
if (sheetView) {
Sheet * sheet = sheetView->getSheet();
QModelIndexList selection = sheetView->selectedIndexes();
if (selection.size() > 0) {
Gui::Command::openCommand("Clear cell(s)");
std::vector<Range> ranges = sheetView->selectedRanges();
std::vector<Range>::const_iterator i = ranges.begin();
for (; i != ranges.end(); ++i) {
Gui::Command::doCommand(Gui::Command::Doc,"App.ActiveDocument.%s.clear('%s')", sheet->getNameInDocument(),
i->rangeString().c_str());
}
Gui::Command::commitCommand();
Gui::Command::doCommand(Gui::Command::Doc, "App.ActiveDocument.recompute()");
}
sheetView->deleteSelection();
}
}