From f57f3d4650a6bb4c25779087fc3fd2de737db36c Mon Sep 17 00:00:00 2001 From: brunoherbelin Date: Wed, 3 Jun 2020 21:36:12 +0200 Subject: [PATCH] Implemented TAB navigation to switch source. --- Mixer.cpp | 13 +++++++++++++ Mixer.h | 1 + UserInterfaceManager.cpp | 3 +++ 3 files changed, 17 insertions(+) diff --git a/Mixer.cpp b/Mixer.cpp index 65d4f31..ef180c1 100644 --- a/Mixer.cpp +++ b/Mixer.cpp @@ -394,6 +394,19 @@ void Mixer::setCurrentSource(int index) setCurrentSource( session_->find(index) ); } +void Mixer::setCurrentNext() +{ + SourceList::iterator it = current_source_; + + it++; + + if (it == session_->end()) { + it = session_->begin(); + } + + setCurrentSource( it ); +} + void Mixer::unsetCurrentSource() { // discard overlay for previously current source diff --git a/Mixer.h b/Mixer.h index baca274..7a81f8b 100644 --- a/Mixer.h +++ b/Mixer.h @@ -48,6 +48,7 @@ public: void setCurrentSource(Node *node); void setCurrentSource(int index); void setCurrentSource(Source *s); + void setCurrentNext(); void unsetCurrentSource(); void cloneCurrentSource(); void deleteCurrentSource(); diff --git a/UserInterfaceManager.cpp b/UserInterfaceManager.cpp index 72827ef..1261f35 100644 --- a/UserInterfaceManager.cpp +++ b/UserInterfaceManager.cpp @@ -279,6 +279,9 @@ void UserInterface::handleKeyboard() // button home to toggle menu else if (ImGui::IsKeyPressed( GLFW_KEY_INSERT )) navigator.togglePannelNew(); + // button tab to select next + else if (ImGui::IsKeyPressed( GLFW_KEY_TAB )) + Mixer::manager().setCurrentNext(); } }