From 1e5d1ee5039360747c6363e09033e4cf98483842 Mon Sep 17 00:00:00 2001 From: Mikhail Svechnikov <svechnikovmv@gmail.com> Date: Fri, 10 Feb 2023 15:09:08 +0100 Subject: [PATCH] MaskGraphicsScene: cleanup --- GUI/View/Mask/MaskGraphicsScene.cpp | 20 ++++++++------------ GUI/View/Mask/MaskGraphicsScene.h | 1 - 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/GUI/View/Mask/MaskGraphicsScene.cpp b/GUI/View/Mask/MaskGraphicsScene.cpp index 581c61e5d53..342736ceecf 100644 --- a/GUI/View/Mask/MaskGraphicsScene.cpp +++ b/GUI/View/Mask/MaskGraphicsScene.cpp @@ -40,7 +40,7 @@ MaskGraphicsScene::MaskGraphicsScene(QObject* parent) { setSceneRect(default_scene_rect); connect(this, &MaskGraphicsScene::selectionChanged, this, - &MaskGraphicsScene::onSceneSelectionChanged); + &MaskGraphicsScene::onSceneSelectionChanged, Qt::UniqueConnection); } MaskGraphicsScene::~MaskGraphicsScene() @@ -85,7 +85,7 @@ void MaskGraphicsScene::connectMaskContainer(MaskContainerModel* maskContainerMo connect(maskContainerModel, &QAbstractListModel::rowsAboutToBeRemoved, this, &MaskGraphicsScene::onRowsAboutToBeRemoved); connect(maskContainerModel, &QAbstractListModel::rowsRemoved, this, - &MaskGraphicsScene::onRowsRemoved); + &MaskGraphicsScene::updateScene); connect(maskContainerModel, &QAbstractListModel::modelReset, this, &MaskGraphicsScene::updateScene); connect(maskContainerModel, &QAbstractListModel::rowsMoved, this, @@ -104,7 +104,7 @@ void MaskGraphicsScene::disconnectMaskContainer(MaskContainerModel* maskContaine disconnect(maskContainerModel, &QAbstractListModel::rowsAboutToBeRemoved, this, &MaskGraphicsScene::onRowsAboutToBeRemoved); disconnect(maskContainerModel, &QAbstractListModel::rowsRemoved, this, - &MaskGraphicsScene::onRowsRemoved); + &MaskGraphicsScene::updateScene); disconnect(maskContainerModel, &QAbstractListModel::modelReset, this, &MaskGraphicsScene::updateScene); disconnect(maskContainerModel, &QAbstractListModel::rowsMoved, this, @@ -168,11 +168,6 @@ void MaskGraphicsScene::onRowsAboutToBeRemoved(const QModelIndex&, int first, in m_block_selection = false; } -void MaskGraphicsScene::onRowsRemoved(const QModelIndex&, int, int) -{ - updateScene(); -} - void MaskGraphicsScene::cancelCurrentDrawing() { if (isDrawingInProgress()) { @@ -732,13 +727,14 @@ void MaskGraphicsScene::processMaskAllItem(QGraphicsSceneMouseEvent* event) void MaskGraphicsScene::subscribeMaskItem(MaskItemObject* item) { - auto* maskItem = dynamic_cast<MaskItem*>(item); - if (!maskItem) + if (!item) return; - connect(maskItem, &MaskItemObject::maskGeometryChanged, this, &MaskGraphicsScene::lineItemMoved, + connect(item, &MaskItemObject::maskGeometryChanged, this, &MaskGraphicsScene::lineItemMoved, + Qt::UniqueConnection); + connect(item, &MaskItemObject::maskGeometryChanged, this, &MaskGraphicsScene::onMaskMove, Qt::UniqueConnection); - connect(maskItem, &MaskItem::maskToBeDestroyed, this, &MaskGraphicsScene::lineItemDeleted, + connect(item, &MaskItemObject::maskToBeDestroyed, this, &MaskGraphicsScene::lineItemDeleted, Qt::UniqueConnection); } diff --git a/GUI/View/Mask/MaskGraphicsScene.h b/GUI/View/Mask/MaskGraphicsScene.h index b731628c87e..c1e6ef6cebf 100644 --- a/GUI/View/Mask/MaskGraphicsScene.h +++ b/GUI/View/Mask/MaskGraphicsScene.h @@ -60,7 +60,6 @@ public slots: void onMaskValueChanged(MaskEditorFlags::MaskValue value); void onRowsInserted(const QModelIndex&, int, int); void onRowsAboutToBeRemoved(const QModelIndex&, int first, int last); - void onRowsRemoved(const QModelIndex&, int, int); void cancelCurrentDrawing(); void resetScene(); void updateScene(); -- GitLab