From 0d47a7d8e8b50fbf0ed6ec8f3a8b95a11c067804 Mon Sep 17 00:00:00 2001 From: Cristiana Voicu Date: Mon, 1 Apr 2013 13:36:25 +0300 Subject: bitbake: hob: giving focus to the search field loses the table sorting Giving focus to the search text field should not impact the table sorting. [YOCTO #4113] (Bitbake rev: b5b4b6e4fefa6a164a49b291a0993b1ff63947f4) Signed-off-by: Cristiana Voicu Signed-off-by: Richard Purdie --- bitbake/lib/bb/ui/crumbs/packageselectionpage.py | 45 ++++++++++++++---------- 1 file changed, 27 insertions(+), 18 deletions(-) (limited to 'bitbake/lib/bb/ui/crumbs/packageselectionpage.py') diff --git a/bitbake/lib/bb/ui/crumbs/packageselectionpage.py b/bitbake/lib/bb/ui/crumbs/packageselectionpage.py index 2264116d77..fb9afcb3cf 100755 --- a/bitbake/lib/bb/ui/crumbs/packageselectionpage.py +++ b/bitbake/lib/bb/ui/crumbs/packageselectionpage.py @@ -181,24 +181,33 @@ class PackageSelectionPage (HobPage): def search_entry_changed(self, entry): text = entry.get_text() - if text not in self.ins.search_names: - current_tab = self.ins.get_current_page() - filter = self.pages[current_tab]['filter'] - filter[PackageListModel.COL_NAME] = text - self.tables[current_tab].set_model(self.package_model.tree_model(filter, search_data=text)) - if self.package_model.filtered_nb == 0: - if not self.ins.get_nth_page(current_tab).top_bar: - self.ins.get_nth_page(current_tab).add_no_result_bar(entry) - self.ins.get_nth_page(current_tab).top_bar.show() - self.ins.get_nth_page(current_tab).scroll.hide() - else: - if self.ins.get_nth_page(current_tab).top_bar: - self.ins.get_nth_page(current_tab).top_bar.hide() - self.ins.get_nth_page(current_tab).scroll.show() - if entry.get_text() == '': - entry.set_icon_sensitive(gtk.ENTRY_ICON_SECONDARY, False) - else: - entry.set_icon_sensitive(gtk.ENTRY_ICON_SECONDARY, True) + if self.ins.search_focus: + self.ins.search_focus = False + elif self.ins.page_changed: + self.ins.page_change = False + self.filter_search(entry) + elif text not in self.ins.search_names: + self.filter_search(entry) + + def filter_search(self, entry): + text = entry.get_text() + current_tab = self.ins.get_current_page() + filter = self.pages[current_tab]['filter'] + filter[PackageListModel.COL_NAME] = text + self.tables[current_tab].set_model(self.package_model.tree_model(filter, search_data=text)) + if self.package_model.filtered_nb == 0: + if not self.ins.get_nth_page(current_tab).top_bar: + self.ins.get_nth_page(current_tab).add_no_result_bar(entry) + self.ins.get_nth_page(current_tab).top_bar.show() + self.ins.get_nth_page(current_tab).scroll.hide() + else: + if self.ins.get_nth_page(current_tab).top_bar: + self.ins.get_nth_page(current_tab).top_bar.hide() + self.ins.get_nth_page(current_tab).scroll.show() + if entry.get_text() == '': + entry.set_icon_sensitive(gtk.ENTRY_ICON_SECONDARY, False) + else: + entry.set_icon_sensitive(gtk.ENTRY_ICON_SECONDARY, True) def button_click_cb(self, widget, event): path, col = widget.table_tree.get_cursor() -- cgit v1.2.3-54-g00ecf