From eb5ac54ad0c8dbc444f3852a7ccc0e8e5af5cecc Mon Sep 17 00:00:00 2001 From: ClementTsang Date: Mon, 17 Aug 2020 15:52:09 -0400 Subject: [PATCH] bug: fix not switching sort type when toggling % in mem --- src/app.rs | 20 ++++++++++++++++++-- src/app/states.rs | 6 +++++- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/src/app.rs b/src/app.rs index ef18a112..8402fcc5 100644 --- a/src/app.rs +++ b/src/app.rs @@ -359,9 +359,25 @@ impl App { proc_widget_state .columns .toggle(&processes::ProcessSorting::Mem); - proc_widget_state + if let Some(mem_percent_state) = proc_widget_state .columns - .toggle(&processes::ProcessSorting::MemPercent); + .toggle(&processes::ProcessSorting::MemPercent) + { + if proc_widget_state.process_sorting_type + == processes::ProcessSorting::MemPercent + || proc_widget_state.process_sorting_type + == processes::ProcessSorting::Mem + { + if mem_percent_state { + proc_widget_state.process_sorting_type = + processes::ProcessSorting::MemPercent; + } else { + proc_widget_state.process_sorting_type = + processes::ProcessSorting::Mem; + } + } + } + self.proc_state.force_update = Some(self.current_widget.widget_id); } } diff --git a/src/app/states.rs b/src/app/states.rs index 5e160778..051991c6 100644 --- a/src/app/states.rs +++ b/src/app/states.rs @@ -260,9 +260,13 @@ impl Default for ProcColumn { } impl ProcColumn { - pub fn toggle(&mut self, column: &ProcessSorting) { + /// Returns its new status. + pub fn toggle(&mut self, column: &ProcessSorting) -> Option { if let Some(mapping) = self.column_mapping.get_mut(column) { mapping.enabled = !(mapping.enabled); + Some(mapping.enabled) + } else { + None } }