[bitbake-devel] [PATCH 6/6] Hob: fixed some not compatible places for make runningbuild.py can be reused by another application

Liming An limingx.l.an at intel.com
Tue Mar 27 18:25:50 UTC 2012


The runningbuild.py has been shared by different applications, not only hob, so fixed the some not compatibled codes

Signed-off-by: Liming An <limingx.l.an at intel.com>
---
 bitbake/lib/bb/ui/crumbs/builddetailspage.py |    2 +-
 bitbake/lib/bb/ui/crumbs/hobwidget.py        |   10 +++++-----
 bitbake/lib/bb/ui/crumbs/runningbuild.py     |   20 ++++++++++++++------
 3 files changed, 20 insertions(+), 12 deletions(-)

diff --git a/bitbake/lib/bb/ui/crumbs/builddetailspage.py b/bitbake/lib/bb/ui/crumbs/builddetailspage.py
index 9d967cb..6b2cef4 100755
--- a/bitbake/lib/bb/ui/crumbs/builddetailspage.py
+++ b/bitbake/lib/bb/ui/crumbs/builddetailspage.py
@@ -150,7 +150,7 @@ class BuildDetailsPage (HobPage):
         self.scrolled_view_failure.add(self.failure_tv)
         self.notebook.append_page(self.scrolled_view_failure, gtk.Label("Issues"))
 
-        self.build_tv = RunningBuildTreeView(readonly=True)
+        self.build_tv = RunningBuildTreeView(readonly=True, hob=True)
         self.build_tv.set_model(self.builder.handler.build.model)
         self.scrolled_view_build = gtk.ScrolledWindow ()
         self.scrolled_view_build.set_policy(gtk.POLICY_NEVER, gtk.POLICY_ALWAYS)
diff --git a/bitbake/lib/bb/ui/crumbs/hobwidget.py b/bitbake/lib/bb/ui/crumbs/hobwidget.py
index 22898fb..89ff23e 100644
--- a/bitbake/lib/bb/ui/crumbs/hobwidget.py
+++ b/bitbake/lib/bb/ui/crumbs/hobwidget.py
@@ -824,6 +824,7 @@ class HobIconChecker(hic):
             ('hic-ok',          'gtk-ok',           'ok')                   : self.ICON_INDI_TICK_FILE,
             ('hic-dialog-error', 'gtk-dialog-error', 'dialog-error')        : self.ICON_INDI_ERROR_FILE,
             ('hic-dialog-warning', 'gtk-dialog-warning', 'dialog-warning')  : self.ICON_INDI_ALERT_FILE,
+            ('hic-task-refresh', 'gtk-execute', 'execute')                  : self.ICON_INDI_REFRESH_FILE,
         }
         valid_stock_id = stock_name
         if stock_name:
@@ -924,9 +925,8 @@ class HobCellRendererPixbuf(gtk.CellRendererPixbuf):
     def __init__(self):
         gtk.CellRendererPixbuf.__init__(self)
         self.control = RefreshRuningController()
-        # create default refrensh stock icon
+        # add icon checker for make the gtk-icon transfer to hob-icon
         self.checker = HobIconChecker()
-        self.checker.set_hob_icon_to_stock_icon(hic.ICON_INDI_REFRESH_FILE, "task-refresh")
 
     def get_pixbuf_from_stock_icon(self, widget, stock_id="", size=gtk.ICON_SIZE_DIALOG):
         if widget and stock_id and gtk.icon_factory_lookup_default(stock_id):
@@ -938,7 +938,7 @@ class HobCellRendererPixbuf(gtk.CellRendererPixbuf):
         if new_name and type(new_name) == str:
             # check the name is need to transfer to hob icon or not
             name = self.checker.check_stock_icon(new_name)
-            if name.startswith("hic") or name.startswith("gtk") or name == "task-refresh":
+            if name.startswith("hic") or name.startswith("gtk"):
                 stock_id = name
             else:
                 stock_id = 'gtk-' + name
@@ -946,7 +946,7 @@ class HobCellRendererPixbuf(gtk.CellRendererPixbuf):
         return stock_id
 
     ''' render cell exactly, "icon-name" is priority
-        if use the 'task-refresh' will make the pix animation
+        if use the 'hic-task-refresh' will make the pix animation
         if 'pix' will change the pixbuf for it from the pixbuf or image.
     '''
     def do_render(self, window, tree, background_area,cell_area, expose_area, flags):
@@ -971,7 +971,7 @@ class HobCellRendererPixbuf(gtk.CellRendererPixbuf):
 
         if stock_id:
             pix = self.get_pixbuf_from_stock_icon(tree, stock_id, self.props.stock_size)
-        if stock_id == 'task-refresh':
+        if stock_id == 'hic-task-refresh':
             self.control.append_running_cell_area(cell_area)
             if self.control.is_active():
                 self.control.on_draw_cb(pix, window.cairo_create(), x, y, w, h, True)
diff --git a/bitbake/lib/bb/ui/crumbs/runningbuild.py b/bitbake/lib/bb/ui/crumbs/runningbuild.py
index b69f0ca..629da8c 100644
--- a/bitbake/lib/bb/ui/crumbs/runningbuild.py
+++ b/bitbake/lib/bb/ui/crumbs/runningbuild.py
@@ -61,7 +61,7 @@ class RunningBuildModel (gtk.TreeStore):
         return model
 
     def foreach_cell_func(self, model, path, iter, usr_data=None):
-        if model.get_value(iter, self.COL_ICON) == "task-refresh":
+        if model.get_value(iter, self.COL_ICON) == "gtk-execute":
             model.set(iter, self.COL_ICON, "")
 
     def close_task_refresh(self):
@@ -188,7 +188,7 @@ 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, "task-refresh",
+            self.model.set(parent, self.model.COL_ICON, "gtk-execute",
                            self.model.COL_COLOR, HobColors.RUNNING)
 
             # Add an entry in the model for this task
@@ -196,7 +196,7 @@ class RunningBuild (gobject.GObject):
                                             package,
                                             task,
                                             "Task: %s" % (task),
-                                            "task-refresh",
+                                            "gtk-execute",
                                             HobColors.RUNNING,
                                             0))
 
@@ -344,18 +344,26 @@ class RunningBuildTreeView (gtk.TreeView):
     __gsignals__ = {
         "button_press_event" : "override"
         }
-    def __init__ (self, readonly=False):
+    def __init__ (self, readonly=False, hob=False):
         gtk.TreeView.__init__ (self)
         self.readonly = readonly
 
         # The icon that indicates whether we're building or failed.
-        renderer = HobCellRendererPixbuf ()
+        # add 'hob' flag because there has not only hob to share this code
+        if hob:
+            renderer = HobCellRendererPixbuf ()
+        else:
+            renderer = gtk.CellRendererPixbuf()
         col = gtk.TreeViewColumn ("Status", renderer)
         col.add_attribute (renderer, "icon-name", 4)
         self.append_column (col)
 
         # The message of the build.
-        self.message_renderer = HobWarpCellRendererText (col_number=1)
+        # add 'hob' flag because there has not only hob to share this code
+        if hob:
+            self.message_renderer = HobWarpCellRendererText (col_number=1)
+        else:
+            self.message_renderer = gtk.CellRendererText ()
         self.message_column = gtk.TreeViewColumn ("Message", self.message_renderer, text=3)
         self.message_column.add_attribute(self.message_renderer, 'background', 5)
         self.message_renderer.set_property('editable', (not self.readonly))
-- 
1.7.5.4





More information about the bitbake-devel mailing list