diff options
Diffstat (limited to 'bitbake/lib/bb/ui/crumbs/recipeselectionpage.py')
-rwxr-xr-x | bitbake/lib/bb/ui/crumbs/recipeselectionpage.py | 45 |
1 files changed, 27 insertions, 18 deletions
diff --git a/bitbake/lib/bb/ui/crumbs/recipeselectionpage.py b/bitbake/lib/bb/ui/crumbs/recipeselectionpage.py index 670b4f92b6..d1e5b69401 100755 --- a/bitbake/lib/bb/ui/crumbs/recipeselectionpage.py +++ b/bitbake/lib/bb/ui/crumbs/recipeselectionpage.py | |||
@@ -196,24 +196,33 @@ class RecipeSelectionPage (HobPage): | |||
196 | 196 | ||
197 | def search_entry_changed(self, entry): | 197 | def search_entry_changed(self, entry): |
198 | text = entry.get_text() | 198 | text = entry.get_text() |
199 | if text not in self.ins.search_names: | 199 | if self.ins.search_focus: |
200 | current_tab = self.ins.get_current_page() | 200 | self.ins.search_focus = False |
201 | filter = self.pages[current_tab]['filter'] | 201 | elif self.ins.page_changed: |
202 | filter[RecipeListModel.COL_NAME] = text | 202 | self.ins.page_change = False |
203 | self.tables[current_tab].set_model(self.recipe_model.tree_model(filter, search_data=text)) | 203 | self.filter_search(entry) |
204 | if self.recipe_model.filtered_nb == 0: | 204 | elif text not in self.ins.search_names: |
205 | if not self.ins.get_nth_page(current_tab).top_bar: | 205 | self.filter_search(entry) |
206 | self.ins.get_nth_page(current_tab).add_no_result_bar(entry) | 206 | |
207 | self.ins.get_nth_page(current_tab).top_bar.show() | 207 | def filter_search(self, entry): |
208 | self.ins.get_nth_page(current_tab).scroll.hide() | 208 | text = entry.get_text() |
209 | else: | 209 | current_tab = self.ins.get_current_page() |
210 | if self.ins.get_nth_page(current_tab).top_bar: | 210 | filter = self.pages[current_tab]['filter'] |
211 | self.ins.get_nth_page(current_tab).top_bar.hide() | 211 | filter[RecipeListModel.COL_NAME] = text |
212 | self.ins.get_nth_page(current_tab).scroll.show() | 212 | self.tables[current_tab].set_model(self.recipe_model.tree_model(filter, search_data=text)) |
213 | if entry.get_text() == '': | 213 | if self.recipe_model.filtered_nb == 0: |
214 | entry.set_icon_sensitive(gtk.ENTRY_ICON_SECONDARY, False) | 214 | if not self.ins.get_nth_page(current_tab).top_bar: |
215 | else: | 215 | self.ins.get_nth_page(current_tab).add_no_result_bar(entry) |
216 | entry.set_icon_sensitive(gtk.ENTRY_ICON_SECONDARY, True) | 216 | self.ins.get_nth_page(current_tab).top_bar.show() |
217 | self.ins.get_nth_page(current_tab).scroll.hide() | ||
218 | else: | ||
219 | if self.ins.get_nth_page(current_tab).top_bar: | ||
220 | self.ins.get_nth_page(current_tab).top_bar.hide() | ||
221 | self.ins.get_nth_page(current_tab).scroll.show() | ||
222 | if entry.get_text() == '': | ||
223 | entry.set_icon_sensitive(gtk.ENTRY_ICON_SECONDARY, False) | ||
224 | else: | ||
225 | entry.set_icon_sensitive(gtk.ENTRY_ICON_SECONDARY, True) | ||
217 | 226 | ||
218 | def button_click_cb(self, widget, event): | 227 | def button_click_cb(self, widget, event): |
219 | path, col = widget.table_tree.get_cursor() | 228 | path, col = widget.table_tree.get_cursor() |