hide input on page reload

This commit is contained in:
yggverse 2024-10-16 19:46:06 +03:00
parent d06538726b
commit cf86cc2a14
3 changed files with 23 additions and 4 deletions

View File

@ -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 {
// Make input form
input.set_default(action_page_open, uri, Some(&description), Some(1024));
input.show();
// Update meta
meta.borrow_mut().status = Some(status);

View File

@ -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 {
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(),
));
}

View File

@ -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()
}
}