From b2e2badd51a5e5aa8d6ebc6547969bce686a3fdb Mon Sep 17 00:00:00 2001 From: Cristiana Voicu Date: Fri, 31 Aug 2012 10:00:47 +0300 Subject: 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 Signed-off-by: Richard Purdie --- bitbake/lib/bb/ui/crumbs/builder.py | 8 ++++++++ bitbake/lib/bb/ui/crumbs/packageselectionpage.py | 3 +++ 2 files changed, 11 insertions(+) (limited to 'bitbake/lib/bb') diff --git a/bitbake/lib/bb/ui/crumbs/builder.py b/bitbake/lib/bb/ui/crumbs/builder.py index 522bd1d94a..8405adeebb 100755 --- a/bitbake/lib/bb/ui/crumbs/builder.py +++ b/bitbake/lib/bb/ui/crumbs/builder.py @@ -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: diff --git a/bitbake/lib/bb/ui/crumbs/packageselectionpage.py b/bitbake/lib/bb/ui/crumbs/packageselectionpage.py index 3576ed5bc1..89bf0476df 100755 --- a/bitbake/lib/bb/ui/crumbs/packageselectionpage.py +++ b/bitbake/lib/bb/ui/crumbs/packageselectionpage.py @@ -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: -- cgit v1.2.3-54-g00ecf