From 0abfdd1b654155b78473d75efed535572b3a3b2f Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Fri, 12 Jun 2020 21:55:43 +1000 Subject: [PATCH] timeline: improved context menu for selected clips --- app/widget/menu/menushared.cpp | 5 ++++ app/widget/timelinewidget/timelinewidget.cpp | 24 ++++++++++++-------- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/app/widget/menu/menushared.cpp b/app/widget/menu/menushared.cpp index 563630fb7..4e6a377d7 100644 --- a/app/widget/menu/menushared.cpp +++ b/app/widget/menu/menushared.cpp @@ -81,6 +81,11 @@ void MenuShared::AddItemsForNewMenu(Menu *m) void MenuShared::AddItemsForEditMenu(Menu *m, bool for_clips) { + m->addAction(Core::instance()->undo_stack()->createUndoAction(m)); + m->addAction(Core::instance()->undo_stack()->createRedoAction(m)); + + m->addSeparator(); + m->addAction(edit_cut_item_); m->addAction(edit_copy_item_); m->addAction(edit_paste_item_); diff --git a/app/widget/timelinewidget/timelinewidget.cpp b/app/widget/timelinewidget/timelinewidget.cpp index 2a2c15ad3..677c31360 100644 --- a/app/widget/timelinewidget/timelinewidget.cpp +++ b/app/widget/timelinewidget/timelinewidget.cpp @@ -34,6 +34,7 @@ #include "tool/tool.h" #include "trackview/trackview.h" #include "widget/menu/menu.h" +#include "widget/menu/menushared.h" #include "widget/nodeview/nodeviewundo.h" OLIVE_NAMESPACE_ENTER @@ -1106,21 +1107,26 @@ void TimelineWidget::ShowContextMenu() QList selected = GetSelectedBlocks(); if (!selected.isEmpty()) { - QAction* speed_duration_action = menu.addAction(tr("Speed/Duration")); - connect(speed_duration_action, &QAction::triggered, this, &TimelineWidget::ShowSpeedDurationDialog); + MenuShared::instance()->AddItemsForEditMenu(&menu, true); menu.addSeparator(); + + QAction* speed_duration_action = menu.addAction(tr("Speed/Duration")); + connect(speed_duration_action, &QAction::triggered, this, &TimelineWidget::ShowSpeedDurationDialog); } - QAction* toggle_audio_units = menu.addAction(tr("Use Audio Time Units")); - toggle_audio_units->setCheckable(true); - toggle_audio_units->setChecked(use_audio_time_units_); - connect(toggle_audio_units, &QAction::triggered, this, &TimelineWidget::SetUseAudioTimeUnits); + if (selected.isEmpty()) { - menu.addSeparator(); + QAction* toggle_audio_units = menu.addAction(tr("Use Audio Time Units")); + toggle_audio_units->setCheckable(true); + toggle_audio_units->setChecked(use_audio_time_units_); + connect(toggle_audio_units, &QAction::triggered, this, &TimelineWidget::SetUseAudioTimeUnits); - QAction* properties_action = menu.addAction(tr("Properties")); - connect(properties_action, &QAction::triggered, this, &TimelineWidget::ShowSequenceDialog); + menu.addSeparator(); + + QAction* properties_action = menu.addAction(tr("Properties")); + connect(properties_action, &QAction::triggered, this, &TimelineWidget::ShowSequenceDialog); + } menu.exec(QCursor::pos()); }