diff --git a/src/app/browser/window/tab/item/page/navigation/request.rs b/src/app/browser/window/tab/item/page/navigation/request.rs index 15766157..10f70f02 100644 --- a/src/app/browser/window/tab/item/page/navigation/request.rs +++ b/src/app/browser/window/tab/item/page/navigation/request.rs @@ -103,12 +103,12 @@ impl Request for Entry { entry.connect_has_focus_notify(|this| this.update_secondary_icon()); suggestion - .clone() .signal_handler_id .borrow_mut() .replace(entry.connect_changed({ let profile = profile.clone(); let item_action = item_action.clone(); + let suggestion = suggestion.clone(); move |this| { // Update actions item_action.reload.set_enabled(!this.text().is_empty()); @@ -127,8 +127,11 @@ impl Request for Entry { entry.connect_activate({ let item_action = item_action.clone(); - move |this| { - item_action.load.activate(Some(&this.text()), true); + let suggestion = suggestion.clone(); + move |_| { + use gtk::prelude::ActionExt; + item_action.reload.activate(None); + suggestion.hide(); } }); diff --git a/src/app/browser/window/tab/item/page/navigation/request/suggestion.rs b/src/app/browser/window/tab/item/page/navigation/request/suggestion.rs index 23a9cba5..e6fa298d 100644 --- a/src/app/browser/window/tab/item/page/navigation/request/suggestion.rs +++ b/src/app/browser/window/tab/item/page/navigation/request/suggestion.rs @@ -22,8 +22,8 @@ pub struct Suggestion { list_store: ListStore, request: Entry, profile: Rc, + popover: Popover, pub signal_handler_id: Rc>>, - pub popover: Popover, } impl Suggestion { @@ -133,6 +133,8 @@ impl Suggestion { } } + // Actions + pub fn update(&self, limit: Option) { use gtk::prelude::EditableExt; use itertools::Itertools; @@ -155,12 +157,15 @@ impl Suggestion { .child() .unwrap() .downcast_ref::() - .unwrap() - .set_height_request(-1); + .unwrap(); self.popover.popup(); return; } } - self.popover.popdown(); + self.hide(); + } + + pub fn hide(&self) { + self.popover.popdown() } }