From 8aab3f4486075285fe39d3fd1876a01bfa2ac843 Mon Sep 17 00:00:00 2001 From: unspeaker Date: Thu, 10 Oct 2024 08:54:15 +0300 Subject: [PATCH] fix focus fallthrough in transport --- crates/tek_sequencer/src/transport_tui.rs | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/crates/tek_sequencer/src/transport_tui.rs b/crates/tek_sequencer/src/transport_tui.rs index 6944c49f..b88cc301 100644 --- a/crates/tek_sequencer/src/transport_tui.rs +++ b/crates/tek_sequencer/src/transport_tui.rs @@ -1,5 +1,12 @@ use crate::*; impl TransportToolbar { + fn handle_play_pause (&mut self, from: &TuiInput) -> Perhaps { + match from.event() { + key!(KeyCode::Enter) => self.toggle_play().map(|_|())?, + _ => return Ok(None) + } + Ok(Some(true)) + } fn handle_bpm (&mut self, from: &TuiInput) -> Perhaps { match from.event() { key!(KeyCode::Char(',')) => { self.bpm -= 1.0; }, @@ -33,13 +40,10 @@ impl Handle for TransportToolbar { key!(KeyCode::Left) => { self.focus.prev(); }, key!(KeyCode::Right) => { self.focus.next(); }, _ => match self.focus { - TransportToolbarFocus::PlayPause => match from.event() { - key!(KeyCode::Enter) => self.toggle_play().map(|_|())?, - _ => return Ok(None) - }, - TransportToolbarFocus::Bpm => self.handle_bpm(from).map(|_|())?, - TransportToolbarFocus::Quant => self.handle_quant(from).map(|_|())?, - TransportToolbarFocus::Sync => self.handle_sync(from).map(|_|())?, + TransportToolbarFocus::PlayPause => return self.handle_play_pause(from), + TransportToolbarFocus::Bpm => return self.handle_bpm(from), + TransportToolbarFocus::Quant => return self.handle_quant(from), + TransportToolbarFocus::Sync => return self.handle_sync(from), TransportToolbarFocus::Clock => {/*todo*/}, } }