From a40eaa1ed51e3ac3f3fa29452d28e111a7e5618c Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Fri, 15 May 2020 15:09:08 +1000 Subject: [PATCH] mainmenu: added cache actions --- app/window/mainwindow/mainmenu.cpp | 33 ++++++++++++++++++++++++++++++ app/window/mainwindow/mainmenu.h | 14 ++++++++++++- 2 files changed, 46 insertions(+), 1 deletion(-) diff --git a/app/window/mainwindow/mainmenu.cpp b/app/window/mainwindow/mainmenu.cpp index 588939887..4b9791b2b 100644 --- a/app/window/mainwindow/mainmenu.cpp +++ b/app/window/mainwindow/mainmenu.cpp @@ -180,6 +180,14 @@ MainMenu::MainMenu(MainWindow *parent) : playback_loop_item_ = playback_menu_->AddItem("loop", this, &MainMenu::LoopTriggered); playback_loop_item_->setCheckable(true); + // + // SEQUENCE MENU + // + + sequence_menu_ = new Menu(this, this, &MainMenu::SequenceMenuAboutToShow); + sequence_cache_item_ = sequence_menu_->AddItem("seqcache", this, &MainMenu::SequenceCacheTriggered); + sequence_cache_in_to_out_item_ = sequence_menu_->AddItem("seqcacheinout", this, &MainMenu::SequenceCacheInOutTriggered); + // // WINDOW MENU // @@ -360,6 +368,16 @@ void MainMenu::PlaybackMenuAboutToShow() playback_loop_item_->setChecked(Config::Current()["Loop"].toBool()); } +void MainMenu::SequenceMenuAboutToShow() +{ + TimeBasedPanel* p = PanelManager::instance()->MostRecentlyFocused(); + + bool can_cache_sequence = (p && p->GetConnectedViewer()); + + sequence_cache_item_->setEnabled(can_cache_sequence); + sequence_cache_in_to_out_item_->setEnabled(can_cache_sequence); +} + void MainMenu::WindowMenuAboutToShow() { // Remove any previous items @@ -591,6 +609,16 @@ void MainMenu::OpenRecentItemTriggered() Core::instance()->OpenProjectFromRecentList(static_cast(sender())->data().toInt()); } +void MainMenu::SequenceCacheTriggered() +{ + qDebug() << "STUB"; +} + +void MainMenu::SequenceCacheInOutTriggered() +{ + qDebug() << "STUB"; +} + void MainMenu::Retranslate() { // MenuShared is not a QWidget and therefore does not receive a LanguageEvent, we use MainMenu's to update it @@ -659,6 +687,11 @@ void MainMenu::Retranslate() playback_shuttleright_item_->setText(tr("Shuttle Right")); playback_loop_item_->setText(tr("Loop")); + // Sequence menu + sequence_menu_->setTitle(tr("&Sequence")); + sequence_cache_item_->setText(tr("Cache Entire Sequence")); + sequence_cache_in_to_out_item_->setText(tr("Cache Sequence In/Out")); + // Window menu window_menu_->setTitle("&Window"); window_maximize_panel_item_->setText(tr("Maximize Panel")); diff --git a/app/window/mainwindow/mainmenu.h b/app/window/mainwindow/mainmenu.h index de74d47fd..bae73de55 100644 --- a/app/window/mainwindow/mainmenu.h +++ b/app/window/mainwindow/mainmenu.h @@ -85,10 +85,15 @@ private slots: void ToolsMenuAboutToShow(); /** - * @brief PlaybackMenuAboutToShow + * @brief Slot triggered just before the Playback menu shows */ void PlaybackMenuAboutToShow(); + /** + * @brief Slot triggered just before the Sequence menu shows + */ + void SequenceMenuAboutToShow(); + /** * @brief Slot triggered just before the Window menu shows */ @@ -172,6 +177,9 @@ private slots: void OpenRecentItemTriggered(); + void SequenceCacheTriggered(); + void SequenceCacheInOutTriggered(); + private: /** * @brief Set strings based on the current application language. @@ -241,6 +249,10 @@ private: QAction* playback_shuttleright_item_; QAction* playback_loop_item_; + Menu* sequence_menu_; + QAction* sequence_cache_item_; + QAction* sequence_cache_in_to_out_item_; + Menu* window_menu_; QAction* window_menu_separator_; QAction* window_maximize_panel_item_;