+void KeyframeHelper::mousePressEvent(QMouseEvent * event)
+{
+ if (m_geom != NULL && (event->y() < m_lineHeight) && event->button() == Qt::LeftButton) {
+ // check if we want to move a keyframe
+ int mousePos = qMax((int)(event->x() / m_scale), 0);
+ Mlt::GeometryItem item;
+ if (m_geom->next_key(&item, mousePos) == 0) {
+ if (qAbs(item.frame() * m_scale - (int)(event->x())) < 3) {
+ m_movingItem.x(item.x());
+ m_movingItem.y(item.y());
+ m_movingItem.w(item.w());
+ m_movingItem.h(item.h());
+ m_movingItem.mix(item.mix());
+ m_movingItem.frame(item.frame());
+ m_dragStart = event->pos();
+ m_movingKeyframe = true;
+ return;
+ }
+ }
+ }