From 3216f00f86624a935008e7fbca0af55307318c91 Mon Sep 17 00:00:00 2001 From: Cristiana Voicu Date: Wed, 22 May 2013 12:52:35 +0300 Subject: bitbake: hob: Table sorting criteria should not change after deselecting recipes/packages After a recipe/package is deselected, the table is sorted as before the fadeout animation. [YOCTO #4453] (Bitbake rev: d4968eac539f777367ab1243a1049117cb261176) Signed-off-by: Cristiana Voicu Signed-off-by: Richard Purdie --- bitbake/lib/bb/ui/crumbs/hoblistmodel.py | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) (limited to 'bitbake/lib/bb/ui/crumbs/hoblistmodel.py') diff --git a/bitbake/lib/bb/ui/crumbs/hoblistmodel.py b/bitbake/lib/bb/ui/crumbs/hoblistmodel.py index 887be791dc..7f7d82f86b 100644 --- a/bitbake/lib/bb/ui/crumbs/hoblistmodel.py +++ b/bitbake/lib/bb/ui/crumbs/hoblistmodel.py @@ -63,6 +63,7 @@ class PackageListModel(gtk.ListStore): gobject.TYPE_BOOLEAN, gobject.TYPE_STRING, gobject.TYPE_STRING) + self.sort_column_id, self.sort_order = PackageListModel.COL_NAME, gtk.SORT_ASCENDING """ Find the model path for the item_name @@ -109,11 +110,11 @@ class PackageListModel(gtk.ListStore): model.set_visible_func(self.tree_model_filter, filter) sort = gtk.TreeModelSort(model) + sort.connect ('sort-column-changed', self.sort_column_changed_cb) if initial: sort.set_sort_column_id(PackageListModel.COL_NAME, gtk.SORT_ASCENDING) sort.set_default_sort_func(None) - - if excluded_items_ahead: + elif excluded_items_ahead: sort.set_default_sort_func(self.exclude_item_sort_func, search_data) elif included_items_ahead: sort.set_default_sort_func(self.include_item_sort_func, search_data) @@ -121,7 +122,7 @@ class PackageListModel(gtk.ListStore): if search_data and search_data!='Search recipes by name' and search_data!='Search package groups by name': sort.set_default_sort_func(self.sort_func, search_data) else: - sort.set_sort_column_id(PackageListModel.COL_NAME, gtk.SORT_ASCENDING) + sort.set_sort_column_id(self.sort_column_id, self.sort_order) sort.set_default_sort_func(None) sort.set_sort_func(PackageListModel.COL_INC, self.sort_column, PackageListModel.COL_INC) @@ -130,6 +131,9 @@ class PackageListModel(gtk.ListStore): sort.set_sort_func(PackageListModel.COL_RCP, self.sort_column, PackageListModel.COL_RCP) return sort + def sort_column_changed_cb (self, data): + self.sort_column_id, self.sort_order = data.get_sort_column_id () + def sort_column(self, model, row1, row2, col): value1 = model.get_value(row1, col) value2 = model.get_value(row2, col) @@ -501,6 +505,7 @@ class RecipeListModel(gtk.ListStore): gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING) + self.sort_column_id, self.sort_order = RecipeListModel.COL_NAME, gtk.SORT_ASCENDING """ Find the model path for the item_name @@ -586,11 +591,11 @@ class RecipeListModel(gtk.ListStore): model.set_visible_func(self.tree_model_filter, filter) sort = gtk.TreeModelSort(model) + sort.connect ('sort-column-changed', self.sort_column_changed_cb) if initial: sort.set_sort_column_id(RecipeListModel.COL_NAME, gtk.SORT_ASCENDING) sort.set_default_sort_func(None) - - if excluded_items_ahead: + elif excluded_items_ahead: sort.set_default_sort_func(self.exclude_item_sort_func, search_data) elif included_items_ahead: sort.set_default_sort_func(self.include_item_sort_func, search_data) @@ -598,7 +603,7 @@ class RecipeListModel(gtk.ListStore): if search_data and search_data!='Search recipes by name' and search_data!='Search package groups by name': sort.set_default_sort_func(self.sort_func, search_data) else: - sort.set_sort_column_id(RecipeListModel.COL_NAME, gtk.SORT_ASCENDING) + sort.set_sort_column_id(self.sort_column_id, self.sort_order) sort.set_default_sort_func(None) sort.set_sort_func(RecipeListModel.COL_INC, self.sort_column, RecipeListModel.COL_INC) @@ -607,6 +612,9 @@ class RecipeListModel(gtk.ListStore): sort.set_sort_func(RecipeListModel.COL_LIC, self.sort_column, RecipeListModel.COL_LIC) return sort + def sort_column_changed_cb (self, data): + self.sort_column_id, self.sort_order = data.get_sort_column_id () + def sort_column(self, model, row1, row2, col): value1 = model.get_value(row1, col) value2 = model.get_value(row2, col) -- cgit v1.2.3-54-g00ecf