summaryrefslogtreecommitdiffstats
path: root/src/canvas
diff options
context:
space:
mode:
authorClement Tsang <34804052+ClementTsang@users.noreply.github.com>2020-05-18 23:34:50 -0400
committerGitHub <noreply@github.com>2020-05-18 23:34:50 -0400
commite6379982f17acedf964eaccd1c099da311e58bb3 (patch)
tree8c84ed99ec7832c9f9b7780c06fa00460183cd28 /src/canvas
parent12e4777d97b98987991ce4670df477108356b42f (diff)
refactor: reduce unchecked type conversions to usize
Diffstat (limited to 'src/canvas')
-rw-r--r--src/canvas/canvas_colours.rs4
-rw-r--r--src/canvas/canvas_colours/colour_utils.rs2
-rw-r--r--src/canvas/drawing_utils.rs6
-rw-r--r--src/canvas/widgets/basic_table_arrows.rs5
-rw-r--r--src/canvas/widgets/battery_display.rs3
-rw-r--r--src/canvas/widgets/cpu_basic.rs7
-rw-r--r--src/canvas/widgets/cpu_graph.rs11
-rw-r--r--src/canvas/widgets/disk_table.rs6
-rw-r--r--src/canvas/widgets/mem_basic.rs2
-rw-r--r--src/canvas/widgets/process_table.rs13
-rw-r--r--src/canvas/widgets/temp_table.rs6
11 files changed, 31 insertions, 34 deletions
diff --git a/src/canvas/canvas_colours.rs b/src/canvas/canvas_colours.rs
index 714a1145..d7724568 100644
--- a/src/canvas/canvas_colours.rs
+++ b/src/canvas/canvas_colours.rs
@@ -130,7 +130,7 @@ impl CanvasColours {
}
pub fn set_cpu_colours(&mut self, colours: &[String]) -> error::Result<()> {
- let max_amount = std::cmp::min(colours.len(), NUM_COLOURS as usize);
+ let max_amount = std::cmp::min(colours.len(), NUM_COLOURS);
for (itx, colour) in colours.iter().enumerate() {
if itx >= max_amount {
break;
@@ -141,7 +141,7 @@ impl CanvasColours {
}
pub fn generate_remaining_cpu_colours(&mut self) {
- let remaining_num_colours = NUM_COLOURS - self.cpu_colour_styles.len() as i32;
+ let remaining_num_colours = NUM_COLOURS.saturating_sub(self.cpu_colour_styles.len());
self.cpu_colour_styles
.extend(gen_n_styles(remaining_num_colours));
}
diff --git a/src/canvas/canvas_colours/colour_utils.rs b/src/canvas/canvas_colours/colour_utils.rs
index 119b6be3..8b2f0594 100644
--- a/src/canvas/canvas_colours/colour_utils.rs
+++ b/src/canvas/canvas_colours/colour_utils.rs
@@ -42,7 +42,7 @@ lazy_static! {
/// Generates random colours. Strategy found from
/// https://martin.ankerl.com/2009/12/09/how-to-create-random-colors-programmatically/
-pub fn gen_n_styles(num_to_gen: i32) -> Vec<Style> {
+pub fn gen_n_styles(num_to_gen: usize) -> Vec<Style> {
fn gen_hsv(h: f32) -> f32 {
let new_val = h + GOLDEN_RATIO;
if new_val > 1.0 {
diff --git a/src/canvas/drawing_utils.rs b/src/canvas/drawing_utils.rs
index 2281e503..410b8916 100644
--- a/src/canvas/drawing_utils.rs
+++ b/src/canvas/drawing_utils.rs
@@ -117,9 +117,9 @@ pub fn get_search_start_position(
}
pub fn get_start_position(
- num_rows: u64, scroll_direction: &app::ScrollDirection, scroll_position_bar: &mut u64,
- currently_selected_position: u64, is_force_redraw: bool,
-) -> u64 {
+ num_rows: usize, scroll_direction: &app::ScrollDirection, scroll_position_bar: &mut usize,
+ currently_selected_position: usize, is_force_redraw: bool,
+) -> usize {
if is_force_redraw {
*scroll_position_bar = 0;
}
diff --git a/src/canvas/widgets/basic_table_arrows.rs b/src/canvas/widgets/basic_table_arrows.rs
index b3a6fcf3..1b309cb1 100644
--- a/src/canvas/widgets/basic_table_arrows.rs
+++ b/src/canvas/widgets/basic_table_arrows.rs
@@ -54,9 +54,8 @@ impl BasicTableArrows for Painter {
let left_name = left_table.get_pretty_name();
let right_name = right_table.get_pretty_name();
- let num_spaces = usize::from(draw_loc.width)
- .saturating_sub(6 + left_name.len() + right_name.len())
- as usize;
+ let num_spaces =
+ usize::from(draw_loc.width).saturating_sub(6 + left_name.len() + right_name.len());
let arrow_text = vec![
Text::Styled(format!("\n◄ {}", left_name).into(), self.colours.text_style),
diff --git a/src/canvas/widgets/battery_display.rs b/src/canvas/widgets/battery_display.rs
index 943ea9a8..0b378247 100644
--- a/src/canvas/widgets/battery_display.rs
+++ b/src/canvas/widgets/battery_display.rs
@@ -69,7 +69,8 @@ impl BatteryDisplayWidget for Painter {
.get(battery_widget_state.currently_selected_battery_index)
{
// Assuming a 50/50 split in width
- let bar_length = (draw_loc.width.saturating_sub(2) / 2).saturating_sub(8) as usize;
+ let bar_length =
+ usize::from((draw_loc.width.saturating_sub(2) / 2).saturating_sub(8));
let charge_percentage = battery_details.charge_percentage;
let num_bars = calculate_basic_use_bars(charge_percentage, bar_length);
let bars = format!(
diff --git a/src/canvas/widgets/cpu_basic.rs b/src/canvas/widgets/cpu_basic.rs
index 858b1732..baa6adbf 100644
--- a/src/canvas/widgets/cpu_basic.rs
+++ b/src/canvas/widgets/cpu_basic.rs
@@ -47,7 +47,7 @@ impl CpuBasicWidget for Painter {
let num_cpus = cpu_data.len();
if draw_loc.height > 0 {
- let remaining_height = draw_loc.height as usize;
+ let remaining_height = usize::from(draw_loc.height);
const REQUIRED_COLUMNS: usize = 4;
let chunk_vec =
@@ -60,8 +60,7 @@ impl CpuBasicWidget for Painter {
// +9 due to 3 + 4 + 2 columns for the name & space + percentage + bar bounds
const MARGIN_SPACE: usize = 2;
let remaining_width = usize::from(draw_loc.width)
- .saturating_sub((9 + MARGIN_SPACE) * REQUIRED_COLUMNS - MARGIN_SPACE)
- as usize;
+ .saturating_sub((9 + MARGIN_SPACE) * REQUIRED_COLUMNS - MARGIN_SPACE);
let bar_length = remaining_width / REQUIRED_COLUMNS;
@@ -112,7 +111,7 @@ impl CpuBasicWidget for Painter {
Text::Styled(
(&cpu_bars[cpu_index]).into(),
self.colours.cpu_colour_styles
- [cpu_index as usize % self.colours.cpu_colour_styles.len()],
+ [cpu_index % self.colours.cpu_colour_styles.len()],
)
})
.collect::<Vec<_>>();
diff --git a/src/canvas/widgets/cpu_graph.rs b/src/canvas/widgets/cpu_graph.rs
index fb1e6e00..2e147c11 100644
--- a/src/canvas/widgets/cpu_graph.rs
+++ b/src/canvas/widgets/cpu_graph.rs
@@ -185,7 +185,6 @@ impl CpuGraphWidget for Painter {
self.colours.cpu_colour_styles[cpu_widget_state
.scroll_state
.current_scroll_position
- as usize
% self.colours.cpu_colour_styles.len()]
})
.data(&cpu.cpu_data[..])
@@ -235,7 +234,7 @@ impl CpuGraphWidget for Painter {
let cpu_data: &mut [ConvertedCpuData] = &mut app_state.canvas_data.cpu_data;
let start_position = get_start_position(
- draw_loc.height.saturating_sub(self.table_height_offset) as u64,
+ usize::from(draw_loc.height.saturating_sub(self.table_height_offset)),
&cpu_widget_state.scroll_state.scroll_direction,
&mut cpu_widget_state.scroll_state.previous_scroll_position,
cpu_widget_state.scroll_state.current_scroll_position,
@@ -243,10 +242,10 @@ impl CpuGraphWidget for Painter {
);
let is_on_widget = widget_id == app_state.current_widget.widget_id;
- let sliced_cpu_data = &cpu_data[start_position as usize..];
+ let sliced_cpu_data = &cpu_data[start_position..];
let mut offset_scroll_index =
- (cpu_widget_state.scroll_state.current_scroll_position - start_position) as usize;
+ cpu_widget_state.scroll_state.current_scroll_position - start_position;
let show_avg_cpu = app_state.app_config_fields.show_average_cpu;
let cpu_rows = sliced_cpu_data.iter().enumerate().filter_map(|(itx, cpu)| {
@@ -269,12 +268,12 @@ impl CpuGraphWidget for Painter {
if itx == AVG_POSITION {
self.colours.avg_colour_style
} else {
- self.colours.cpu_colour_styles[itx + start_position as usize
+ self.colours.cpu_colour_styles[itx + start_position
- AVG_POSITION
- 1 % self.colours.cpu_colour_styles.len()]
}
} else {
- self.colours.cpu_colour_styles[itx + start_position as usize
+ self.colours.cpu_colour_styles[itx + start_position
- ALL_POSITION
- 1 % self.colours.cpu_colour_styles.len()]
},
diff --git a/src/canvas/widgets/disk_table.rs b/src/canvas/widgets/disk_table.rs
index 9749123a..64839869 100644
--- a/src/canvas/widgets/disk_table.rs
+++ b/src/canvas/widgets/disk_table.rs
@@ -40,7 +40,7 @@ impl DiskTableWidget for Painter {
if let Some(disk_widget_state) = app_state.disk_state.widget_states.get_mut(&widget_id) {
let disk_data: &mut [Vec<String>] = &mut app_state.canvas_data.disk_data;
let start_position = get_start_position(
- draw_loc.height.saturating_sub(self.table_height_offset) as u64,
+ usize::from(draw_loc.height.saturating_sub(self.table_height_offset)),
&disk_widget_state.scroll_state.scroll_direction,
&mut disk_widget_state.scroll_state.previous_scroll_position,
disk_widget_state.scroll_state.current_scroll_position,
@@ -49,9 +49,9 @@ impl DiskTableWidget for Painter {
let is_on_widget = app_state.current_widget.widget_id == widget_id;
let disk_table_state = &mut disk_widget_state.scroll_state.table_state;
disk_table_state.select(Some(
- (disk_widget_state.scroll_state.current_scroll_position - start_position) as usize,
+ disk_widget_state.scroll_state.current_scroll_position - start_position,
));
- let sliced_vec = &mut disk_data[start_position as usize..];
+ let sliced_vec = &mut disk_data[start_position..];
let disk_rows = sliced_vec.iter().map(|disk| Row::Data(disk.iter()));
let table_gap = if draw_loc.height < TABLE_GAP_HEIGHT_LIMIT {
0
diff --git a/src/canvas/widgets/mem_basic.rs b/src/canvas/widgets/mem_basic.rs
index 7c1b749a..05c7c39a 100644
--- a/src/canvas/widgets/mem_basic.rs
+++ b/src/canvas/widgets/mem_basic.rs
@@ -39,7 +39,7 @@ impl MemBasicWidget for Painter {
}
// +9 due to 3 + 4 + 2 + 2 columns for the name & space + percentage + bar bounds + margin spacing
- let bar_length = draw_loc.width.saturating_sub(11) as usize;
+ let bar_length = usize::from(draw_loc.width.saturating_sub(11));
let ram_use_percentage = if let Some(mem) = mem_data.last() {
mem.1
} else {
diff --git a/src/canvas/widgets/process_table.rs b/src/canvas/widgets/process_table.rs
index d8f2764c..f0154e28 100644
--- a/src/canvas/widgets/process_table.rs
+++ b/src/canvas/widgets/process_table.rs
@@ -84,7 +84,7 @@ impl ProcessTableWidget for Painter {
let is_on_widget = widget_id == app_state.current_widget.widget_id;
let position = get_start_position(
- draw_loc.height.saturating_sub(self.table_height_offset) as u64,
+ usize::from(draw_loc.height.saturating_sub(self.table_height_offset)),
&proc_widget_state.scroll_state.scroll_direction,
&mut proc_widget_state.scroll_state.previous_scroll_position,
proc_widget_state.scroll_state.current_scroll_position,
@@ -92,17 +92,16 @@ impl ProcessTableWidget for Painter {
);
// Sanity check
- let start_position = if position >= process_data.len() as u64 {
- process_data.len().saturating_sub(1) as u64
+ let start_position = if position >= process_data.len() {
+ process_data.len().saturating_sub(1)
} else {
position
};
- let sliced_vec = &process_data[start_position as usize..];
+ let sliced_vec = &process_data[start_position..];
let proc_table_state = &mut proc_widget_state.scroll_state.table_state;
proc_table_state.select(Some(
- (proc_widget_state.scroll_state.current_scroll_position - start_position)
- as usize,
+ proc_widget_state.scroll_state.current_scroll_position - start_position,
));
let table_gap = if draw_loc.height < TABLE_GAP_HEIGHT_LIMIT {
0
@@ -321,7 +320,7 @@ impl ProcessTableWidget for Painter {
app_state.proc_state.widget_states.get_mut(&(widget_id - 1))
{
let is_on_widget = widget_id == app_state.current_widget.widget_id;
- let num_columns = draw_loc.width as usize;
+ let num_columns = usize::from(draw_loc.width);
let search_title = "> ";
let num_chars_for_text = search_title.len();
diff --git a/src/canvas/widgets/temp_table.rs b/src/canvas/widgets/temp_table.rs
index a6953f4d..18bc855d 100644
--- a/src/canvas/widgets/temp_table.rs
+++ b/src/canvas/widgets/temp_table.rs
@@ -41,7 +41,7 @@ impl TempTableWidget for Painter {
let temp_sensor_data: &mut [Vec<String>] = &mut app_state.canvas_data.temp_sensor_data;
let start_position = get_start_position(
- draw_loc.height.saturating_sub(self.table_height_offset) as u64,
+ usize::from(draw_loc.height.saturating_sub(self.table_height_offset)),
&temp_widget_state.scroll_state.scroll_direction,
&mut temp_widget_state.scroll_state.previous_scroll_position,
temp_widget_state.scroll_state.current_scroll_position,
@@ -50,9 +50,9 @@ impl TempTableWidget for Painter {
let is_on_widget = widget_id == app_state.current_widget.widget_id;
let temp_table_state = &mut temp_widget_state.scroll_state.table_state;
temp_table_state.select(Some(
- (temp_widget_state.scroll_state.current_scroll_position - start_position) as usize,
+ temp_widget_state.scroll_state.current_scroll_position - start_position,
));
- let sliced_vec = &temp_sensor_data[start_position as usize..];
+ let sliced_vec = &temp_sensor_data[start_position..];
let temperature_rows = sliced_vec.iter().map(|temp_row| Row::Data(temp_row.iter()));
let table_gap = if draw_loc.height < TABLE_GAP_HEIGHT_LIMIT {
0