From 6d44ab71b39509a05054603f59ae8125c4544bec Mon Sep 17 00:00:00 2001 From: Brian Matherly Date: Mon, 1 May 2023 22:14:52 -0500 Subject: [PATCH] Fix right-click does not work after moving timeline As reported here: https://forum.shotcut.org/t/release-candidate-version-23-04-20/38515/28 --- src/docks/timelinedock.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/docks/timelinedock.cpp b/src/docks/timelinedock.cpp index e62b5338f9..f83e99a80c 100644 --- a/src/docks/timelinedock.cpp +++ b/src/docks/timelinedock.cpp @@ -225,6 +225,14 @@ TimelineDock::TimelineDock(QWidget *parent) : m_quickView.setAttribute(Qt::WA_AcceptTouchEvents); #endif + connect(&m_quickView, &QQuickWidget::statusChanged, this, [&]() { + if ( m_quickView.status() == QQuickWidget::Ready) { + connect(m_quickView.rootObject(), SIGNAL(clipClicked()), this, SIGNAL(clipClicked())); + connect(m_quickView.rootObject(), SIGNAL(timelineRightClicked()), this, + SLOT(onTimelineRightClicked())); + connect(m_quickView.rootObject(), SIGNAL(clipRightClicked()), this, SLOT(onClipRightClicked())); + } + }); connect(&m_model, SIGNAL(modified()), this, SLOT(clearSelectionIfInvalid())); connect(&m_model, &MultitrackModel::appended, this, &TimelineDock::selectClip, Qt::QueuedConnection); @@ -3107,10 +3115,6 @@ void TimelineDock::load(bool force) sourcePath.cd("timeline"); m_quickView.setFocusPolicy(isFloating() ? Qt::NoFocus : Qt::StrongFocus); m_quickView.setSource(QUrl::fromLocalFile(sourcePath.filePath("timeline.qml"))); - connect(m_quickView.rootObject(), SIGNAL(clipClicked()), this, SIGNAL(clipClicked())); - connect(m_quickView.rootObject(), SIGNAL(timelineRightClicked()), this, - SLOT(onTimelineRightClicked())); - connect(m_quickView.rootObject(), SIGNAL(clipRightClicked()), this, SLOT(onClipRightClicked())); if (force && Settings.timelineShowWaveforms()) m_model.reload(); if (saveCurrentTrack != -1)