diff options
author | Clement Tsang <34804052+ClementTsang@users.noreply.github.com> | 2020-05-18 23:34:50 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-18 23:34:50 -0400 |
commit | e6379982f17acedf964eaccd1c099da311e58bb3 (patch) | |
tree | 8c84ed99ec7832c9f9b7780c06fa00460183cd28 /src/canvas | |
parent | 12e4777d97b98987991ce4670df477108356b42f (diff) |
refactor: reduce unchecked type conversions to usize
Diffstat (limited to 'src/canvas')
-rw-r--r-- | src/canvas/canvas_colours.rs | 4 | ||||
-rw-r--r-- | src/canvas/canvas_colours/colour_utils.rs | 2 | ||||
-rw-r--r-- | src/canvas/drawing_utils.rs | 6 | ||||
-rw-r--r-- | src/canvas/widgets/basic_table_arrows.rs | 5 | ||||
-rw-r--r-- | src/canvas/widgets/battery_display.rs | 3 | ||||
-rw-r--r-- | src/canvas/widgets/cpu_basic.rs | 7 | ||||
-rw-r--r-- | src/canvas/widgets/cpu_graph.rs | 11 | ||||
-rw-r--r-- | src/canvas/widgets/disk_table.rs | 6 | ||||
-rw-r--r-- | src/canvas/widgets/mem_basic.rs | 2 | ||||
-rw-r--r-- | src/canvas/widgets/process_table.rs | 13 | ||||
-rw-r--r-- | src/canvas/widgets/temp_table.rs | 6 |
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 |