diff options
Diffstat (limited to 'bitbake/lib/bb/ui/crumbs/imagedetailspage.py')
-rwxr-xr-x | bitbake/lib/bb/ui/crumbs/imagedetailspage.py | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/bitbake/lib/bb/ui/crumbs/imagedetailspage.py b/bitbake/lib/bb/ui/crumbs/imagedetailspage.py index 596fb851ec..40eb7a4540 100755 --- a/bitbake/lib/bb/ui/crumbs/imagedetailspage.py +++ b/bitbake/lib/bb/ui/crumbs/imagedetailspage.py | |||
@@ -33,7 +33,7 @@ from bb.ui.crumbs.hig import CrumbsDialog | |||
33 | class ImageDetailsPage (HobPage): | 33 | class ImageDetailsPage (HobPage): |
34 | 34 | ||
35 | class DetailBox (gtk.EventBox): | 35 | class DetailBox (gtk.EventBox): |
36 | def __init__(self, widget = None, varlist = None, vallist = None, icon = None, button = None, color = HobColors.LIGHT_GRAY): | 36 | def __init__(self, widget = None, varlist = None, vallist = None, icon = None, button = None, button2=None, color = HobColors.LIGHT_GRAY): |
37 | gtk.EventBox.__init__(self) | 37 | gtk.EventBox.__init__(self) |
38 | 38 | ||
39 | # set color | 39 | # set color |
@@ -72,7 +72,11 @@ class ImageDetailsPage (HobPage): | |||
72 | self.table.attach(self.line_widgets[varlist[index]], colid, 20, row, row + 1) | 72 | self.table.attach(self.line_widgets[varlist[index]], colid, 20, row, row + 1) |
73 | # pack the button on the right | 73 | # pack the button on the right |
74 | if button: | 74 | if button: |
75 | self.hbox.pack_end(button, expand=False, fill=False) | 75 | self.bbox = gtk.VBox() |
76 | self.bbox.pack_start(button, expand=True, fill=True) | ||
77 | if button2: | ||
78 | self.bbox.pack_start(button2, expand=True, fill=True) | ||
79 | self.hbox.pack_end(self.bbox, expand=False, fill=False) | ||
76 | 80 | ||
77 | def update_line_widgets(self, variable, value): | 81 | def update_line_widgets(self, variable, value): |
78 | if len(self.line_widgets) == 0: | 82 | if len(self.line_widgets) == 0: |
@@ -164,8 +168,10 @@ class ImageDetailsPage (HobPage): | |||
164 | base_image = self.builder.recipe_model.get_selected_image() | 168 | base_image = self.builder.recipe_model.get_selected_image() |
165 | layers = self.builder.configuration.layers | 169 | layers = self.builder.configuration.layers |
166 | pkg_num = "%s" % len(self.builder.package_model.get_selected_packages()) | 170 | pkg_num = "%s" % len(self.builder.package_model.get_selected_packages()) |
171 | log_file = self.builder.current_logfile | ||
167 | else: | 172 | else: |
168 | pkg_num = "N/A" | 173 | pkg_num = "N/A" |
174 | log_file = None | ||
169 | 175 | ||
170 | # remove | 176 | # remove |
171 | for button_id, button in self.button_ids.items(): | 177 | for button_id, button in self.button_ids.items(): |
@@ -243,11 +249,17 @@ class ImageDetailsPage (HobPage): | |||
243 | view_files_button = HobAltButton("View files") | 249 | view_files_button = HobAltButton("View files") |
244 | view_files_button.connect("clicked", self.view_files_clicked_cb, image_addr) | 250 | view_files_button.connect("clicked", self.view_files_clicked_cb, image_addr) |
245 | view_files_button.set_tooltip_text("Open the directory containing the image files") | 251 | view_files_button.set_tooltip_text("Open the directory containing the image files") |
246 | self.image_detail = self.DetailBox(varlist=varlist, vallist=vallist, button=view_files_button) | 252 | view_log_button = None |
253 | if log_file: | ||
254 | view_log_button = HobAltButton("View log") | ||
255 | view_log_button.connect("clicked", self.view_log_clicked_cb, log_file) | ||
256 | view_log_button.set_tooltip_text("Open the building log files") | ||
257 | self.image_detail = self.DetailBox(varlist=varlist, vallist=vallist, button=view_files_button, button2=view_log_button) | ||
247 | self.box_group_area.pack_start(self.image_detail, expand=False, fill=True) | 258 | self.box_group_area.pack_start(self.image_detail, expand=False, fill=True) |
248 | 259 | ||
249 | # The default kernel box for the qemu images | 260 | # The default kernel box for the qemu images |
250 | self.sel_kernel = "" | 261 | self.sel_kernel = "" |
262 | self.kernel_detail = None | ||
251 | if 'qemu' in image_name: | 263 | if 'qemu' in image_name: |
252 | self.sel_kernel = self.get_kernel_file_name() | 264 | self.sel_kernel = self.get_kernel_file_name() |
253 | 265 | ||
@@ -315,12 +327,16 @@ class ImageDetailsPage (HobPage): | |||
315 | self.box_group_area.pack_start(self.details_bottom_buttons, expand=False, fill=False) | 327 | self.box_group_area.pack_start(self.details_bottom_buttons, expand=False, fill=False) |
316 | 328 | ||
317 | self.show_all() | 329 | self.show_all() |
318 | if not is_runnable: | 330 | if self.kernel_detail and (not is_runnable): |
319 | self.kernel_detail.hide() | 331 | self.kernel_detail.hide() |
320 | 332 | ||
321 | def view_files_clicked_cb(self, button, image_addr): | 333 | def view_files_clicked_cb(self, button, image_addr): |
322 | subprocess.call("xdg-open /%s" % image_addr, shell=True) | 334 | subprocess.call("xdg-open /%s" % image_addr, shell=True) |
323 | 335 | ||
336 | def view_log_clicked_cb(self, button, log_file): | ||
337 | if log_file: | ||
338 | os.system("xdg-open /%s" % log_file) | ||
339 | |||
324 | def refresh_package_detail_box(self, image_size): | 340 | def refresh_package_detail_box(self, image_size): |
325 | self.package_detail.update_line_widgets("Total image size: ", image_size) | 341 | self.package_detail.update_line_widgets("Total image size: ", image_size) |
326 | 342 | ||