diff --git a/app/panel/timebased/timebased.cpp b/app/panel/timebased/timebased.cpp index f731e0f44..cc31d9fe2 100644 --- a/app/panel/timebased/timebased.cpp +++ b/app/panel/timebased/timebased.cpp @@ -34,7 +34,7 @@ rational TimeBasedPanel::GetTime() return widget_->GetTime(); } -rational TimeBasedPanel::timebase() +const rational& TimeBasedPanel::timebase() { return widget_->timebase(); } diff --git a/app/panel/timebased/timebased.h b/app/panel/timebased/timebased.h index 5fe4eb49e..7394bc280 100644 --- a/app/panel/timebased/timebased.h +++ b/app/panel/timebased/timebased.h @@ -41,7 +41,7 @@ public: rational GetTime(); - rational timebase(); + const rational& timebase(); ViewerOutput *GetConnectedViewer() const { diff --git a/app/widget/menu/menushared.cpp b/app/widget/menu/menushared.cpp index cdb3b3527..c61f22335 100644 --- a/app/widget/menu/menushared.cpp +++ b/app/widget/menu/menushared.cpp @@ -175,6 +175,7 @@ void MenuShared::AddItemsForTimeRulerMenu(Menu *m, const rational& timebase) if (Timecode::TimebaseIsDropFrame(timebase)) { m->addAction(view_timecode_view_dropframe_item_); + m->addAction(view_timecode_view_nondropframe_item_); } else { m->addAction(view_timecode_view_nondropframe_item_); } diff --git a/app/widget/nodeparamview/nodeparamviewwidgetbridge.cpp b/app/widget/nodeparamview/nodeparamviewwidgetbridge.cpp index 73d4f3a57..c2a5d8c8d 100644 --- a/app/widget/nodeparamview/nodeparamviewwidgetbridge.cpp +++ b/app/widget/nodeparamview/nodeparamviewwidgetbridge.cpp @@ -288,7 +288,7 @@ void NodeParamViewWidgetBridge::WidgetCallback() { // Widget is a RationalSlider RationalSlider* slider = static_cast(sender()); - ProcessSlider(slider, QVariant::fromValue(slider->GetValue()));; + ProcessSlider(slider, QVariant::fromValue(slider->GetValue())); break; } case NodeValue::kVec2: @@ -528,8 +528,6 @@ rational NodeParamViewWidgetBridge::GetCurrentTimeAsNodeTime() const void NodeParamViewWidgetBridge::SetTimebase(const rational& timebase) { - timebase_ = timebase; - if (input_.GetDataType() == NodeValue::kRational) { static_cast(widgets_.first())->SetTimebase(timebase); } diff --git a/app/widget/nodeparamview/nodeparamviewwidgetbridge.h b/app/widget/nodeparamview/nodeparamviewwidgetbridge.h index 90102dd07..d985eb52d 100644 --- a/app/widget/nodeparamview/nodeparamviewwidgetbridge.h +++ b/app/widget/nodeparamview/nodeparamviewwidgetbridge.h @@ -76,8 +76,6 @@ private: rational time_; - rational timebase_; - NodeInputDragger dragger_; NodeParamViewScrollBlocker scroll_filter_; diff --git a/app/window/mainwindow/mainmenu.cpp b/app/window/mainwindow/mainmenu.cpp index 246dd91ed..c471c2ea2 100644 --- a/app/window/mainwindow/mainmenu.cpp +++ b/app/window/mainwindow/mainmenu.cpp @@ -303,10 +303,7 @@ void MainMenu::ViewMenuAboutToShow() // Parent is QMainWindow view_full_screen_item_->setChecked(parentWidget()->isFullScreen()); - // Ensure checked timecode display mode is correct - MenuShared::instance()->AboutToShowTimeRulerActions(); - - + // Make sure we're displaying the correct options for the timebase TimeBasedPanel* p = PanelManager::instance()->MostRecentlyFocused(); if (p) { if (p->timebase().denominator() != 0) { @@ -314,6 +311,9 @@ void MainMenu::ViewMenuAboutToShow() MenuShared::instance()->AddItemsForTimeRulerMenu(view_menu_, p->timebase()); } } + + // Ensure checked timecode display mode is correct + MenuShared::instance()->AboutToShowTimeRulerActions(); } void MainMenu::ToolsMenuAboutToShow()