diff options
Diffstat (limited to 'bitbake/lib/bb/ui/crumbs/imagedetailspage.py')
-rwxr-xr-x | bitbake/lib/bb/ui/crumbs/imagedetailspage.py | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/bitbake/lib/bb/ui/crumbs/imagedetailspage.py b/bitbake/lib/bb/ui/crumbs/imagedetailspage.py index 4b0e7498cd..a02ab610c0 100755 --- a/bitbake/lib/bb/ui/crumbs/imagedetailspage.py +++ b/bitbake/lib/bb/ui/crumbs/imagedetailspage.py | |||
@@ -27,6 +27,7 @@ from bb.ui.crumbs.hobwidget import hic, HobViewTable, HobAltButton, HobButton | |||
27 | from bb.ui.crumbs.hobpages import HobPage | 27 | from bb.ui.crumbs.hobpages import HobPage |
28 | import subprocess | 28 | import subprocess |
29 | from bb.ui.crumbs.hig.crumbsdialog import CrumbsDialog | 29 | from bb.ui.crumbs.hig.crumbsdialog import CrumbsDialog |
30 | from bb.ui.crumbs.hig.saveimagedialog import SaveImageDialog | ||
30 | 31 | ||
31 | # | 32 | # |
32 | # ImageDetailsPage | 33 | # ImageDetailsPage |
@@ -259,7 +260,7 @@ class ImageDetailsPage (HobPage): | |||
259 | self.build_result = self.BuildDetailBox(varlist=varlist, vallist=vallist, icon=icon, color=color) | 260 | self.build_result = self.BuildDetailBox(varlist=varlist, vallist=vallist, icon=icon, color=color) |
260 | self.box_group_area.pack_start(self.build_result, expand=False, fill=False) | 261 | self.box_group_area.pack_start(self.build_result, expand=False, fill=False) |
261 | 262 | ||
262 | self.buttonlist = ["Build new image", "Run image", "Deploy image"] | 263 | self.buttonlist = ["Build new image", "Save image recipe", "Run image", "Deploy image"] |
263 | 264 | ||
264 | # Name | 265 | # Name |
265 | self.image_store = [] | 266 | self.image_store = [] |
@@ -340,7 +341,7 @@ class ImageDetailsPage (HobPage): | |||
340 | self.setting_detail = None | 341 | self.setting_detail = None |
341 | if self.build_succeeded: | 342 | if self.build_succeeded: |
342 | vallist.append(machine) | 343 | vallist.append(machine) |
343 | if base_image == self.builder.recipe_model.__custom_image__: | 344 | if self.builder.recipe_model.is_custom_image(): |
344 | if self.builder.configuration.initial_selected_image == self.builder.recipe_model.__custom_image__: | 345 | if self.builder.configuration.initial_selected_image == self.builder.recipe_model.__custom_image__: |
345 | base_image ="New image recipe" | 346 | base_image ="New image recipe" |
346 | else: | 347 | else: |
@@ -579,6 +580,13 @@ class ImageDetailsPage (HobPage): | |||
579 | created = True | 580 | created = True |
580 | is_runnable = True | 581 | is_runnable = True |
581 | 582 | ||
583 | name = "Save image recipe" | ||
584 | if name in buttonlist and self.builder.recipe_model.is_custom_image(): | ||
585 | save_button = HobAltButton("Save image recipe") | ||
586 | button_id = save_button.connect("clicked", self.save_button_clicked_cb) | ||
587 | self.button_ids[button_id] = save_button | ||
588 | self.details_bottom_buttons.pack_end(save_button, expand=False, fill=False) | ||
589 | |||
582 | name = "Build new image" | 590 | name = "Build new image" |
583 | if name in buttonlist: | 591 | if name in buttonlist: |
584 | # create button "Build new image" | 592 | # create button "Build new image" |
@@ -613,6 +621,14 @@ class ImageDetailsPage (HobPage): | |||
613 | else: | 621 | else: |
614 | self.builder.runqemu_image(self.toggled_image, self.sel_kernel) | 622 | self.builder.runqemu_image(self.toggled_image, self.sel_kernel) |
615 | 623 | ||
624 | def save_button_clicked_cb(self, button): | ||
625 | topdir = self.builder.get_topdir() | ||
626 | images_dir = topdir + "/recipes/images/" | ||
627 | dialog = SaveImageDialog(images_dir, "Save image recipe", self.builder, | ||
628 | gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT) | ||
629 | response = dialog.run() | ||
630 | dialog.destroy() | ||
631 | |||
616 | def build_new_button_clicked_cb(self, button): | 632 | def build_new_button_clicked_cb(self, button): |
617 | self.builder.initiate_new_build_async() | 633 | self.builder.initiate_new_build_async() |
618 | 634 | ||