From 004a7bd664e8351c0551b4809108cb77ce19511e Mon Sep 17 00:00:00 2001 From: Maximiliano Sandoval Date: Tue, 31 Dec 2024 13:29:08 +0100 Subject: [PATCH] window: Put a Clamp in beetween search bar & entry --- data/resources/ui/window.ui | 23 +++++++++++++++-------- src/widgets/window.rs | 12 ++++++++---- 2 files changed, 23 insertions(+), 12 deletions(-) diff --git a/data/resources/ui/window.ui b/data/resources/ui/window.ui index 9c96688..19d6231 100644 --- a/data/resources/ui/window.ui +++ b/data/resources/ui/window.ui @@ -200,14 +200,21 @@ - - Search… - - - - - Search - + + 300 + 400 + + + True + Search… + + + + + Search + + + diff --git a/src/widgets/window.rs b/src/widgets/window.rs index 9000caa..16ec5dc 100644 --- a/src/widgets/window.rs +++ b/src/widgets/window.rs @@ -45,6 +45,8 @@ mod imp { #[template_child] pub account_details: TemplateChild, #[template_child] + pub search_bar: TemplateChild, + #[template_child] pub search_entry: TemplateChild, #[template_child] pub navigation_view: TemplateChild, @@ -160,6 +162,8 @@ mod imp { win.add_css_class("devel"); } win.set_view(View::Accounts); + + self.search_bar.connect_entry(&*self.search_entry); } } impl WidgetImpl for Window {} @@ -234,7 +238,7 @@ impl Window { View::Login => { self.set_default_widget(Some(&*imp.unlock_button)); imp.main_stack.set_visible_child_name("login"); - imp.search_entry.set_key_capture_widget(gtk::Widget::NONE); + imp.search_bar.set_key_capture_widget(gtk::Widget::NONE); imp.password_entry.grab_focus(); } View::Accounts => { @@ -249,17 +253,17 @@ impl Window { imp.providers.set_view(ProvidersListView::NoSearchResults); } else { imp.accounts_stack.set_visible_child_name("empty"); - imp.search_entry.set_key_capture_widget(gtk::Widget::NONE); + imp.search_bar.set_key_capture_widget(gtk::Widget::NONE); } } else { imp.providers.set_view(ProvidersListView::List); imp.accounts_stack.set_visible_child_name("accounts"); - imp.search_entry.set_key_capture_widget(Some(self)); + imp.search_bar.set_key_capture_widget(Some(self)); } } View::Account(account) => { self.set_default_widget(gtk::Widget::NONE); - imp.search_entry.set_key_capture_widget(gtk::Widget::NONE); + imp.search_bar.set_key_capture_widget(gtk::Widget::NONE); imp.main_stack.set_visible_child_name("unlocked"); imp.navigation_view.push_by_tag("account"); imp.account_details.set_account(&account);