diff options
Diffstat (limited to 'src/gui/message.rs')
-rw-r--r-- | src/gui/message.rs | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/src/gui/message.rs b/src/gui/message.rs index 01d124e..28a1d2c 100644 --- a/src/gui/message.rs +++ b/src/gui/message.rs @@ -12,8 +12,9 @@ use tui::{ pub fn show<B: Backend>( terminal: &mut Terminal<B>, events: &Events, - title: &String, - message: &String, + title: &str, + message: &str, + wait: bool, ) -> Result<()> { loop { terminal.draw(|f| { @@ -26,16 +27,22 @@ pub fn show<B: Backend>( let d1 = util::title(title); f.render_widget(d1, chunks[0]); - let message = Paragraph::new(util::center_vertically(chunks[1], &message)) + let message = Paragraph::new(util::center_vertically(chunks[1], &message.to_string())) .alignment(Alignment::Center); f.render_widget(message, chunks[1]); })?; - if let Event::Input(key) = events.next()? { - match key { - Key::Char('q') => return Ok(()), - _ => (), + if wait { + if let Event::Input(key) = events.next()? { + match key { + Key::Char('q') => break, + _ => (), + } } + } else { + break; } } + + Ok(()) } |