diff options
Diffstat (limited to 'bitbake/lib/bb/ui/crumbs/packageselectionpage.py')
| -rwxr-xr-x | bitbake/lib/bb/ui/crumbs/packageselectionpage.py | 45 |
1 files changed, 27 insertions, 18 deletions
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): | |||
| 181 | 181 | ||
| 182 | def search_entry_changed(self, entry): | 182 | def search_entry_changed(self, entry): |
| 183 | text = entry.get_text() | 183 | text = entry.get_text() |
| 184 | if text not in self.ins.search_names: | 184 | if self.ins.search_focus: |
| 185 | current_tab = self.ins.get_current_page() | 185 | self.ins.search_focus = False |
| 186 | filter = self.pages[current_tab]['filter'] | 186 | elif self.ins.page_changed: |
| 187 | filter[PackageListModel.COL_NAME] = text | 187 | self.ins.page_change = False |
| 188 | self.tables[current_tab].set_model(self.package_model.tree_model(filter, search_data=text)) | 188 | self.filter_search(entry) |
| 189 | if self.package_model.filtered_nb == 0: | 189 | elif text not in self.ins.search_names: |
| 190 | if not self.ins.get_nth_page(current_tab).top_bar: | 190 | self.filter_search(entry) |
| 191 | self.ins.get_nth_page(current_tab).add_no_result_bar(entry) | 191 | |
| 192 | self.ins.get_nth_page(current_tab).top_bar.show() | 192 | def filter_search(self, entry): |
| 193 | self.ins.get_nth_page(current_tab).scroll.hide() | 193 | text = entry.get_text() |
| 194 | else: | 194 | current_tab = self.ins.get_current_page() |
| 195 | if self.ins.get_nth_page(current_tab).top_bar: | 195 | filter = self.pages[current_tab]['filter'] |
| 196 | self.ins.get_nth_page(current_tab).top_bar.hide() | 196 | filter[PackageListModel.COL_NAME] = text |
| 197 | self.ins.get_nth_page(current_tab).scroll.show() | 197 | self.tables[current_tab].set_model(self.package_model.tree_model(filter, search_data=text)) |
| 198 | if entry.get_text() == '': | 198 | if self.package_model.filtered_nb == 0: |
| 199 | entry.set_icon_sensitive(gtk.ENTRY_ICON_SECONDARY, False) | 199 | if not self.ins.get_nth_page(current_tab).top_bar: |
| 200 | else: | 200 | self.ins.get_nth_page(current_tab).add_no_result_bar(entry) |
| 201 | entry.set_icon_sensitive(gtk.ENTRY_ICON_SECONDARY, True) | 201 | self.ins.get_nth_page(current_tab).top_bar.show() |
| 202 | self.ins.get_nth_page(current_tab).scroll.hide() | ||
| 203 | else: | ||
| 204 | if self.ins.get_nth_page(current_tab).top_bar: | ||
| 205 | self.ins.get_nth_page(current_tab).top_bar.hide() | ||
| 206 | self.ins.get_nth_page(current_tab).scroll.show() | ||
| 207 | if entry.get_text() == '': | ||
| 208 | entry.set_icon_sensitive(gtk.ENTRY_ICON_SECONDARY, False) | ||
| 209 | else: | ||
| 210 | entry.set_icon_sensitive(gtk.ENTRY_ICON_SECONDARY, True) | ||
| 202 | 211 | ||
| 203 | def button_click_cb(self, widget, event): | 212 | def button_click_cb(self, widget, event): |
| 204 | path, col = widget.table_tree.get_cursor() | 213 | path, col = widget.table_tree.get_cursor() |
