looks like layout must return size only

This commit is contained in:
🪞👃🪞 2024-09-13 03:47:36 +03:00
parent 70cef99931
commit 4e0eb0c335
3 changed files with 195 additions and 230 deletions

View file

@ -98,47 +98,35 @@ impl Handle<Tui> for ArrangerStandalone<Tui> {
key!(KeyCode::Char(' ')) => {
if let Some(ref mut transport) = self.transport {
transport.toggle_play()?;
Ok(Some(true))
} else {
Ok(None)
return Ok(None)
}
},
key!(KeyCode::Tab) => {
self.focus_next();
Ok(Some(true))
},
key!(KeyCode::BackTab) => {
self.focus_prev();
Ok(Some(true))
},
key!(KeyCode::Down) => {
if self.focus == 0 || (
self.focus == 1 && self.arranger.is_last_row()
) {
self.focus_next();
Ok(Some(true))
} else {
self.focused_mut().handle(from)
return self.focused_mut().handle(from)
}
},
key!(KeyCode::Up) => {
if self.focus == 1 && self.arranger.is_first_row() {
self.focus_prev();
Ok(Some(true))
} else {
self.focused_mut().handle(from)
return self.focused_mut().handle(from)
}
},
_ => self.focused_mut().handle(from)
_ => return self.focused_mut().handle(from)
}
}
}
struct SequencerProxy<E: Engine>(Arc<RwLock<Arranger<E>>>);
impl Handle<Tui> for SequencerProxy<Tui> {
fn handle (&mut self, from: &Tui) -> Perhaps<bool> {
self.0.write().unwrap().handle(from)
Ok(Some(true))
}
}