bitbake: hob/packageselectionpage: Correctly restore previously selected packages

"Back" button from "Packageselection" page now restores correctly previously
selected packages list. Till now "Back" button was implemented just to switch
pages, not to cancel changes you have made to packages list.

[YOCTO #2984]

(Bitbake rev: 1ad03d6a327eb3389f7b4d0d74d2e8ae8b50c3b6)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Cristiana Voicu
2012-08-31 10:00:47 +03:00
committed by Richard Purdie
parent c8db2f66de
commit b2e2badd51
2 changed files with 11 additions and 0 deletions

View File

@@ -123,6 +123,7 @@ class Configuration:
self.selected_image = None
self.selected_recipes = []
self.selected_packages = []
self.initial_selected_packages = []
def split_proxy(self, protocol, proxy):
entry = []
@@ -519,6 +520,12 @@ class Builder(gtk.Window):
self.handler.reset_build()
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_selected_packages)
for package in self.configuration.selected_packages:
if package not in self.configuration.initial_selected_packages:
self.package_model.exclude_item(self.package_model.find_path_for_item(package))
def fast_generate_image_async(self, log = False):
self.switch_page(self.FAST_IMAGE_GENERATING)
if log:
@@ -658,6 +665,7 @@ class Builder(gtk.Window):
self.build_details_page.show_page(next_step)
elif next_step == self.PACKAGE_GENERATED:
self.configuration.initial_selected_packages = self.configuration.selected_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)
else:

View File

@@ -192,6 +192,9 @@ class PackageSelectionPage (HobPage):
self.builder.build_image()
def back_button_clicked_cb(self, button):
self.builder.restore_initial_selected_packages()
self.refresh_selection()
if self.builder.current_step == self.builder.PACKAGE_GENERATED:
self.builder.show_recipes()
elif self.builder.previous_step == self.builder.IMAGE_GENERATED: