ui/crumbs/tasklistmodel: don't iterate whole model in find_alt_dependency()

The method needs to find an included item anyway so rather than iterating
the entire model and checking the included status of each entry iterate
over the contents gtk.TreeFilter.

(Bitbake rev: 79bdd501075ff5164a8ee673a6a2a0e402978ae5)

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-07-25 19:44:57 -07:00
committed by Richard Purdie
parent b169dadb5f
commit 30a2ac4882

View File

@@ -369,22 +369,21 @@ class TaskListModel(gtk.ListStore):
"""
Find the name of an item in the image contents which depends on the item
at contents_path returns either an item name (str) or None
NOTE:
contents_path must be a path in the self.contents gtk.TreeModel
name.
Returns either an item name (str) or None
"""
def find_alt_dependency(self, name):
it = self.get_iter_first()
it = self.contents.get_iter_first()
while it:
# iterate all items in the model
path = self.get_path(it)
deps = self[path][self.COL_DEPS]
itname = self[path][self.COL_NAME]
inc = self[path][self.COL_INC]
# iterate all items in the contents model
path = self.contents.get_path(it)
deps = self.contents[path][self.COL_DEPS]
itname = self.contents[path][self.COL_NAME]
inc = self.contents[path][self.COL_INC]
if itname != name and inc and deps.count(name) > 0:
# if this item depends on the item, return this items name
return itname
it = self.iter_next(it)
it = self.contents.iter_next(it)
return ""
"""