mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-07 12:16:42 +01:00
arranger: open and close rename modal
This commit is contained in:
parent
b0f4919030
commit
c8bdee060c
7 changed files with 92 additions and 17 deletions
|
|
@ -1,22 +1,30 @@
|
|||
use crate::*;
|
||||
|
||||
handle!(Arranger |self, e| {
|
||||
match e {
|
||||
AppEvent::Input(Event::Key(k)) => {
|
||||
if k.code == KeyCode::Tab {
|
||||
self.focus_sequencer = !self.focus_sequencer;
|
||||
Ok(true)
|
||||
} else if self.focus_sequencer {
|
||||
if let Some(sequencer) = self.sequencer_mut() {
|
||||
handle_keymap(sequencer, e, KEYMAP_SEQUENCER)
|
||||
if let Some(modal) = self.modal.as_mut() {
|
||||
let result = modal.handle(e)?;
|
||||
if modal.exited() {
|
||||
self.modal = None;
|
||||
}
|
||||
Ok(result)
|
||||
} else {
|
||||
match e {
|
||||
AppEvent::Input(Event::Key(k)) => {
|
||||
if k.code == KeyCode::Tab {
|
||||
self.focus_sequencer = !self.focus_sequencer;
|
||||
Ok(true)
|
||||
} else if self.focus_sequencer {
|
||||
if let Some(sequencer) = self.sequencer_mut() {
|
||||
handle_keymap(sequencer, e, KEYMAP_SEQUENCER)
|
||||
} else {
|
||||
Ok(false)
|
||||
}
|
||||
} else {
|
||||
Ok(false)
|
||||
handle_keymap(self, e, KEYMAP_ARRANGER)
|
||||
}
|
||||
} else {
|
||||
handle_keymap(self, e, KEYMAP_ARRANGER)
|
||||
}
|
||||
},
|
||||
_ => Ok(false),
|
||||
},
|
||||
_ => Ok(false),
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
|
@ -78,4 +86,8 @@ pub const KEYMAP_ARRANGER: &'static [KeyBinding<Arranger>] = keymap!(Arranger {
|
|||
arranger.track_add(None)?;
|
||||
Ok(true)
|
||||
}],
|
||||
[Char('n'), NONE, "rename", "rename item at cursor", |arranger: &mut Arranger| {
|
||||
arranger.rename_selected();
|
||||
Ok(true)
|
||||
}],
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue