mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-07 04:06:45 +01:00
focus: exit on next/prev
This commit is contained in:
parent
adb666c527
commit
ac8e8b2bf0
4 changed files with 18 additions and 16 deletions
|
|
@ -38,21 +38,21 @@ impl<E: Engine> Command<Arranger<E>> for ArrangerCommand {
|
|||
fn execute (self, state: &mut Arranger<E>) -> Perhaps<Self> {
|
||||
let undo = match self {
|
||||
Self::Focus(cmd) => {
|
||||
delegate(Self::Focus, state, cmd)
|
||||
},
|
||||
Self::Transport(cmd) => if let Some(ref transport) = state.transport {
|
||||
delegate(Self::Transport, &mut*transport.write().unwrap(), cmd)
|
||||
} else {
|
||||
Ok(None)
|
||||
delegate(cmd, Self::Focus, state)
|
||||
},
|
||||
Self::Phrases(cmd) => {
|
||||
delegate(Self::Phrases, &mut*state.phrases.write().unwrap(), cmd)
|
||||
delegate(cmd, Self::Phrases, &mut*state.phrases.write().unwrap())
|
||||
},
|
||||
Self::Editor(cmd) => {
|
||||
delegate(Self::Editor, &mut state.editor, cmd)
|
||||
delegate(cmd, Self::Editor, &mut state.editor)
|
||||
},
|
||||
Self::Arrangement(cmd) => {
|
||||
delegate(Self::Arrangement, &mut state.arrangement, cmd)
|
||||
delegate(cmd, Self::Arrangement, &mut state.arrangement)
|
||||
},
|
||||
Self::Transport(cmd) => if let Some(ref transport) = state.transport {
|
||||
delegate(cmd, Self::Transport, &mut*transport.write().unwrap())
|
||||
} else {
|
||||
Ok(None)
|
||||
},
|
||||
}?;
|
||||
state.show_phrase();
|
||||
|
|
|
|||
|
|
@ -75,16 +75,16 @@ impl<E: Engine> Command<Sequencer<E>> for SequencerCommand {
|
|||
fn execute (self, state: &mut Sequencer<E>) -> Perhaps<Self> {
|
||||
match self {
|
||||
Self::Focus(cmd) => {
|
||||
return delegate(Self::Focus, state, cmd)
|
||||
},
|
||||
Self::Transport(cmd) => if let Some(ref transport) = state.transport {
|
||||
return delegate(Self::Transport, &mut*transport.write().unwrap(), cmd)
|
||||
return delegate(cmd, Self::Focus, state)
|
||||
},
|
||||
Self::Phrases(cmd) => {
|
||||
return delegate(Self::Phrases, &mut*state.phrases.write().unwrap(), cmd)
|
||||
return delegate(cmd, Self::Phrases, &mut*state.phrases.write().unwrap())
|
||||
},
|
||||
Self::Editor(cmd) => {
|
||||
return delegate(Self::Editor, &mut state.editor, cmd)
|
||||
return delegate(cmd, Self::Editor, &mut state.editor)
|
||||
},
|
||||
Self::Transport(cmd) => if let Some(ref transport) = state.transport {
|
||||
return delegate(cmd, Self::Transport, &mut*transport.write().unwrap())
|
||||
},
|
||||
}
|
||||
Ok(None)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue