diff --git a/bitbake/lib/bb/ui/crumbs/builddetailspage.py b/bitbake/lib/bb/ui/crumbs/builddetailspage.py index abbee4c5b2..1440039c3e 100755 --- a/bitbake/lib/bb/ui/crumbs/builddetailspage.py +++ b/bitbake/lib/bb/ui/crumbs/builddetailspage.py @@ -213,7 +213,7 @@ class BuildDetailsPage (HobPage): self.show_all() self.back_button.hide() - def update_progress_bar(self, title, fraction, status=True): + def update_progress_bar(self, title, fraction, status=None): self.progress_bar.update(fraction) self.progress_bar.set_title(title) self.progress_bar.set_rcstyle(status) diff --git a/bitbake/lib/bb/ui/crumbs/builder.py b/bitbake/lib/bb/ui/crumbs/builder.py index 8390a0cf06..0c00d2a6de 100755 --- a/bitbake/lib/bb/ui/crumbs/builder.py +++ b/bitbake/lib/bb/ui/crumbs/builder.py @@ -608,13 +608,20 @@ class Builder(gtk.Window): self.stopping = False def build_failed(self): - if self.current_step == self.FAST_IMAGE_GENERATING: - fraction = 0.9 - elif self.current_step == self.IMAGE_GENERATING: - fraction = 1.0 - elif self.current_step == self.PACKAGE_GENERATING: - fraction = 1.0 - self.build_details_page.update_progress_bar("Build Failed: ", fraction, False) + if self.stopping: + status = "stop" + message = "Build stopped: " + fraction = self.build_details_page.progress_bar.get_fraction() + else: + if self.current_step == self.FAST_IMAGE_GENERATING: + fraction = 0.9 + elif self.current_step == self.IMAGE_GENERATING: + fraction = 1.0 + elif self.current_step == self.PACKAGE_GENERATING: + fraction = 1.0 + status = "fail" + message = "Build failed: " + self.build_details_page.update_progress_bar(message, fraction, status) self.build_details_page.show_back_button() self.build_details_page.hide_stop_button() self.handler.build_failed_async() diff --git a/bitbake/lib/bb/ui/crumbs/hig.py b/bitbake/lib/bb/ui/crumbs/hig.py index 1aa055edff..9927370f91 100644 --- a/bitbake/lib/bb/ui/crumbs/hig.py +++ b/bitbake/lib/bb/ui/crumbs/hig.py @@ -735,7 +735,7 @@ class DeployImageDialog (CrumbsDialog): cmdline += "\"sudo dd if=" + self.image_path + " of=" + combo_item + "; bash\"" subprocess.Popen(args=shlex.split(cmdline)) - def update_progress_bar(self, title, fraction, status=True): + def update_progress_bar(self, title, fraction, status=None): self.progress_bar.update(fraction) self.progress_bar.set_title(title) self.progress_bar.set_rcstyle(status) diff --git a/bitbake/lib/bb/ui/crumbs/imageconfigurationpage.py b/bitbake/lib/bb/ui/crumbs/imageconfigurationpage.py index 84c9c083cb..0f59dd980a 100644 --- a/bitbake/lib/bb/ui/crumbs/imageconfigurationpage.py +++ b/bitbake/lib/bb/ui/crumbs/imageconfigurationpage.py @@ -105,7 +105,7 @@ class ImageConfigurationPage (HobPage): self.set_config_machine_layout(show_progress_bar = False) self.show_all() - def update_progress_bar(self, title, fraction, status=True): + def update_progress_bar(self, title, fraction, status=None): self.progress_bar.update(fraction) self.progress_bar.set_title(title) self.progress_bar.set_rcstyle(status) diff --git a/bitbake/lib/bb/ui/crumbs/progressbar.py b/bitbake/lib/bb/ui/crumbs/progressbar.py index 882d461711..f75818ac76 100644 --- a/bitbake/lib/bb/ui/crumbs/progressbar.py +++ b/bitbake/lib/bb/ui/crumbs/progressbar.py @@ -29,10 +29,12 @@ class HobProgressBar (gtk.ProgressBar): def set_rcstyle(self, status): rcstyle = gtk.RcStyle() rcstyle.fg[2] = gtk.gdk.Color(HobColors.BLACK) - if status: - rcstyle.bg[3] = gtk.gdk.Color(HobColors.RUNNING) - else: + if status == "stop": + rcstyle.bg[3] = gtk.gdk.Color(HobColors.WARNING) + elif status == "fail": rcstyle.bg[3] = gtk.gdk.Color(HobColors.ERROR) + else: + rcstyle.bg[3] = gtk.gdk.Color(HobColors.RUNNING) self.modify_style(rcstyle) def set_title(self, text=None):