[Sugar-devel] [PATCH sugar-toolkit-gtk3] Replacing set_data/get_data with a python attribute

Simon Schampijer simon at schampijer.de
Wed Jun 6 07:00:40 EDT 2012


set_data/get_data not available anymore is not available anymore [1]. The
recommended approach is using a python attribute, which we do.

Changing to use the attribute in the activity class slipped by mistake
into 6330204e919a047c0b0f3579da36197630e8e400.

[1] https://bugzilla.gnome.org/show_bug.cgi?id=641944

Signed-off-by: Simon Schampijer <simon at laptop.org>
---
 src/sugar3/graphics/colorbutton.py   |    4 ++--
 src/sugar3/graphics/menuitem.py      |    4 ++--
 src/sugar3/graphics/palettewindow.py |    4 ++--
 src/sugar3/graphics/toolbutton.py    |    5 ++---
 4 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/src/sugar3/graphics/colorbutton.py b/src/sugar3/graphics/colorbutton.py
index 9f490bb..c21da47 100644
--- a/src/sugar3/graphics/colorbutton.py
+++ b/src/sugar3/graphics/colorbutton.py
@@ -396,11 +396,11 @@ def _add_accelerator(tool_button):
 
     # TODO: should we remove the accelerator from the prev top level?
 
-    accel_group = tool_button.get_toplevel().get_data('sugar-accel-group')
-    if not accel_group:
+    if not hasattr(tool_button.get_toplevel(), 'sugar_accel_group'):
         logging.warning('No Gtk.AccelGroup in the top level window.')
         return
 
+    accel_group = tool_button.get_toplevel().sugar_accel_group
     keyval, mask = Gtk.accelerator_parse(tool_button.props.accelerator)
     # the accelerator needs to be set at the child, so the Gtk.AccelLabel
     # in the palette can pick it up.
diff --git a/src/sugar3/graphics/menuitem.py b/src/sugar3/graphics/menuitem.py
index 0844e9a..717f7e2 100644
--- a/src/sugar3/graphics/menuitem.py
+++ b/src/sugar3/graphics/menuitem.py
@@ -75,11 +75,11 @@ class MenuItem(Gtk.ImageMenuItem):
 
         # TODO: should we remove the accelerator from the prev top level?
 
-        accel_group = self.get_toplevel().get_data('sugar-accel-group')
-        if not accel_group:
+        if not hasattr(self.get_toplevel(), 'sugar_accel_group'):
             logging.warning('No Gtk.AccelGroup in the top level window.')
             return
 
+        accel_group = self.get_toplevel().sugar_accel_group
         keyval, mask = Gtk.accelerator_parse(self._accelerator)
         self.add_accelerator('activate', accel_group, keyval, mask,
                              Gtk.AccelFlags.LOCKED | Gtk.AccelFlags.VISIBLE)
diff --git a/src/sugar3/graphics/palettewindow.py b/src/sugar3/graphics/palettewindow.py
index 449f550..c3431b7 100644
--- a/src/sugar3/graphics/palettewindow.py
+++ b/src/sugar3/graphics/palettewindow.py
@@ -80,7 +80,7 @@ class _PaletteMenuWidget(Gtk.Menu):
         Gtk.Menu.__init__(self)
 
         accel_group = Gtk.AccelGroup()
-        self.set_data('sugar-accel-group', accel_group)
+        self.sugar_accel_group = accel_group
         self.get_toplevel().add_accel_group(accel_group)
 
         self._popup_position = (0, 0)
@@ -248,7 +248,7 @@ class _PaletteWindowWidget(Gtk.Window):
         self.set_position(Gtk.WindowPosition.NONE)
 
         accel_group = Gtk.AccelGroup()
-        self.set_data('sugar-accel-group', accel_group)
+        self.sugar_accel_group = accel_group
         self.add_accel_group(accel_group)
 
         self._old_alloc = None
diff --git a/src/sugar3/graphics/toolbutton.py b/src/sugar3/graphics/toolbutton.py
index 1df7d4c..da02212 100644
--- a/src/sugar3/graphics/toolbutton.py
+++ b/src/sugar3/graphics/toolbutton.py
@@ -35,12 +35,11 @@ def _add_accelerator(tool_button):
         return
 
     # TODO: should we remove the accelerator from the prev top level?
-
-    accel_group = tool_button.get_toplevel().get_data('sugar-accel-group')
-    if not accel_group:
+    if not hasattr(tool_button.get_toplevel(), 'sugar_accel_group'):
         logging.warning('No Gtk.AccelGroup in the top level window.')
         return
 
+    accel_group = tool_button.get_toplevel().sugar_accel_group
     keyval, mask = Gtk.accelerator_parse(tool_button.props.accelerator)
     # the accelerator needs to be set at the child, so the Gtk.AccelLabel
     # in the palette can pick it up.
-- 
1.7.10.2



More information about the Sugar-devel mailing list