test2
This commit is contained in:
24
src/main.rs
24
src/main.rs
@@ -50,9 +50,17 @@ enum Event {
|
|||||||
|
|
||||||
fn handle_input_events(tx: mpsc::Sender<Event>) {
|
fn handle_input_events(tx: mpsc::Sender<Event>) {
|
||||||
loop {
|
loop {
|
||||||
match event::read().unwrap() {
|
match event::read() {
|
||||||
event::Event::Key(key_event) => tx.send(Event::Input(key_event)).unwrap(),
|
Ok(ev) => {
|
||||||
_ => {}
|
if let event::Event::Key(key_event) = ev {
|
||||||
|
if tx.send(Event::Input(key_event)).is_err() {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Err(_) => {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -64,7 +72,9 @@ fn run_background_thread(tx: mpsc::Sender<Event>) {
|
|||||||
thread::sleep(Duration::from_millis(100));
|
thread::sleep(Duration::from_millis(100));
|
||||||
progress += INCREMENT;
|
progress += INCREMENT;
|
||||||
progress = progress.min(1_f64);
|
progress = progress.min(1_f64);
|
||||||
tx.send(Event::Progress(progress)).unwrap();
|
if tx.send(Event::Progress(progress)).is_err() {
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -77,7 +87,11 @@ pub struct App {
|
|||||||
impl App {
|
impl App {
|
||||||
fn run(&mut self, terminal: &mut DefaultTerminal, rx: mpsc::Receiver<Event>) -> io::Result<()> {
|
fn run(&mut self, terminal: &mut DefaultTerminal, rx: mpsc::Receiver<Event>) -> io::Result<()> {
|
||||||
while !self.exit {
|
while !self.exit {
|
||||||
match rx.recv().unwrap() {
|
let event: Event = match rx.recv() {
|
||||||
|
Ok(ev) => ev,
|
||||||
|
Err(_) => break,
|
||||||
|
};
|
||||||
|
match event {
|
||||||
Event::Input(key_event) => self.handle_key_event(key_event)?,
|
Event::Input(key_event) => self.handle_key_event(key_event)?,
|
||||||
Event::Progress(progress) => self.background_progress = progress,
|
Event::Progress(progress) => self.background_progress = progress,
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user