nodeview: added ctrl+scroll zooming

This commit is contained in:
itsmattkc
2020-03-30 01:27:10 +11:00
parent 7bca61608a
commit 2bfe9f44df
2 changed files with 15 additions and 0 deletions
+13
View File
@@ -41,6 +41,7 @@ NodeView::NodeView(QWidget *parent) :
connect(this, &NodeView::customContextMenuRequested, this, &NodeView::ShowContextMenu);
setMouseTracking(true);
setRenderHint(QPainter::Antialiasing);
}
NodeView::~NodeView()
@@ -273,6 +274,18 @@ void NodeView::mouseMoveEvent(QMouseEvent *event)
}
}
void NodeView::wheelEvent(QWheelEvent *event)
{
if (event->modifiers() & Qt::ControlModifier) {
// FIXME: Hardcoded divider (0.001)
qreal multiplier = 1.0 + (static_cast<qreal>(event->delta()) * 0.001);
scale(multiplier, multiplier);
} else {
QWidget::wheelEvent(event);
}
}
void NodeView::SceneSelectionChangedSlot()
{
emit SelectionChanged(scene_.GetSelectedNodes());
+2
View File
@@ -73,6 +73,8 @@ protected:
virtual void mouseMoveEvent(QMouseEvent *event) override;
virtual void wheelEvent(QWheelEvent* event) override;
private:
void PlaceNode(NodeViewItem* n, const QPointF& pos);