From 27eff1e43f7deb04b7501b500248e3e62555534d Mon Sep 17 00:00:00 2001 From: Azat Khuzhin Date: Sun, 17 Sep 2023 11:52:20 +0200 Subject: [PATCH] Remove unnecessary cloning of view names --- src/view/processes_view.rs | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/src/view/processes_view.rs b/src/view/processes_view.rs index 36b0b37..14b9fc4 100644 --- a/src/view/processes_view.rs +++ b/src/view/processes_view.rs @@ -109,7 +109,6 @@ pub struct ProcessesView { // Is this running processes, or queries from system.query_log? is_system_processes: bool, filter: Arc>, - view_name: String, #[allow(unused)] bg_runner: BackgroundRunner, @@ -307,7 +306,6 @@ impl ProcessesView { options: view_options, is_system_processes, filter, - view_name: view_name.into(), bg_runner, }; @@ -356,23 +354,17 @@ impl ProcessesView { return Ok(Some(EventResult::consumed())); }); - context.add_view_action(&mut event_view, "Filter (users/hostnames)", '/', |v| { - let v = v.downcast_mut::().unwrap(); - let view_name = v.view_name.clone(); + context.add_view_action(&mut event_view, "Filter", '/', move |_v| { return Ok(Some(EventResult::Consumed(Some(Callback::from_fn( move |siv: &mut Cursive| { - let view_name = view_name.clone(); let filter_cb = move |siv: &mut Cursive, text: &str| { - siv.call_on_name( - view_name.clone().as_str(), - |v: &mut OnEventView| { - let v = v.get_inner_mut(); - log::info!("Set filter to '{}'", text); - *v.filter.lock().unwrap() = text.to_string(); - // Trigger update - v.bg_runner.schedule(); - }, - ); + siv.call_on_name(view_name, |v: &mut OnEventView| { + let v = v.get_inner_mut(); + log::info!("Set filter to '{}'", text); + *v.filter.lock().unwrap() = text.to_string(); + // Trigger update + v.bg_runner.schedule(); + }); siv.pop_layer(); }; let view = OnEventView::new(EditView::new().on_submit(filter_cb).min_width(10));