From b2ff4db398aed621267b216f747680adea27e8ca Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Fri, 18 Jan 2019 11:54:29 +1100 Subject: [PATCH] restricted gizmos to primary mouse button only --- project/effectfield.cpp | 3 +++ ui/viewerwidget.cpp | 27 ++++++++++++++++----------- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/project/effectfield.cpp b/project/effectfield.cpp index 039aac8fa..b9b8766e1 100644 --- a/project/effectfield.cpp +++ b/project/effectfield.cpp @@ -48,7 +48,10 @@ EffectField::EffectField(EffectRow *parent, int t, const QString &i) : case EFFECT_FIELD_STRING: { TextEditEx* edit = new TextEditEx(); + + // TODO magic number 2 - i'm not sure how to make this work otherwise though edit->setFixedHeight(qCeil(edit->fontMetrics().lineSpacing()*config.effect_textbox_lines + edit->document()->documentMargin() + edit->document()->documentMargin() + 2)); + edit->setUndoRedoEnabled(true); ui_element = edit; connect(edit, SIGNAL(textChanged()), this, SLOT(ui_element_change())); diff --git a/ui/viewerwidget.cpp b/ui/viewerwidget.cpp index 7791d28d4..50530edf9 100644 --- a/ui/viewerwidget.cpp +++ b/ui/viewerwidget.cpp @@ -326,7 +326,7 @@ void ViewerWidget::mousePressEvent(QMouseEvent* event) { seek_from_click(event->x()); } else if (event->buttons() & Qt::MiddleButton || panel_timeline->tool == TIMELINE_TOOL_HAND) { container->dragScrollPress(event->pos()); - } else { + } else if (event->buttons() & Qt::LeftButton) { drag_start_x = event->pos().x(); drag_start_y = event->pos().y(); @@ -352,15 +352,17 @@ void ViewerWidget::mouseMoveEvent(QMouseEvent* event) { seek_from_click(event->x()); } else if (event->buttons() & Qt::MiddleButton || panel_timeline->tool == TIMELINE_TOOL_HAND) { container->dragScrollMove(event->pos()); - } else if (gizmos == nullptr) { - QDrag* drag = new QDrag(this); - QMimeData* mimeData = new QMimeData; - mimeData->setText("h"); // QMimeData will fail without some kind of data - drag->setMimeData(mimeData); - drag->exec(); - dragging = false; - } else { - move_gizmos(event, false); + } else if (event->buttons() & Qt::LeftButton) { + if (gizmos == nullptr) { + QDrag* drag = new QDrag(this); + QMimeData* mimeData = new QMimeData; + mimeData->setText("h"); // QMimeData will fail without some kind of data + drag->setMimeData(mimeData); + drag->exec(); + dragging = false; + } else { + move_gizmos(event, false); + } } } else { EffectGizmo* g = get_gizmo_from_mouse(event->pos().x(), event->pos().y()); @@ -373,7 +375,10 @@ void ViewerWidget::mouseMoveEvent(QMouseEvent* event) { } void ViewerWidget::mouseReleaseEvent(QMouseEvent *event) { - if (dragging && gizmos != nullptr && !(event->button() == Qt::MiddleButton || panel_timeline->tool == TIMELINE_TOOL_HAND)) { + if (dragging + && gizmos != nullptr + && event->button() == Qt::LeftButton + && panel_timeline->tool != TIMELINE_TOOL_HAND) { move_gizmos(event, true); } dragging = false;