X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fmonitorscene.cpp;h=f02505641973b1b16001fa76a7729709646c2a04;hb=949abf557b97e8700db2f5545b186a87345eb783;hp=08d6ee5ba87d8e6183cf7e636962a5021514c209;hpb=aca39cbba2ef55a7bc7f1b2f9ce9a32460dd883b;p=kdenlive diff --git a/src/monitorscene.cpp b/src/monitorscene.cpp index 08d6ee5b..f0250564 100644 --- a/src/monitorscene.cpp +++ b/src/monitorscene.cpp @@ -142,11 +142,22 @@ void MonitorScene::slotZoomIn(int by) void MonitorScene::mousePressEvent(QGraphicsSceneMouseEvent* event) { + QList selected = selectedItems(); + QGraphicsScene::mousePressEvent(event); + if (selected.count() < selectedItems().count()) { + // mouse click on item not in selection group + // -> select only this item + foreach (QGraphicsItem *item, selected) { + if (item) + item->setSelected(false); + } + } + if (event->isAccepted() && selectedItems().count() > 1) { // multiple items selected + mouse pressed on an item - QList selected = selectedItems(); + selected = selectedItems(); foreach (QGraphicsItem *item, selected) { if (qgraphicsitem_cast(item)) { // works with rotoscoping only for now @@ -222,7 +233,7 @@ void MonitorScene::mouseReleaseEvent(QGraphicsSceneMouseEvent* event) } void MonitorScene::mouseDoubleClickEvent(QGraphicsSceneMouseEvent* event) { - Q_UNUSED(event); + Q_UNUSED(event) if (!m_enabled) emit addKeyframe();