summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/ui/crumbs/recipeselectionpage.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/bb/ui/crumbs/recipeselectionpage.py')
-rwxr-xr-xbitbake/lib/bb/ui/crumbs/recipeselectionpage.py45
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()