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<()> { fn render (&self, to: &mut E::Output) -> Usually<()> {
match *self { match *self {
Self::X(x, ref inner) => Push::X(x, inner as &dyn Widget<Engine = E>), Self::X(x, ref inner) =>
Self::Y(y, ref inner) => Push::Y(y, inner as &dyn Widget<Engine = E>), Push::X(x, inner as &dyn Widget<Engine = E>),
Self::XY(x, y, ref inner) => Push::XY(x, y, 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) }.render(to)
} }
} }

View file

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