mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-06 11:46:41 +01:00
instant rename preview
This commit is contained in:
parent
1bed8aa72f
commit
9a0c9d9459
1 changed files with 16 additions and 8 deletions
|
|
@ -48,9 +48,9 @@ impl Content for PhrasePool<Tui> {
|
|||
(i, phrase) in self.phrases.iter().enumerate() => Layers::new(|add|{
|
||||
let Phrase { ref name, color, .. } = *phrase.read().unwrap();
|
||||
let row1 = format!(" {i}");
|
||||
let row2 = if let Some(PhrasePoolMode::Rename(phrase, ref new_name)) = self.mode {
|
||||
let row2 = if let Some(PhrasePoolMode::Rename(phrase, _)) = self.mode {
|
||||
if self.focused && i == phrase {
|
||||
format!(" {new_name}▄")
|
||||
format!(" {}▄", name.read().unwrap())
|
||||
} else {
|
||||
format!(" {}", name.read().unwrap())
|
||||
}
|
||||
|
|
@ -85,13 +85,21 @@ impl Content for PhrasePool<Tui> {
|
|||
impl Handle<Tui> for PhrasePool<Tui> {
|
||||
fn handle (&mut self, from: &TuiInput) -> Perhaps<bool> {
|
||||
match self.mode {
|
||||
Some(PhrasePoolMode::Rename(phrase, ref mut new_name)) => match from.event() {
|
||||
key!(KeyCode::Backspace) => { new_name.pop(); },
|
||||
key!(KeyCode::Char(c)) => { new_name.push(*c); },
|
||||
key!(Shift-KeyCode::Char(c)) => { new_name.push(*c); },
|
||||
key!(KeyCode::Esc) => { self.mode = None; },
|
||||
Some(PhrasePoolMode::Rename(phrase, ref mut old_name)) => match from.event() {
|
||||
key!(KeyCode::Backspace) => {
|
||||
self.phrases[phrase].read().unwrap().name.write().unwrap().pop();
|
||||
},
|
||||
key!(KeyCode::Char(c)) => {
|
||||
self.phrases[phrase].read().unwrap().name.write().unwrap().push(*c);
|
||||
},
|
||||
key!(Shift-KeyCode::Char(c)) => {
|
||||
self.phrases[phrase].read().unwrap().name.write().unwrap().push(*c);
|
||||
},
|
||||
key!(KeyCode::Esc) => {
|
||||
*self.phrases[phrase].read().unwrap().name.write().unwrap() = old_name.clone();
|
||||
self.mode = None;
|
||||
},
|
||||
key!(KeyCode::Enter) => {
|
||||
*self.phrases[phrase].read().unwrap().name.write().unwrap() = new_name.clone();
|
||||
self.mode = None;
|
||||
},
|
||||
_ => return Ok(None)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue