rustfmt-nightly 0.1.8
This commit is contained in:
parent
8bad9ae2b0
commit
2eb7fd82d8
82
src/main.rs
82
src/main.rs
|
@ -68,37 +68,35 @@ fn main() {
|
||||||
Some(t) => {
|
Some(t) => {
|
||||||
t.iter()
|
t.iter()
|
||||||
.filter_map(|(name, v)| match v.as_table() {
|
.filter_map(|(name, v)| match v.as_table() {
|
||||||
None => {
|
None => {
|
||||||
println!("Configuration for account {} is broken: not a table",
|
println!("Configuration for account {} is broken: not a table", name);
|
||||||
name);
|
None
|
||||||
None
|
}
|
||||||
}
|
Some(t) => {
|
||||||
Some(t) => {
|
let pwcmd = match t.get("pwcmd").and_then(|p| p.as_str()) {
|
||||||
let pwcmd = match t.get("pwcmd").and_then(|p| p.as_str()) {
|
None => return None,
|
||||||
None => return None,
|
Some(pwcmd) => pwcmd,
|
||||||
Some(pwcmd) => pwcmd,
|
};
|
||||||
};
|
|
||||||
|
|
||||||
let password =
|
let password = match Command::new("sh").arg("-c").arg(pwcmd).output() {
|
||||||
match Command::new("sh").arg("-c").arg(pwcmd).output() {
|
Ok(output) => String::from_utf8_lossy(&output.stdout).into_owned(),
|
||||||
Ok(output) => {
|
Err(e) => {
|
||||||
String::from_utf8_lossy(&output.stdout).into_owned()
|
println!("Failed to launch password command for {}: {}", name, e);
|
||||||
}
|
return None;
|
||||||
Err(e) => {
|
}
|
||||||
println!("Failed to launch password command for {}: {}", name, e);
|
};
|
||||||
return None;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
Some(Account {
|
Some(Account {
|
||||||
name: name,
|
name: name,
|
||||||
server: (t["server"].as_str().unwrap(),
|
server: (
|
||||||
t["port"].as_integer().unwrap() as u16),
|
t["server"].as_str().unwrap(),
|
||||||
username: t["username"].as_str().unwrap(),
|
t["port"].as_integer().unwrap() as u16,
|
||||||
password: password,
|
),
|
||||||
})
|
username: t["username"].as_str().unwrap(),
|
||||||
}
|
password: password,
|
||||||
})
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
.collect()
|
.collect()
|
||||||
}
|
}
|
||||||
None => {
|
None => {
|
||||||
|
@ -120,8 +118,9 @@ fn main() {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
if let Err(e) = app.set_icon_from_file(&"/usr/share/icons/Faenza/stock/24/stock_disconnect.png"
|
if let Err(e) = app.set_icon_from_file(
|
||||||
.to_string()) {
|
&"/usr/share/icons/Faenza/stock/24/stock_disconnect.png".to_string(),
|
||||||
|
) {
|
||||||
println!("Could not set application icon: {}", e);
|
println!("Could not set application icon: {}", e);
|
||||||
}
|
}
|
||||||
if let Err(e) = app.add_menu_item(&"Quit".to_string(), |window| { window.quit(); }) {
|
if let Err(e) = app.add_menu_item(&"Quit".to_string(), |window| { window.quit(); }) {
|
||||||
|
@ -151,10 +150,12 @@ fn main() {
|
||||||
match c {
|
match c {
|
||||||
Ok(c) => return Some(c),
|
Ok(c) => return Some(c),
|
||||||
Err(imap::error::Error::Io(e)) => {
|
Err(imap::error::Error::Io(e)) => {
|
||||||
println!("Failed to connect account {}: {}; retrying in {}s",
|
println!(
|
||||||
account.name,
|
"Failed to connect account {}: {}; retrying in {}s",
|
||||||
e,
|
account.name,
|
||||||
wait);
|
e,
|
||||||
|
wait
|
||||||
|
);
|
||||||
thread::sleep(Duration::from_secs(wait));
|
thread::sleep(Duration::from_secs(wait));
|
||||||
}
|
}
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
|
@ -176,7 +177,8 @@ fn main() {
|
||||||
}
|
}
|
||||||
|
|
||||||
// We have now connected
|
// We have now connected
|
||||||
app.set_icon_from_file(&"/usr/share/icons/Faenza/stock/24/stock_connect.png".to_string())
|
app.set_icon_from_file(&"/usr/share/icons/Faenza/stock/24/stock_connect.png"
|
||||||
|
.to_string())
|
||||||
.ok();
|
.ok();
|
||||||
|
|
||||||
let (tx, rx) = mpsc::channel();
|
let (tx, rx) = mpsc::channel();
|
||||||
|
@ -285,12 +287,12 @@ fn main() {
|
||||||
unseen[i] = num_unseen;
|
unseen[i] = num_unseen;
|
||||||
if unseen.iter().sum::<usize>() == 0 {
|
if unseen.iter().sum::<usize>() == 0 {
|
||||||
app.set_icon_from_file(&"/usr/share/icons/oxygen/base/32x32/status/mail-unread.png"
|
app.set_icon_from_file(&"/usr/share/icons/oxygen/base/32x32/status/mail-unread.png"
|
||||||
.to_string())
|
.to_string())
|
||||||
.unwrap();
|
.unwrap();
|
||||||
} else {
|
} else {
|
||||||
app.set_icon_from_file(&"/usr/share/icons/oxygen/base/32x32/status/mail-unread-new.png"
|
app.set_icon_from_file(
|
||||||
.to_string())
|
&"/usr/share/icons/oxygen/base/32x32/status/mail-unread-new.png".to_string(),
|
||||||
.unwrap();
|
).unwrap();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user