summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCristiana Voicu <cristiana.voicu@intel.com>2012-08-31 10:00:47 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-09-07 12:10:41 +0100
commitb2e2badd51a5e5aa8d6ebc6547969bce686a3fdb (patch)
treeb479d3d8a7c549c3b3699b356290b743ed2ac8fa
parentc8db2f66de19d9a814cf642d3f07b1dd542aab4f (diff)
downloadpoky-b2e2badd51a5e5aa8d6ebc6547969bce686a3fdb.tar.gz
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>
-rwxr-xr-xbitbake/lib/bb/ui/crumbs/builder.py8
-rwxr-xr-xbitbake/lib/bb/ui/crumbs/packageselectionpage.py3
2 files changed, 11 insertions, 0 deletions
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:
123 self.selected_image = None 123 self.selected_image = None
124 self.selected_recipes = [] 124 self.selected_recipes = []
125 self.selected_packages = [] 125 self.selected_packages = []
126 self.initial_selected_packages = []
126 127
127 def split_proxy(self, protocol, proxy): 128 def split_proxy(self, protocol, proxy):
128 entry = [] 129 entry = []
@@ -519,6 +520,12 @@ class Builder(gtk.Window):
519 self.handler.reset_build() 520 self.handler.reset_build()
520 self.handler.generate_packages(all_recipes, self.configuration.default_task) 521 self.handler.generate_packages(all_recipes, self.configuration.default_task)
521 522
523 def restore_initial_selected_packages(self):
524 self.package_model.set_selected_packages(self.configuration.initial_selected_packages)
525 for package in self.configuration.selected_packages:
526 if package not in self.configuration.initial_selected_packages:
527 self.package_model.exclude_item(self.package_model.find_path_for_item(package))
528
522 def fast_generate_image_async(self, log = False): 529 def fast_generate_image_async(self, log = False):
523 self.switch_page(self.FAST_IMAGE_GENERATING) 530 self.switch_page(self.FAST_IMAGE_GENERATING)
524 if log: 531 if log:
@@ -658,6 +665,7 @@ class Builder(gtk.Window):
658 self.build_details_page.show_page(next_step) 665 self.build_details_page.show_page(next_step)
659 666
660 elif next_step == self.PACKAGE_GENERATED: 667 elif next_step == self.PACKAGE_GENERATED:
668 self.configuration.initial_selected_packages = self.configuration.selected_packages
661 if self.recipe_model.get_selected_image() == self.recipe_model.__custom_image__: 669 if self.recipe_model.get_selected_image() == self.recipe_model.__custom_image__:
662 self.package_details_page.set_packages_curr_tab(self.package_details_page.ALL) 670 self.package_details_page.set_packages_curr_tab(self.package_details_page.ALL)
663 else: 671 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):
192 self.builder.build_image() 192 self.builder.build_image()
193 193
194 def back_button_clicked_cb(self, button): 194 def back_button_clicked_cb(self, button):
195 self.builder.restore_initial_selected_packages()
196 self.refresh_selection()
197
195 if self.builder.current_step == self.builder.PACKAGE_GENERATED: 198 if self.builder.current_step == self.builder.PACKAGE_GENERATED:
196 self.builder.show_recipes() 199 self.builder.show_recipes()
197 elif self.builder.previous_step == self.builder.IMAGE_GENERATED: 200 elif self.builder.previous_step == self.builder.IMAGE_GENERATED: