feature: Allow Ctrl-F and / to work in sort (#212)

Fixes a bug, and also allows `Ctrl-F` and `/` to work in the sort widget.
This commit is contained in:
Clement Tsang 2020-08-29 19:23:20 -04:00 committed by GitHub
parent 3d2fc76aa2
commit 6632714f26
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 23 additions and 15 deletions

View File

@ -287,20 +287,25 @@ impl App {
pub fn on_slash(&mut self) {
if !self.is_in_dialog() {
// FIXME: Add ProcSort too, it's annoying
if let BottomWidgetType::Proc = self.current_widget.widget_type {
// Toggle on
if let Some(proc_widget_state) = self
.proc_state
.get_mut_widget_state(self.current_widget.widget_id)
{
proc_widget_state
.process_search_state
.search_state
.is_enabled = true;
self.move_widget_selection(&WidgetDirection::Down);
self.is_force_redraw = true;
match &self.current_widget.widget_type {
BottomWidgetType::Proc | BottomWidgetType::ProcSort => {
// Toggle on
if let Some(proc_widget_state) = self.proc_state.get_mut_widget_state(
self.current_widget.widget_id
- match &self.current_widget.widget_type {
BottomWidgetType::ProcSort => 2,
_ => 0,
},
) {
proc_widget_state
.process_search_state
.search_state
.is_enabled = true;
self.move_widget_selection(&WidgetDirection::Down);
self.is_force_redraw = true;
}
}
_ => {}
}
}
}
@ -328,8 +333,10 @@ impl App {
.set_to_sorted_index(&proc_widget_state.process_sorting_type);
self.move_widget_selection(&WidgetDirection::Left);
} else {
// Otherwise, move right
self.move_widget_selection(&WidgetDirection::Right);
// Otherwise, move right if currently on the sort widget
if let BottomWidgetType::ProcSort = self.current_widget.widget_type {
self.move_widget_selection(&WidgetDirection::Right);
}
}
}

View File

@ -198,6 +198,7 @@ impl BatteryDisplayWidget for Painter {
// .map(|battery| Spans::from(battery.battery_name.clone())))
// .collect::<Vec<_>>(),
// )
// FIXME: [MOUSE] Support mouse for the tabs?
Tabs::default()
.titles(
app_state