summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/ui/crumbs/packageselectionpage.py
diff options
context:
space:
mode:
authorCristiana Voicu <cristiana.voicu@intel.com>2013-04-01 13:36:25 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-04-02 17:57:07 +0100
commit0d47a7d8e8b50fbf0ed6ec8f3a8b95a11c067804 (patch)
tree42e0cc581a98083c1baa0cac699846e93d43bdd9 /bitbake/lib/bb/ui/crumbs/packageselectionpage.py
parentb5b1592dd31fb02dbdf81f96ec559d9b9fafea79 (diff)
downloadpoky-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-xbitbake/lib/bb/ui/crumbs/packageselectionpage.py45
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()