summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/ui/crumbs/imagedetailspage.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/bb/ui/crumbs/imagedetailspage.py')
-rwxr-xr-xbitbake/lib/bb/ui/crumbs/imagedetailspage.py24
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
33class ImageDetailsPage (HobPage): 33class 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