mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-09 05:06:43 +01:00
modal -> dialog; extract dialog, selection, editor
This commit is contained in:
parent
6286d69824
commit
a3beab0f36
7 changed files with 391 additions and 377 deletions
|
|
@ -20,8 +20,8 @@ handle!(TuiIn: |self: Tek, input|Ok(if let Some(command) = self.config.keys.comm
|
|||
expose!([self: Tek]
|
||||
([bool]
|
||||
(":mode-editor" self.is_editing())
|
||||
(":mode-message" matches!(self.modal, Some(Modal::Message(..))))
|
||||
(":mode-device-add" matches!(self.modal, Some(Modal::Device(..))))
|
||||
(":mode-message" matches!(self.dialog, Some(Dialog::Message(..))))
|
||||
(":mode-device-add" matches!(self.dialog, Some(Dialog::Device(..))))
|
||||
(":mode-clip" !self.is_editing() && self.selected.is_clip())
|
||||
(":mode-track" !self.is_editing() && self.selected.is_track())
|
||||
(":mode-scene" !self.is_editing() && self.selected.is_scene())
|
||||
|
|
@ -48,17 +48,17 @@ expose!([self: Tek]
|
|||
([usize]
|
||||
(":scene-last" self.scenes.len())
|
||||
(":track-last" self.tracks.len())
|
||||
(":device-kind" if let Some(Modal::Device(index)) = self.modal {
|
||||
(":device-kind" if let Some(Dialog::Device(index)) = self.dialog {
|
||||
index
|
||||
} else {
|
||||
0
|
||||
})
|
||||
(":device-kind-prev" if let Some(Modal::Device(index)) = self.modal {
|
||||
(":device-kind-prev" if let Some(Dialog::Device(index)) = self.dialog {
|
||||
index.overflowing_sub(1).0.min(self.device_kinds().len().saturating_sub(1))
|
||||
} else {
|
||||
0
|
||||
})
|
||||
(":device-kind-next" if let Some(Modal::Device(index)) = self.modal {
|
||||
(":device-kind-next" if let Some(Dialog::Device(index)) = self.dialog {
|
||||
(index + 1) % self.device_kinds().len()
|
||||
} else {
|
||||
0
|
||||
|
|
@ -192,6 +192,18 @@ impose!([app: Tek]
|
|||
("rec" [] Some(Self::ToggleRec))
|
||||
("mon" [] Some(Self::ToggleMon))));
|
||||
|
||||
//#[tengri_proc::input(TuiIn)]
|
||||
//impl Tek {
|
||||
//#[tengri::command("sampler", TekCommand::Sampler)]
|
||||
//fn cmd_sampler (&mut self, cmd: SamplerCommand) -> Perhaps<TekCommand> {
|
||||
//self.sampler_mut().map(|s|cmd.delegate(s, Self::Sampler)).transpose()?.flatten())
|
||||
//}
|
||||
//#[tengri::command("scene", TekCommand::Scene)]
|
||||
//fn cmd_scene (&mut self, cmd: SceneCommand) -> Perhaps<TekCommand> {
|
||||
//cmd.delegate(self, scene)
|
||||
//}
|
||||
//}
|
||||
|
||||
defcom!([self, app: Tek]
|
||||
|
||||
(TekCommand
|
||||
|
|
@ -206,8 +218,8 @@ defcom!([self, app: Tek]
|
|||
(Message [cmd: MessageCommand] cmd.delegate(app, Self::Message)?)
|
||||
(Editor [cmd: MidiEditCommand] delegate_to_editor(app, cmd)?)
|
||||
(Pool [cmd: PoolCommand] delegate_to_pool(app, cmd)?)
|
||||
(ToggleHelp [] cmd!(app.toggle_modal(Some(Modal::Help))))
|
||||
(ToggleMenu [] cmd!(app.toggle_modal(Some(Modal::Menu))))
|
||||
(ToggleHelp [] cmd!(app.toggle_dialog(Some(Dialog::Help))))
|
||||
(ToggleMenu [] cmd!(app.toggle_dialog(Some(Dialog::Menu))))
|
||||
(Color [p: ItemTheme] app.set_color(Some(p)).map(Self::Color))
|
||||
(Enqueue [c: MaybeClip] cmd_todo!("\n\rtodo: enqueue {c:?}"))
|
||||
(History [d: isize] cmd_todo!("\n\rtodo: history {d:?}"))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue