fix auto select
This commit is contained in:
parent
acfaad5f06
commit
7cc910d3af
1 changed files with 14 additions and 9 deletions
|
@ -1269,20 +1269,25 @@ where
|
||||||
select_visible_child(&*menu_rows, &ui.main_box, &ui.scroll, &ChildPosition::Front);
|
select_visible_child(&*menu_rows, &ui.main_box, &ui.scroll, &ChildPosition::Front);
|
||||||
|
|
||||||
if meta.config.read().unwrap().auto_select_on_search() {
|
if meta.config.read().unwrap().auto_select_on_search() {
|
||||||
let visible_items = menu_rows
|
let visible_items: Vec<_> = menu_rows.iter().filter(|(_, menu)| menu.visible).collect();
|
||||||
.iter()
|
|
||||||
.filter(|(_, menu)| menu.visible)
|
let item = if visible_items.len() == 1 {
|
||||||
.collect::<Vec<_>>();
|
Some(visible_items[0].1.clone())
|
||||||
if visible_items.len() == 1 {
|
} else {
|
||||||
if let Err(e) =
|
None
|
||||||
handle_selected_item(ui, meta, None, Some(visible_items[0].1.clone()), None)
|
};
|
||||||
{
|
|
||||||
|
drop(menu_rows);
|
||||||
|
|
||||||
|
if let Some(item) = item {
|
||||||
|
if let Err(e) = handle_selected_item(ui, meta, None, Some(item), None) {
|
||||||
log::error!("failed to handle selected item {e}");
|
log::error!("failed to handle selected item {e}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
drop(menu_rows);
|
||||||
}
|
}
|
||||||
|
|
||||||
drop(menu_rows);
|
|
||||||
if meta.config.read().unwrap().dynamic_lines() {
|
if meta.config.read().unwrap().dynamic_lines() {
|
||||||
if let Some(geometry) = get_monitor_geometry(ui.window.surface().as_ref()) {
|
if let Some(geometry) = get_monitor_geometry(ui.window.surface().as_ref()) {
|
||||||
let height =
|
let height =
|
||||||
|
|
Loading…
Add table
Reference in a new issue