parent
832d1243de
commit
f033463db9
|
@ -122,10 +122,10 @@ impl Account {
|
|||
};
|
||||
}
|
||||
|
||||
pub fn status(&mut self, index: usize) -> result::Result<(), usize> {
|
||||
pub fn status(&mut self, index: usize) -> result::Result<bool, usize> {
|
||||
match self.workers[index].as_mut() {
|
||||
None => {
|
||||
return Ok(());
|
||||
return Ok(false);
|
||||
}
|
||||
Some(ref mut w) => match w.poll() {
|
||||
Ok(AsyncStatus::NoUpdate) => {
|
||||
|
@ -144,7 +144,7 @@ impl Account {
|
|||
let m = self.workers[index].take().unwrap().extract();
|
||||
self.load_mailbox(index, m);
|
||||
self.workers[index] = None;
|
||||
Ok(())
|
||||
Ok(true)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
10
src/bin.rs
10
src/bin.rs
|
@ -191,11 +191,15 @@ fn main() {
|
|||
}
|
||||
ThreadEvent::UIEvent(UIEventType::StartupCheck) => {
|
||||
let mut flag = false;
|
||||
let mut render_flag = false;
|
||||
for account in &mut state.context.accounts {
|
||||
let len = account.len();
|
||||
for i in 0..len {
|
||||
match account.status(i) {
|
||||
Ok(()) => { },
|
||||
Ok(true) => {
|
||||
render_flag = true;
|
||||
},
|
||||
Ok(false) => {},
|
||||
Err(_) => {
|
||||
flag |= true;
|
||||
}
|
||||
|
@ -205,7 +209,9 @@ fn main() {
|
|||
if !flag {
|
||||
state.finish_startup();
|
||||
}
|
||||
state.render();
|
||||
if render_flag {
|
||||
state.render();
|
||||
}
|
||||
}
|
||||
ThreadEvent::UIEvent(e) => {
|
||||
state.rcv_event(UIEvent { id: 0, event_type: e});
|
||||
|
|
|
@ -86,7 +86,7 @@ impl CompactMailListing {
|
|||
//
|
||||
loop {
|
||||
// TODO: Show progress visually
|
||||
if let Ok(()) = context.accounts[self.cursor_pos.0].status(self.cursor_pos.1) {
|
||||
if let Ok(_) = context.accounts[self.cursor_pos.0].status(self.cursor_pos.1) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -106,7 +106,7 @@ impl MailListing {
|
|||
//
|
||||
loop {
|
||||
// TODO: Show progress visually
|
||||
if let Ok(()) = context.accounts[self.cursor_pos.0].status(self.cursor_pos.1) {
|
||||
if let Ok(_) = context.accounts[self.cursor_pos.0].status(self.cursor_pos.1) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -136,7 +136,7 @@ impl AccountMenu {
|
|||
) -> () {
|
||||
let len = s.len();
|
||||
match context.accounts[index].status(root) {
|
||||
Ok(()) => {}
|
||||
Ok(_) => {}
|
||||
Err(_) => {
|
||||
return;
|
||||
// TODO: Show progress visually
|
||||
|
|
|
@ -474,7 +474,7 @@ impl Component for StatusBar {
|
|||
match &event.event_type {
|
||||
UIEventType::RefreshMailbox((ref idx_a, ref idx_f)) => {
|
||||
match context.accounts[*idx_a].status(*idx_f) {
|
||||
Ok(()) => {}
|
||||
Ok(_) => {}
|
||||
Err(_) => {
|
||||
return;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue