fix selecting of tracks in clip grid

This commit is contained in:
🪞👃🪞 2024-09-30 10:13:44 +03:00
parent 3c8d9668fe
commit a27b39e595
2 changed files with 10 additions and 11 deletions

View file

@ -639,9 +639,12 @@ impl<E: Engine, T: Widget<Engine = E>> Widget for Outset<E::Unit, T> {
}
fn render (&self, to: &mut E::Output) -> Usually<()> {
match *self {
Self::X(x, ref inner) => Push::X(x, inner as &dyn Widget<Engine = E>),
Self::Y(y, ref inner) => Push::Y(y, inner as &dyn Widget<Engine = E>),
Self::XY(x, y, ref inner) => Push::XY(x, y, inner as &dyn Widget<Engine = E>),
Self::X(x, ref inner) =>
Push::X(x, inner as &dyn Widget<Engine = E>),
Self::Y(y, ref inner) =>
Push::Y(y, inner as &dyn Widget<Engine = E>),
Self::XY(x, y, ref inner) =>
Push::XY(x, y, inner as &dyn Widget<Engine = E>),
}.render(to)
}
}

View file

@ -84,15 +84,11 @@ impl<E: Engine> Arranger<E> {
}
pub fn is_first_row (&self) -> bool {
let selected = self.selected;
selected.is_mix() || selected.is_track() || match selected {
ArrangerFocus::Clip(_, s) =>
s == 0,
_ => false
}
selected.is_mix() || selected.is_track()
}
pub fn is_last_row (&self) -> bool {
let selected = self.selected;
match selected {
(self.scenes.len() == 0 && (selected.is_mix() || selected.is_track())) || match selected {
ArrangerFocus::Scene(s) =>
s == self.scenes.len() - 1,
ArrangerFocus::Clip(_, s) =>
@ -572,7 +568,7 @@ impl<'a> Content for VerticalArranger<'a, Tui> {
add(&col!(track_titles, track_clips))?;
Ok(())
})
.bg(Color::Rgb(35, 40, 25))
.bg(Color::Rgb(28, 35, 25))
.border(Lozenge(Style::default()
.bg(Color::Rgb(40, 50, 30))
.fg(Color::Rgb(70, 80, 50))))
@ -2015,7 +2011,7 @@ impl Content for TransportToolbar<Tui> {
focus_wrap(self.focused && self.quant.focused, &self.quant),
focus_wrap(self.focused && self.sync.focused, &self.sync),
focus_wrap(self.focused && self.clock.focused, &self.clock),
}.fill_x().bg(Color::Rgb(25, 30, 20))
}.fill_x().bg(Color::Rgb(40, 50, 30))
}
}