summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorConstantin Musca <constantinx.musca@intel.com>2012-10-01 14:03:22 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-10-02 11:23:47 +0100
commit2391e9ba7034d4f90bafa5732d8efa8166f69950 (patch)
tree0825206fc10185c581bc55aa652427dca20a869d
parentd6472608112b8af2e98f247e6f89a7f948b2d020 (diff)
downloadbitbake-2391e9ba7034d4f90bafa5732d8efa8166f69950.tar.gz
hob: Fix 'User selected' tag functionality
- the 'User selected' tag is only used when the user selects a package - fix hob to remember which packages are 'User selected' - if the package is already brought in by some other package, it should not appear as 'User selected' [YOCTO #3108] Signed-off-by: Constantin Musca <constantinx.musca@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rwxr-xr-xlib/bb/ui/crumbs/builder.py11
-rw-r--r--lib/bb/ui/crumbs/hoblistmodel.py8
2 files changed, 13 insertions, 6 deletions
diff --git a/lib/bb/ui/crumbs/builder.py b/lib/bb/ui/crumbs/builder.py
index fd555b0e7..6ddc5b67f 100755
--- a/lib/bb/ui/crumbs/builder.py
+++ b/lib/bb/ui/crumbs/builder.py
@@ -127,6 +127,7 @@ class Configuration:
self.selected_recipes = []
self.selected_packages = []
self.initial_selected_packages = []
+ self.initial_user_selected_packages = []
def split_proxy(self, protocol, proxy):
entry = []
@@ -576,6 +577,7 @@ class Builder(gtk.Window):
self.handler.generate_packages(all_recipes, self.configuration.default_task)
def restore_initial_selected_packages(self):
+ self.package_model.set_selected_packages(self.configuration.initial_user_selected_packages, True)
self.package_model.set_selected_packages(self.configuration.initial_selected_packages)
for package in self.configuration.selected_packages:
if package not in self.configuration.initial_selected_packages:
@@ -709,6 +711,7 @@ class Builder(gtk.Window):
elif next_step == self.PACKAGE_SELECTION:
self.configuration.initial_selected_packages = self.configuration.selected_packages
+ self.configuration.initial_user_selected_packages = self.configuration.user_selected_packages
self.package_details_page.set_title("Edit packages")
if self.recipe_model.get_selected_image() == self.recipe_model.__custom_image__:
self.package_details_page.set_packages_curr_tab(self.package_details_page.ALL)
@@ -782,7 +785,10 @@ class Builder(gtk.Window):
self.recipe_model.set_selected_image(selected_image)
self.recipe_model.set_selected_recipes(selected_recipes)
- def update_package_model(self, selected_packages):
+ def update_package_model(self, selected_packages, user_selected_packages=None):
+ if user_selected_packages:
+ left = self.package_model.set_selected_packages(user_selected_packages, True)
+ self.configuration.user_selected_packages += left
left = self.package_model.set_selected_packages(selected_packages)
self.configuration.selected_packages += left
@@ -924,11 +930,12 @@ class Builder(gtk.Window):
selected_image = self.configuration.selected_image
selected_recipes = self.configuration.selected_recipes[:]
selected_packages = self.configuration.selected_packages[:]
+ user_selected_packages = self.configuration.user_selected_packages[:]
self.image_configuration_page.update_image_combo(self.recipe_model, selected_image)
self.image_configuration_page.update_image_desc()
self.update_recipe_model(selected_image, selected_recipes)
- self.update_package_model(selected_packages)
+ self.update_package_model(selected_packages, user_selected_packages)
def recipelist_changed_cb(self, recipe_model):
self.recipe_details_page.refresh_selection()
diff --git a/lib/bb/ui/crumbs/hoblistmodel.py b/lib/bb/ui/crumbs/hoblistmodel.py
index fe58adfbc..388531975 100644
--- a/lib/bb/ui/crumbs/hoblistmodel.py
+++ b/lib/bb/ui/crumbs/hoblistmodel.py
@@ -337,13 +337,13 @@ class PackageListModel(gtk.TreeStore):
set_selected_packages(), some packages will not be set included.
Return the un-set packages list.
"""
- def set_selected_packages(self, packagelist):
+ def set_selected_packages(self, packagelist, user_selected=False):
left = []
+ binb = 'User Selected' if user_selected else ''
for pn in packagelist:
if pn in self.pkg_path.keys():
path = self.pkg_path[pn]
- self.include_item(item_path=path,
- binb="User Selected")
+ self.include_item(item_path=path, binb=binb)
else:
left.append(pn)
@@ -359,7 +359,7 @@ class PackageListModel(gtk.TreeStore):
while child_it:
if self.get_value(child_it, self.COL_INC):
binb = self.get_value(child_it, self.COL_BINB)
- if not binb or binb == "User Selected":
+ if binb == "User Selected":
name = self.get_value(child_it, self.COL_NAME)
packagelist.append(name)
child_it = self.iter_next(child_it)