From b114bf98c9ef40b345d965446b093bea6eb2756f Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Fri, 22 Jan 2021 17:12:04 +1100 Subject: [PATCH] only select nodes on right click if the current clicked node isn't already selected --- app/widget/nodeview/nodeview.cpp | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/app/widget/nodeview/nodeview.cpp b/app/widget/nodeview/nodeview.cpp index effdd2a19..785884cae 100644 --- a/app/widget/nodeview/nodeview.cpp +++ b/app/widget/nodeview/nodeview.cpp @@ -347,15 +347,18 @@ void NodeView::mousePressEvent(QMouseEvent *event) if (HandPress(event)) return; if (event->button() == Qt::RightButton) { - // Qt doesn't do this by default for some reason - if (!(event->modifiers() & Qt::ShiftModifier)) { - scene_.clearSelection(); - } - - // If there's an item here, select it QGraphicsItem* item = itemAt(event->pos()); - if (item) { - item->setSelected(true); + + if (!item || !item->isSelected()) { + // Qt doesn't do this by default for some reason + if (!(event->modifiers() & Qt::ShiftModifier)) { + scene_.clearSelection(); + } + + // If there's an item here, select it + if (item) { + item->setSelected(true); + } } }