Browse Source

hide input on page reload

master
yggverse 1 month ago
parent
commit
cf86cc2a14
  1. 4
      src/app/browser/window/tab/item/page.rs
  2. 10
      src/app/browser/window/tab/item/page/input.rs
  3. 13
      src/app/browser/window/tab/item/page/input/widget.rs

4
src/app/browser/window/tab/item/page.rs

@ -158,6 +158,9 @@ impl Page { @@ -158,6 +158,9 @@ impl Page {
}
pub fn navigation_reload(&self) {
// Reset components
self.input.hide();
// Init globals
let request_text = self.navigation.request_text();
@ -282,6 +285,7 @@ impl Page { @@ -282,6 +285,7 @@ impl Page {
// Make input form
input.set_default(action_page_open, uri, Some(&description), Some(1024));
input.show();
// Update meta
meta.borrow_mut().status = Some(status);

10
src/app/browser/window/tab/item/page/input.rs

@ -23,6 +23,14 @@ impl Input { @@ -23,6 +23,14 @@ impl Input {
}
// Actions
pub fn show(&self) {
self.widget.show()
}
pub fn hide(&self) {
self.widget.hide()
}
pub fn set_default(
&self,
action_page_open: Arc<SimpleAction>,
@ -30,7 +38,7 @@ impl Input { @@ -30,7 +38,7 @@ impl Input {
title: Option<&str>,
size_limit: Option<usize>,
) {
self.widget.update(Some(
self.widget.set_child(Some(
&Default::new_arc(action_page_open, base, title, size_limit).gobject(),
));
}

13
src/app/browser/window/tab/item/page/input/widget.rs

@ -19,12 +19,19 @@ impl Widget { @@ -19,12 +19,19 @@ impl Widget {
}
// Actions
pub fn update(&self, child: Option<&Box>) {
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>) {
if child.is_some() {
self.gobject.set_child(child);
self.gobject.set_visible(true);
} else {
self.gobject.set_visible(false)
self.hide()
}
}

Loading…
Cancel
Save