From 5089c25daad6a39255d9242bbc4bc13c406da01a Mon Sep 17 00:00:00 2001 From: Till Theato Date: Fri, 7 May 2010 20:01:08 +0000 Subject: [PATCH] Remove point in curve widget with right click svn path=/trunk/kdenlive/; revision=4421 --- src/kis_curve_widget.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/kis_curve_widget.cpp b/src/kis_curve_widget.cpp index 6b0656ee..7134adf8 100644 --- a/src/kis_curve_widget.cpp +++ b/src/kis_curve_widget.cpp @@ -319,9 +319,6 @@ void KisCurveWidget::paintEvent(QPaintEvent *) void KisCurveWidget::mousePressEvent(QMouseEvent * e) { if (d->m_readOnlyMode) return; - - if (e->button() != Qt::LeftButton) - return; double x = e->pos().x() / (double)(width() - 1); double y = 1.0 - e->pos().y() / (double)(height() - 1); @@ -329,6 +326,15 @@ void KisCurveWidget::mousePressEvent(QMouseEvent * e) int closest_point_index = d->nearestPointInRange(QPointF(x, y), width(), height()); + + if (e->button() == Qt::RightButton && closest_point_index >= 0 && d->m_curve.points().count() > 2) { + d->m_curve.removePoint(closest_point_index); + setCursor(Qt::ArrowCursor); + d->setState(ST_NORMAL); + d->setCurveModified(); + return; + } else if (e->button() != Qt::LeftButton) return; + if (closest_point_index < 0) { if (d->m_maxPoints > 0 && d->m_curve.points().count() >= d->m_maxPoints) return; -- 2.39.2