TimeLineRulerMenu: only show drop or non-drop timecode depending

on timebase
This commit is contained in:
Thomas Wilshaw
2021-04-08 12:56:42 +01:00
parent f560beef60
commit 2cea45268f
6 changed files with 37 additions and 8 deletions
+18 -3
View File
@@ -21,6 +21,7 @@
#include "menushared.h"
#include "core.h"
#include "common/timecodefunctions.h"
#include "panel/panelmanager.h"
#include "panel/timeline/timeline.h"
@@ -159,10 +160,24 @@ void MenuShared::AddItemsForClipEditMenu(Menu *m)
m->addAction(clip_nest_item_);
}
void MenuShared::AddItemsForTimeRulerMenu(Menu *m)
void MenuShared::AddItemsForTimeRulerMenu(Menu *m, const rational& timebase)
{
m->addAction(view_timecode_view_dropframe_item_);
m->addAction(view_timecode_view_nondropframe_item_);
// If menu is already created (such as the view menu) we need to remove the instance
// of dropfram or non-dropframe timecode that is already there to avoid double displays
if (m->actions().contains(view_timecode_view_dropframe_item_)) {
m->removeAction(view_timecode_view_dropframe_item_);
}
if (m->actions().contains(view_timecode_view_nondropframe_item_)) {
m->removeAction(view_timecode_view_nondropframe_item_);
}
if (Timecode::TimebaseIsDropFrame(timebase)) {
m->addAction(view_timecode_view_dropframe_item_);
} else {
m->addAction(view_timecode_view_nondropframe_item_);
}
m->addAction(view_timecode_view_seconds_item_);
m->addAction(view_timecode_view_frames_item_);
m->addAction(view_timecode_view_milliseconds_item_);