diff options
author | Jesse Luehrs <doy@tozt.net> | 2019-08-17 05:09:23 -0400 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2019-08-17 05:09:23 -0400 |
commit | 07312c1434242c9aefad6451ede2075119f80556 (patch) | |
tree | 23e49f3323596f1d68e03622c69f76038c89dc42 | |
parent | 1de9de382be27e3f7ddf679b0b0521fd258345bf (diff) | |
download | ynab-api-07312c1434242c9aefad6451ede2075119f80556.tar.gz ynab-api-07312c1434242c9aefad6451ede2075119f80556.zip |
highlight selected total when it's ready to submit
-rw-r--r-- | src/views/txn_table.rs | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/src/views/txn_table.rs b/src/views/txn_table.rs index 26b4462..042131c 100644 --- a/src/views/txn_table.rs +++ b/src/views/txn_table.rs @@ -233,9 +233,27 @@ fn txn_table( s.call_on_id( "selected_total", |v: &mut cursive::views::TextView| { - v.set_content(format!( - "Selected: {} ({} transaction{}", - crate::ynab::format_amount(amount), + let mut sstr = + cursive::utils::markup::StyledString::plain( + "Selected: ", + ); + let color = if amount == 0 + && outflows.len() + inflows.len() != 0 + { + cursive::theme::Color::Dark( + cursive::theme::BaseColor::Green, + ) + } else { + cursive::theme::Color::TerminalDefault + }; + sstr.append( + cursive::utils::markup::StyledString::styled( + crate::ynab::format_amount(amount), + color, + ), + ); + sstr.append(format!( + " ({} transaction{}", outflows.len() + inflows.len(), if outflows.len() + inflows.len() == 1 { ") " @@ -243,6 +261,7 @@ fn txn_table( "s)" } )); + v.set_content(sstr); }, ); }) |