exportdialog/timeruler: disable marker and workarea editing

Fixes #1979
This commit is contained in:
itsmattkc
2022-07-23 09:59:18 -07:00
parent dd32f81da8
commit 0e6ebee827
3 changed files with 16 additions and 3 deletions
+10 -3
View File
@@ -48,7 +48,8 @@ SeekableWidget::SeekableWidget(QWidget* parent) :
selection_manager_(this),
resize_item_(nullptr),
marker_top_(0),
marker_bottom_(0)
marker_bottom_(0),
marker_editing_enabled_(true)
{
QFontMetrics fm = fontMetrics();
@@ -172,6 +173,8 @@ bool SeekableWidget::PasteMarkers()
void SeekableWidget::mousePressEvent(QMouseEvent *event)
{
TimelineMarker *initial;
if (resize_item_) {
// Handle selection, even though we won't be using it for dragging
if (!(event->modifiers() & Qt::ShiftModifier)) {
@@ -182,7 +185,7 @@ void SeekableWidget::mousePressEvent(QMouseEvent *event)
}
dragging_ = true;
resize_start_ = mapToScene(event->pos());
} else if (TimelineMarker *initial = selection_manager_.MousePress(event)) {
} else if (marker_editing_enabled_ && (initial = selection_manager_.MousePress(event))) {
selection_manager_.DragStart(initial, event);
} else if (!selection_manager_.GetObjectAtPoint(event->pos()) && event->button() == Qt::LeftButton) {
SeekToScenePoint(mapToScene(event->pos()).x());
@@ -430,7 +433,7 @@ int SeekableWidget::GetRightLimit() const
bool SeekableWidget::ShowContextMenu(const QPoint &p)
{
if (selection_manager_.GetObjectAtPoint(p) && !selection_manager_.GetSelectedObjects().empty()) {
if (marker_editing_enabled_ && selection_manager_.GetObjectAtPoint(p) && !selection_manager_.GetSelectedObjects().empty()) {
// Show marker-specific menu
Menu m;
@@ -457,6 +460,10 @@ bool SeekableWidget::ShowContextMenu(const QPoint &p)
bool SeekableWidget::FindResizeHandle(QMouseEvent *event)
{
if (!marker_editing_enabled_) {
return false;
}
resize_item_ = nullptr;
resize_mode_ = kResizeNone;