From patchwork Fri Aug 31 07:00:47 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [bitbake-devel] hob/packageselectionpage: Correctly restore previously selected packages Date: Fri, 31 Aug 2012 07:00:47 -0000 From: Cristiana Voicu X-Patchwork-Id: 35577 Message-Id: <1346396447-8565-1-git-send-email-cristiana.voicu@intel.com> To: bitbake-devel@lists.openembedded.org "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] Signed-off-by: Cristiana Voicu --- bitbake/lib/bb/ui/crumbs/builder.py | 10 +++++++++- bitbake/lib/bb/ui/crumbs/packageselectionpage.py | 3 +++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/bitbake/lib/bb/ui/crumbs/builder.py b/bitbake/lib/bb/ui/crumbs/builder.py index 7de4798..c6e0f39 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: @@ -1334,4 +1342,4 @@ class Builder(gtk.Window): format = bb.msg.BBLogFormatter("%(levelname)s: %(message)s") self.consolelog.setFormatter(format) - self.logger.addHandler(self.consolelog) \ No newline at end of file + self.logger.addHandler(self.consolelog) diff --git a/bitbake/lib/bb/ui/crumbs/packageselectionpage.py b/bitbake/lib/bb/ui/crumbs/packageselectionpage.py index 3576ed5..89bf047 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: