4 Commits

View File

@@ -109,11 +109,15 @@ impl Main {
} }
fn exchange_recv(&mut self) { fn exchange_recv(&mut self) {
loop {
match self.c.try_recv() { match self.c.try_recv() {
Ok(msg) => self.ntfy2 = msg, Ok(msg) => {
_ => {}, self.ntfy2 = msg
},
_ => return,
}; };
} }
}
fn exchange_send(&mut self) { fn exchange_send(&mut self) {
let mut s = vec![]; let mut s = vec![];
@@ -253,7 +257,7 @@ impl Application for Main {
self.configuring = None; self.configuring = None;
}, },
_ => {}, _ => {},
} };
}, },
Message::EventOccurred(event) => { Message::EventOccurred(event) => {
match event { match event {
@@ -269,6 +273,7 @@ impl Application for Main {
self.keys_newly_down.dedup(); self.keys_newly_down.dedup();
}, },
}; };
self.exchange();
}, },
iced::event::Event::Keyboard(keyboard::Event::KeyReleased{ iced::event::Event::Keyboard(keyboard::Event::KeyReleased{
key_code, key_code,
@@ -288,9 +293,10 @@ impl Application for Main {
}, },
None => {}, None => {},
}; };
self.exchange();
}, },
_ => {}, _ => {},
} };
}, },
_ => { _ => {
self.configuring = Some(msg.clone()); self.configuring = Some(msg.clone());
@@ -306,7 +312,7 @@ impl Application for Main {
iced::Event::Keyboard(_) => Some(Message::EventOccurred(event)), iced::Event::Keyboard(_) => Some(Message::EventOccurred(event)),
_ => None, _ => None,
}), }),
every(std::time::Duration::from_millis(5)).map(|_| Message::Tick), every(std::time::Duration::from_millis(5000)).map(|_| Message::Tick),
]); ]);
} }
@@ -341,7 +347,9 @@ impl Feedback {
loop { loop {
std::thread::sleep(std::time::Duration::from_secs(2)); std::thread::sleep(std::time::Duration::from_secs(2));
match self.read() { match self.read() {
Some(msg) if msg.len() > 0 => self.write(msg), Some(msg) if msg.len() > 0 => {
self.write(msg.clone());
},
_ => {}, _ => {},
}; };
} }
@@ -349,12 +357,17 @@ impl Feedback {
fn read(&mut self) -> Option<String> { fn read(&mut self) -> Option<String> {
return match &self.cfg.url { return match &self.cfg.url {
Some(url) => match reqwest::blocking::get(url) { Some(url) => {
match reqwest::blocking::get(url) {
Ok(resp) => match resp.text() { Ok(resp) => match resp.text() {
Ok(text) => Some(text), Ok(text) => Some(text),
_ => None, _ => None,
}, },
_ => None, Err(err) => {
eprintln!("feedback.read: cannot fetch: {}", err);
None
},
}
}, },
_ => None, _ => None,
}; };