mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-07 12:16:42 +01:00
arranger: populate rename modal
This commit is contained in:
parent
c8bdee060c
commit
8e22cb6eb5
2 changed files with 18 additions and 5 deletions
|
|
@ -148,6 +148,14 @@ impl Arranger {
|
||||||
format!("Scene {}", self.scenes.len() + 1)
|
format!("Scene {}", self.scenes.len() + 1)
|
||||||
}
|
}
|
||||||
pub fn rename_selected (&mut self) {
|
pub fn rename_selected (&mut self) {
|
||||||
self.modal = Some(Box::new(ArrangerRenameModal::new(self.selected)));
|
self.modal = Some(Box::new(ArrangerRenameModal::new(
|
||||||
|
self.selected,
|
||||||
|
match self.selected {
|
||||||
|
ArrangerFocus::Mix => self.name.clone(),
|
||||||
|
ArrangerFocus::Track(t) => self.tracks[t].name.clone(),
|
||||||
|
ArrangerFocus::Scene(s) => self.scenes[s].name.clone(),
|
||||||
|
ArrangerFocus::Clip(t, s) => self.tracks[t].phrases[s].read().unwrap().name.clone(),
|
||||||
|
}
|
||||||
|
)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
use crate::*;
|
use crate::*;
|
||||||
|
|
||||||
/// Appears on first run (i.e. if state dir is missing).
|
/// Appears on first run (i.e. if state dir is missing).
|
||||||
pub struct ArrangerRenameModal(bool, ArrangerFocus);
|
pub struct ArrangerRenameModal(bool, ArrangerFocus, String);
|
||||||
|
|
||||||
impl ArrangerRenameModal {
|
impl ArrangerRenameModal {
|
||||||
pub fn new (focus: ArrangerFocus) -> Self {
|
pub fn new (focus: ArrangerFocus, name: String) -> Self {
|
||||||
Self(false, focus)
|
Self(false, focus, name)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -23,7 +23,12 @@ render!(ArrangerRenameModal |self, buf, area| {
|
||||||
ArrangerFocus::Scene(_) => "Rename scene:",
|
ArrangerFocus::Scene(_) => "Rename scene:",
|
||||||
ArrangerFocus::Clip(_, _) => "Rename clip:",
|
ArrangerFocus::Clip(_, _) => "Rename clip:",
|
||||||
};
|
};
|
||||||
label.blit(buf, area.x + 3, y, Some(Style::default().not_bold().white().not_dim()))?;
|
label.blit(
|
||||||
|
buf, area.x + 3, y, Some(Style::default().not_bold().white().not_dim())
|
||||||
|
)?;
|
||||||
|
self.2.blit(
|
||||||
|
buf, area.x + 3 + label.len() as u16 + 1, y, Some(Style::default().bold().white().not_dim())
|
||||||
|
)?;
|
||||||
Ok(area)
|
Ok(area)
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue