diff options
author | Valentin Popa <valentin.popa@intel.com> | 2013-11-21 13:55:13 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-11-22 15:11:18 +0000 |
commit | 124428ba8a0b1cc85d4b96053bf71bce14a5774c (patch) | |
tree | 4e077bb228151759069664b0d3f3230cf187e7e9 | |
parent | 31bc9af9cd56e7b318924869970e850993fafc5f (diff) | |
download | bitbake-124428ba8a0b1cc85d4b96053bf71bce14a5774c.tar.gz |
HOB: Show warnings in Issues tab
Proper update of warnings view during build.
[YOCTO #3496]
Signed-off-by: Valentin Popa <valentin.popa@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | lib/bb/ui/crumbs/runningbuild.py | 48 |
1 files changed, 33 insertions, 15 deletions
diff --git a/lib/bb/ui/crumbs/runningbuild.py b/lib/bb/ui/crumbs/runningbuild.py index abd330014..0a48a6ba5 100644 --- a/lib/bb/ui/crumbs/runningbuild.py +++ b/lib/bb/ui/crumbs/runningbuild.py @@ -174,6 +174,15 @@ class RunningBuild (gobject.GObject): color, 0)) + # if there are warnings, mark the task with warning + # color; + # in case there are errors, the updates will be + # handled on TaskFailed. + if color == HobColors.WARNING: + self.model.set(parent, self.model.COL_COLOR, color) + if task: #then we have a parent, and update it's color + self.model.set(self.tasks_to_iter[(package, None)], self.model.COL_COLOR, color) + elif isinstance(event, bb.build.TaskStarted): (package, task) = (event._package, event._task) @@ -201,9 +210,10 @@ class RunningBuild (gobject.GObject): # Because this parent package now has an active child mark it as # such. - # @todo if parent is already in error, don't mark it green - self.model.set(parent, self.model.COL_ICON, "gtk-execute", - self.model.COL_COLOR, HobColors.RUNNING) + self.model.set(parent, self.model.COL_ICON, "gtk-execute") + parent_color = self.model.get(parent, self.model.COL_COLOR)[0] + if parent_color != HobColors.ERROR and parent_color != HobColors.WARNING: + self.model.set(parent, self.model.COL_COLOR, HobColors.RUNNING) # Add an entry in the model for this task i = self.model.append (parent, (None, @@ -246,20 +256,28 @@ class RunningBuild (gobject.GObject): self.model.set(i, self.model.COL_ICON, icon, self.model.COL_COLOR, color) else: - icon = None - color = HobColors.OK + # Mark the parent package and the task as inactive, + # but make sure to preserve error, warnings and active + # states + parent_color = self.model.get(parent, self.model.COL_COLOR)[0] + task_color = self.model.get(current, self.model.COL_COLOR)[0] # Mark the task as inactive - self.model.set(current, self.model.COL_ICON, icon, - self.model.COL_COLOR, color) - - # Mark the parent package as inactive, but make sure to - # preserve error and active states - i = self.tasks_to_iter[(package, None)] - if self.model.get(parent, self.model.COL_ICON) != 'dialog-error': - self.model.set(parent, self.model.COL_ICON, icon) - if num_active == 0: - self.model.set(parent, self.model.COL_COLOR, HobColors.OK) + self.model.set(current, self.model.COL_ICON, None) + if task_color != HobColors.ERROR: + if task_color == HobColors.WARNING: + self.model.set(current, self.model.COL_ICON, 'dialog-warning') + else: + self.model.set(current, self.model.COL_COLOR, HobColors.OK) + + # Mark the parent as inactive + if parent_color != HobColors.ERROR: + if parent_color == HobColors.WARNING: + self.model.set(parent, self.model.COL_ICON, "dialog-warning") + else: + self.model.set(parent, self.model.COL_ICON, None) + if num_active == 0: + self.model.set(parent, self.model.COL_COLOR, HobColors.OK) # Clear the iters and the pids since when the task goes away the # pid will no longer be used for messages |