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/packageselectionpage.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/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() |