diff options
author | Manuel Quiñones <manuq@laptop.org> | 2012-11-05 12:33:00 (GMT) |
---|---|---|
committer | Manuel Quiñones <manuq@laptop.org> | 2012-11-06 13:17:53 (GMT) |
commit | f0fe248e3081e4a591a4a659a2c39d8752e4d515 (patch) | |
tree | f2d0e72f9db86649ba0145e02bd05ea44c84cf60 | |
parent | 8f4474f3f5ecd4db1622ad9967a928d16be82b54 (diff) |
Palette Menu Item: set/unset INSENSITIVE state flag - SL #4144
The theme will display the insensitive items grayed out.
Signed-off-by: Manuel Quiñones <manuq@laptop.org>
Acked-by: Simon Schampijer <simon@laptop.org>
-rw-r--r-- | src/sugar3/graphics/palettemenuitem.py | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/sugar3/graphics/palettemenuitem.py b/src/sugar3/graphics/palettemenuitem.py index 6ce8330..7861a0b 100644 --- a/src/sugar3/graphics/palettemenuitem.py +++ b/src/sugar3/graphics/palettemenuitem.py @@ -43,7 +43,6 @@ class PaletteMenuItem(Gtk.EventBox): def __init__(self, text_label=None, icon_name=None, text_maxlen=60, xo_color=None, file_name=None): Gtk.EventBox.__init__(self) - self._sensitive = True self.set_above_child(True) self.icon = None @@ -105,17 +104,20 @@ class PaletteMenuItem(Gtk.EventBox): self._hbox.reorder_child(icon, 0) def set_sensitive(self, sensitive): - if self._sensitive == sensitive: + is_sensitive = bool(not self.get_state_flags() & \ + Gtk.StateFlags.INSENSITIVE) + if is_sensitive == sensitive: return - self._sensitive = sensitive if sensitive: self.handler_unblock(self.id_bt_release_cb) self.handler_unblock(self.id_enter_notify_cb) self.handler_unblock(self.id_leave_notify_cb) + self.unset_state_flags(Gtk.StateFlags.INSENSITIVE) else: self.handler_block(self.id_bt_release_cb) self.handler_block(self.id_enter_notify_cb) self.handler_block(self.id_leave_notify_cb) - self.modify_bg(Gtk.StateType.NORMAL, - style.COLOR_BLACK.get_gdk_color()) + self.set_state_flags(self.get_state_flags() | \ + Gtk.StateFlags.INSENSITIVE, + clear=True) |