diff options
author | Cristiana Voicu <cristiana.voicu@intel.com> | 2013-04-01 13:36:25 +0300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-04-02 17:57:07 +0100 |
commit | 0d47a7d8e8b50fbf0ed6ec8f3a8b95a11c067804 (patch) | |
tree | 42e0cc581a98083c1baa0cac699846e93d43bdd9 /bitbake/lib/bb/ui/crumbs/recipeselectionpage.py | |
parent | b5b1592dd31fb02dbdf81f96ec559d9b9fafea79 (diff) | |
download | poky-0d47a7d8e8b50fbf0ed6ec8f3a8b95a11c067804.tar.gz |
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 <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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() |