From 78fb40958a1b4ea88756f6d966c0ddfd3a543e6e Mon Sep 17 00:00:00 2001 From: Joshua Lock Date: Thu, 22 Mar 2012 16:05:42 -0700 Subject: [PATCH] lib/bb/ui/crumbs/hobwidget: add HobButton widget for the primary action The design uses a big, bold labelled, orange button for the primary action on each dialogue. The HobButton implements this design as a reusable widget. HobButton makes use of Pango Markup to use a relative size, x-large, for the button text to ensure it's relative to the system configured font sizes. (Bitbake rev: 9aa477f7bd16d3e360bf9b51c1f9d5032a6c5288) Signed-off-by: Joshua Lock Signed-off-by: Richard Purdie --- bitbake/lib/bb/ui/crumbs/hobwidget.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/bitbake/lib/bb/ui/crumbs/hobwidget.py b/bitbake/lib/bb/ui/crumbs/hobwidget.py index b93e9d4bc1..9d144c906b 100644 --- a/bitbake/lib/bb/ui/crumbs/hobwidget.py +++ b/bitbake/lib/bb/ui/crumbs/hobwidget.py @@ -196,6 +196,26 @@ def soften_color(widget, state=gtk.STATE_NORMAL): color.blue = color.blue * blend + style.base[state].blue * (1.0 - blend) return color.to_string() +class HobButton(gtk.Button): + """ + A gtk.Button subclass which follows the visual design of Hob for primary + action buttons + + label: the text to display as the button's label + """ + def __init__(self, label): + gtk.Button.__init__(self, "%s" % gobject.markup_escape_text(label)) + self.child.set_use_markup(True) + + style = self.get_style() + button_color = gtk.gdk.Color(HobColors.ORANGE) + self.modify_bg(gtk.STATE_NORMAL, button_color) + self.modify_bg(gtk.STATE_PRELIGHT, button_color) + self.modify_bg(gtk.STATE_SELECTED, button_color) + + self.set_flags(gtk.CAN_DEFAULT) + self.grab_default() + class HobAltButton(gtk.Button): """ A gtk.Button subclass which has no relief, and so is more discrete