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.

(Bitbake rev: cf79424592a81378de5edad11cf6c4f427c94bcc)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Joshua Lock 2011-08-18 14:43:49 -07:00 committed by Richard Purdie
parent 989ce0cf55
commit 4ea4f44645
1 changed files with 18 additions and 2 deletions

View File

@ -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 @@ class TaskListModel(gtk.ListStore):
gobject.TYPE_STRING,
gobject.TYPE_BOOLEAN,
gobject.TYPE_BOOLEAN,
gobject.TYPE_STRING,
gobject.TYPE_STRING)
"""
@ -265,7 +266,8 @@ class TaskListModel(gtk.ListStore):
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 @@ class TaskListModel(gtk.ListStore):
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: