[sugar] keyboard bindings for buttons and palettes
Marco Pesenti Gritti
mpgritti at gmail.com
Tue Feb 26 09:35:22 EST 2008
On Tue, Feb 26, 2008 at 8:06 AM, Tomeu Vizoso <tomeu at tomeuvizoso.net> wrote:
> Hi,
>
> have been thinking a bit about the best way to add key bindings
> (accelerators) to activities and the shell, and have come up with a
> proof of concept patch at:
>
> http://tomeuvizoso.net/~tomeu/accelerators.patch
>
> For adding a Ctrl-B accelerator to the Back button in browse, we would
> need to change the code in the following way:
>
> - self._back = ToolButton('go-previous-paired')
> - self._back.set_tooltip(_('Back'))
> + self._back = ToolButton('go-previous-paired', _('Back'), _('<Ctrl>B'))
I think we should use gobject properties here (which will still allow
to pass them to the constructor).
> The good:
>
> - The labels and accelerators are set at the same time so they will
> appear related when translating. Every language team can set its own
> policy regarding accelerators.
I'm not sure translatable accellerators are a good idea. I see the
advantages, but it also means you are "screwed" if you switch
language. Eben?
> The bad:
>
> - Every widget will have to listen for 'hierarchy-changed' in order to
> set the accelerator for the group of its top level window.
>
> Can anybody think of a better way to do this? If not, I'll come with a
> more refined patch and will ask for review. I think accelerators can
> improve usability quite a bit.
Nothing short of adding this functionality to gtk.
We have already a bit of duplicated code between the ToolItems,
perhaps we can figure out a way to avoid duplication which doesn't
require inheritance.
Marco
More information about the Sugar
mailing list