diff --git a/src/app.rs b/src/app.rs index 809715d4..e61c9792 100644 --- a/src/app.rs +++ b/src/app.rs @@ -713,12 +713,12 @@ impl App { .get(&self.current_widget.widget_id) { if proc_widget_state.scroll_state.current_scroll_position - < corresponding_filtered_process_list.len() as u64 + < corresponding_filtered_process_list.len() { let current_process: (String, Vec); if self.is_grouped(self.current_widget.widget_id) { if let Some(process) = &corresponding_filtered_process_list - .get(proc_widget_state.scroll_state.current_scroll_position as usize) + .get(proc_widget_state.scroll_state.current_scroll_position) { current_process = (process.name.to_string(), process.group_pids.clone()) } else { @@ -726,7 +726,7 @@ impl App { } } else { let process = corresponding_filtered_process_list - [proc_widget_state.scroll_state.current_scroll_position as usize] + [proc_widget_state.scroll_state.current_scroll_position] .clone(); current_process = (process.name.clone(), vec![process.pid]) }; @@ -1455,7 +1455,7 @@ impl App { { if !self.canvas_data.finalized_process_data_map.is_empty() { proc_widget_state.scroll_state.current_scroll_position = - finalized_process_data.len() as u64 - 1; + finalized_process_data.len() - 1; proc_widget_state.scroll_state.scroll_direction = ScrollDirection::DOWN; } @@ -1470,7 +1470,7 @@ impl App { { if !self.canvas_data.temp_sensor_data.is_empty() { temp_widget_state.scroll_state.current_scroll_position = - self.canvas_data.temp_sensor_data.len() as u64 - 1; + self.canvas_data.temp_sensor_data.len() - 1; temp_widget_state.scroll_state.scroll_direction = ScrollDirection::DOWN; } } @@ -1483,7 +1483,7 @@ impl App { { if !self.canvas_data.disk_data.is_empty() { disk_widget_state.scroll_state.current_scroll_position = - self.canvas_data.disk_data.len() as u64 - 1; + self.canvas_data.disk_data.len() - 1; disk_widget_state.scroll_state.scroll_direction = ScrollDirection::DOWN; } } @@ -1494,7 +1494,7 @@ impl App { .widget_states .get_mut(&(self.current_widget.widget_id - 1)) { - let cap = self.canvas_data.cpu_data.len() as u64; + let cap = self.canvas_data.cpu_data.len(); if cap > 0 { cpu_widget_state.scroll_state.current_scroll_position = cap - 1; cpu_widget_state.scroll_state.scroll_direction = ScrollDirection::DOWN; @@ -1550,7 +1550,7 @@ impl App { && current_posn as i64 + num_to_change_by < cap as i64 { cpu_widget_state.scroll_state.current_scroll_position = - (current_posn as i64 + num_to_change_by) as u64; + (current_posn as i64 + num_to_change_by) as usize; } if num_to_change_by < 0 { @@ -1578,7 +1578,7 @@ impl App { && current_posn as i64 + num_to_change_by < finalized_process_data.len() as i64 { proc_widget_state.scroll_state.current_scroll_position = - (current_posn as i64 + num_to_change_by) as u64; + (current_posn as i64 + num_to_change_by) as usize; } } @@ -1603,7 +1603,7 @@ impl App { < self.canvas_data.temp_sensor_data.len() as i64 { temp_widget_state.scroll_state.current_scroll_position = - (current_posn as i64 + num_to_change_by) as u64; + (current_posn as i64 + num_to_change_by) as usize; } if num_to_change_by < 0 { @@ -1626,7 +1626,7 @@ impl App { && current_posn as i64 + num_to_change_by < self.canvas_data.disk_data.len() as i64 { disk_widget_state.scroll_state.current_scroll_position = - (current_posn as i64 + num_to_change_by) as u64; + (current_posn as i64 + num_to_change_by) as usize; } if num_to_change_by < 0 { diff --git a/src/app/states.rs b/src/app/states.rs index dd4be9b8..b5e97ae4 100644 --- a/src/app/states.rs +++ b/src/app/states.rs @@ -33,8 +33,8 @@ pub enum CursorDirection { /// AppScrollWidgetState deals with fields for a scrollable app's current state. #[derive(Default)] pub struct AppScrollWidgetState { - pub current_scroll_position: u64, - pub previous_scroll_position: u64, + pub current_scroll_position: usize, + pub previous_scroll_position: usize, pub scroll_direction: ScrollDirection, pub table_state: TableState, } 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