summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorClement Tsang <34804052+ClementTsang@users.noreply.github.com>2023-01-15 12:06:19 -0500
committerGitHub <noreply@github.com>2023-01-15 12:06:19 -0500
commit571ec08291cb1203aee79490c723124770dbdf7b (patch)
tree8a76e9457571e9c775b47ce3cf22a00c8853569a /src
parent316891d476160502017e5bf5fcc8f327c00bb157 (diff)
other: skip battery duration draw if unknown (#974)
* other: skip battery duration draw if unknown * increase others * update changelog
Diffstat (limited to 'src')
-rw-r--r--src/app.rs2
-rw-r--r--src/canvas/widgets/battery_display.rs58
2 files changed, 28 insertions, 32 deletions
diff --git a/src/app.rs b/src/app.rs
index 55089d34..bad8667b 100644
--- a/src/app.rs
+++ b/src/app.rs
@@ -1183,7 +1183,7 @@ impl App {
'k' => self.on_up_key(),
'j' => self.on_down_key(),
'f' => {
- self.frozen_state.toggle(&self.data_collection); // TODO: Unthawing should force a full data refresh and redraw immediately.
+ self.frozen_state.toggle(&self.data_collection); // TODO: Thawing should force a full data refresh and redraw immediately.
}
'c' => {
if let BottomWidgetType::Proc = self.current_widget.widget_type {
diff --git a/src/canvas/widgets/battery_display.rs b/src/canvas/widgets/battery_display.rs
index be557836..4ba4fb6e 100644
--- a/src/canvas/widgets/battery_display.rs
+++ b/src/canvas/widgets/battery_display.rs
@@ -142,56 +142,52 @@ impl Painter {
format!("{}h {}m {}s", time.whole_hours(), num_minutes, num_seconds,)
}
- let s: String; // Brought out due to lifetimes.
- let time_text = {
+ let mut battery_rows = Vec::with_capacity(4);
+ battery_rows.push(Row::new(vec![
+ Cell::from("Charge %").style(self.colours.text_style),
+ Cell::from(bars).style(if charge_percentage < 10.0 {
+ self.colours.low_battery_colour
+ } else if charge_percentage < 50.0 {
+ self.colours.medium_battery_colour
+ } else {
+ self.colours.high_battery_colour
+ }),
+ ]));
+ battery_rows.push(
+ Row::new(vec!["Consumption", &battery_details.watt_consumption])
+ .style(self.colours.text_style),
+ );
+
+ let s: String; // Keep string in scope.
+ {
let style = self.colours.text_style;
match &battery_details.battery_duration {
BatteryDuration::ToEmpty(secs) => {
if half_width > 25 {
s = long_time(*secs);
- Row::new(vec!["Time to empty", &s]).style(style)
+ battery_rows.push(Row::new(vec!["Time to empty", &s]).style(style));
} else {
s = short_time(*secs);
- Row::new(vec!["Empty", &s]).style(style)
+ battery_rows.push(Row::new(vec!["To empty", &s]).style(style));
}
}
BatteryDuration::ToFull(secs) => {
if half_width > 25 {
s = long_time(*secs);
- Row::new(vec!["Time to full", &s]).style(style)
+ battery_rows.push(Row::new(vec!["Time to full", &s]).style(style));
} else {
s = short_time(*secs);
- Row::new(vec!["Full", &s]).style(style)
- }
- }
- BatteryDuration::Unknown => {
- // TODO: Potentially just don't draw this?
- if half_width > 20 {
- Row::new(vec!["Time to full/empty", "N/A"]).style(style)
- } else {
- Row::new(vec!["Empty/full", "N/A"]).style(style)
+ battery_rows.push(Row::new(vec!["To full", &s]).style(style));
}
}
+ BatteryDuration::Unknown => {}
}
- };
-
- let battery_rows = vec![
- Row::new(vec![
- Cell::from("Charge %").style(self.colours.text_style),
- Cell::from(bars).style(if charge_percentage < 10.0 {
- self.colours.low_battery_colour
- } else if charge_percentage < 50.0 {
- self.colours.medium_battery_colour
- } else {
- self.colours.high_battery_colour
- }),
- ]),
- Row::new(vec!["Consumption", &battery_details.watt_consumption])
- .style(self.colours.text_style),
- time_text,
+ }
+
+ battery_rows.push(
Row::new(vec!["Health %", &battery_details.health])
.style(self.colours.text_style),
- ];
+ );
// Draw
f.render_widget(