From d6e8a1c133e7ba75c1ad108c76d77deae55ffec5 Mon Sep 17 00:00:00 2001 From: joshua Date: Sat, 13 Aug 2022 13:06:46 +0200 Subject: [PATCH] Element editor : improve deletion speed --- sources/editor/elementscene.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/sources/editor/elementscene.cpp b/sources/editor/elementscene.cpp index 82584ace3..f2346bd9a 100644 --- a/sources/editor/elementscene.cpp +++ b/sources/editor/elementscene.cpp @@ -745,9 +745,19 @@ void ElementScene::addItems(QVector items) */ void ElementScene::removeItems(QVector items) { + const int previous_selected_count{selectedItems().size()}; + + //block signal to avoid multiple emit of selection changed, + //we emit this signal only once at the end of this function. + blockSignals(true); for (const auto &item : items) { removeItem(item); } + blockSignals(false); + + if (previous_selected_count != selectedItems().size()) { + emit selectionChanged(); + } emit partsRemoved(); }