diff --git a/src/app/browser/window/tab/item/page.rs b/src/app/browser/window/tab/item/page.rs index c06703a5..7d51a3f5 100644 --- a/src/app/browser/window/tab/item/page.rs +++ b/src/app/browser/window/tab/item/page.rs @@ -158,8 +158,8 @@ impl Page { } pub fn navigation_reload(&self) { - // Reset components - self.input.hide(); + // Reset widgets + self.input.unset(); // Init globals let request_text = self.navigation.request_text(); @@ -284,8 +284,7 @@ impl Page { let description = gformat!("{placeholder}"); // Make input form - input.use_response(action_page_open, uri, Some(&description), Some(1024)); - input.show(); + input.set_new_response(action_page_open, uri, Some(&description), Some(1024)); // Update meta meta.borrow_mut().status = Some(status); diff --git a/src/app/browser/window/tab/item/page/input.rs b/src/app/browser/window/tab/item/page/input.rs index 64eecc1e..67e5ad67 100644 --- a/src/app/browser/window/tab/item/page/input.rs +++ b/src/app/browser/window/tab/item/page/input.rs @@ -23,23 +23,19 @@ impl Input { } // Actions - pub fn show(&self) { - self.widget.show() + pub fn unset(&self) { + self.widget.update(None); } - pub fn hide(&self) { - self.widget.hide() - } - - // Variant switcher - pub fn use_response( + // Setters + pub fn set_new_response( &self, action_page_open: Arc, base: Uri, title: Option<&str>, size_limit: Option, ) { - self.widget.set_child(Some( + self.widget.update(Some( &Response::new_arc(action_page_open, base, title, size_limit).gobject(), )); } diff --git a/src/app/browser/window/tab/item/page/input/widget.rs b/src/app/browser/window/tab/item/page/input/widget.rs index 709bb936..60686430 100644 --- a/src/app/browser/window/tab/item/page/input/widget.rs +++ b/src/app/browser/window/tab/item/page/input/widget.rs @@ -19,19 +19,12 @@ impl Widget { } // Actions - pub fn show(&self) { - self.gobject.set_visible(true) - } - - pub fn hide(&self) { - self.gobject.set_visible(false) - } - - pub fn set_child(&self, child: Option<&Box>) { + pub fn update(&self, child: Option<&Box>) { if child.is_some() { + self.gobject.set_visible(true); // widget may be hidden, make it visible to child redraw self.gobject.set_child(child); } else { - self.hide() + self.gobject.set_visible(false) } }