bitbake/crumbs: add optional pbar parameter to RunningBuild.handle_event()
authorJoshua Lock <josh@linux.intel.com>
Thu, 25 Nov 2010 15:54:19 +0000 (15:54 +0000)
committerRichard Purdie <rpurdie@linux.intel.com>
Tue, 7 Dec 2010 12:51:16 +0000 (12:51 +0000)
Defaults to None, but if set will pass the ParseProgress sofar and total to
pbar's update() method.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
bitbake/lib/bb/ui/crumbs/runningbuild.py

index d4ba4b7..9730bfd 100644 (file)
@@ -48,7 +48,7 @@ class RunningBuild (gobject.GObject):
         gobject.GObject.__init__ (self)
         self.model = RunningBuildModel()
 
-    def handle_event (self, event):
+    def handle_event (self, event, pbar=None):
         # Handle an event from the event queue, this may result in updating
         # the model and thus the UI. Or it may be to tell us that the build
         # has finished successfully (or not, as the case may be.)
@@ -162,6 +162,14 @@ class RunningBuild (gobject.GObject):
             else:
                 self.emit ("build-succeeded")
 
+        elif isinstance(event, bb.event.ParseProgress) and pbar:
+            x = event.sofar
+            y = event.total
+            if x == y:
+                pbar.hide()
+                return
+            pbar.update(x, y)
+
 class RunningBuildTreeView (gtk.TreeView):
     def __init__ (self):
         gtk.TreeView.__init__ (self)