Sugar-toolkit: Pack page in ToolbarButton when is connected to the window - OLPC #10930

To add the accelerator to the ToolButton the activity must have set
the 'sugar-accel-group' before. The patch does make the ToolbarButton
listen to the 'hierarchy-changed' signal and repack itself accordingly.
Since the ToolButtons of the subtoolbar do listen to 'hierarchy-changed'
as well to set the accelerator they will set it accordingly.

This fixes the accelerators for new-style-toolbar activities
like Terminal, TurtleArt and Paint, more info in #10930.

Signed-by-off: Gonzalo Odiard <gonzalo@laptop.org>
Acked-by: Simon Schampijer <simon@laptop.org>
This commit is contained in:
Gonzalo Odiard 2011-07-12 16:15:24 -03:00 committed by Simon Schampijer
parent 10580fc2a7
commit 880e60bdda

View File

@ -36,6 +36,15 @@ class ToolbarButton(ToolButton):
self.connect('clicked',
lambda widget: self.set_expanded(not self.is_expanded()))
self.connect('hierarchy-changed', self.__hierarchy_changed_cb)
def __hierarchy_changed_cb(self, tool_button, previous_toplevel):
if hasattr(self.parent, 'owner'):
if self.page_widget:
self._unparent()
self.parent.owner.pack_start(self.page_widget)
self.set_expanded(False)
def get_toolbar_box(self):
if not hasattr(self.parent, 'owner'):
return None