Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorManuel 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)
commitf0fe248e3081e4a591a4a659a2c39d8752e4d515 (patch)
treef2d0e72f9db86649ba0145e02bd05ea44c84cf60
parent8f4474f3f5ecd4db1622ad9967a928d16be82b54 (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.py12
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)