From a15d400a0cb3f7ae6daf2e6247afa14ebbfffb75 Mon Sep 17 00:00:00 2001 From: Joshua Lock Date: Thu, 18 Aug 2011 14:43:49 -0700 Subject: [PATCH] bb/ui/crumbs/tasklistmodel: track the PN for each entry in the model Now that we've switched to packages in the model, rather than PN, it makes sense to add an extra field to store the PN of the package. This patch includes a convenience method to retrieve a list of selected PN's. Signed-off-by: Joshua Lock Signed-off-by: Koen Kooi --- bitbake/lib/bb/ui/crumbs/tasklistmodel.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/bitbake/lib/bb/ui/crumbs/tasklistmodel.py b/bitbake/lib/bb/ui/crumbs/tasklistmodel.py index d2f49d16..39215811 100644 --- a/bitbake/lib/bb/ui/crumbs/tasklistmodel.py +++ b/bitbake/lib/bb/ui/crumbs/tasklistmodel.py @@ -89,7 +89,7 @@ class TaskListModel(gtk.ListStore): providing convenience functions to access gtk.TreeModel subclasses which provide filtered views of the data. """ - (COL_NAME, COL_DESC, COL_LIC, COL_GROUP, COL_DEPS, COL_BINB, COL_TYPE, COL_INC, COL_IMG, COL_PATH) = range(10) + (COL_NAME, COL_DESC, COL_LIC, COL_GROUP, COL_DEPS, COL_BINB, COL_TYPE, COL_INC, COL_IMG, COL_PATH, COL_PN) = range(11) __gsignals__ = { "tasklist-populated" : (gobject.SIGNAL_RUN_LAST, @@ -122,6 +122,7 @@ def __init__(self): gobject.TYPE_STRING, gobject.TYPE_BOOLEAN, gobject.TYPE_BOOLEAN, + gobject.TYPE_STRING, gobject.TYPE_STRING) """ @@ -265,7 +266,8 @@ def populate(self, event_model): self.COL_LIC, lic, self.COL_GROUP, group, self.COL_DEPS, " ".join(packages[p]), self.COL_BINB, "", self.COL_TYPE, atype, self.COL_INC, False, - self.COL_IMG, False, self.COL_PATH, filename) + self.COL_IMG, False, self.COL_PATH, filename, + self.COL_PN, item) self.emit("tasklist-populated") @@ -527,6 +529,20 @@ def get_selected_packages(self): it = self.contents.iter_next(it) return userpkgs, allpkgs + """ + Return a squished (uniquified) list of the PN's of all selected items + """ + def get_selected_pn(self): + pns = [] + + it = self.contents.get_iter_first() + while it: + if self.contents.get_value(it, self.COL_BINB): + pns.append(self.contents.get_value(it, self.COL_PN)) + it = self.contents.iter_next(it) + + return self.squish(pns) + def image_contents_removed(self): it = self.get_iter_first() while it: