Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/sugar/activity
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu@tomeuvizoso.net>2008-04-01 09:52:11 (GMT)
committer Tomeu Vizoso <tomeu@tomeuvizoso.net>2008-04-01 09:52:11 (GMT)
commitef40555ed3c69b35f78596f206896b947e653301 (patch)
treeb088149d42b0b23a49301bca90bca1aa97ce404d /sugar/activity
parentd959426744cd19fb5f7eb9ec2c9e41d91b2d5652 (diff)
Add support for accelerators to buttons.
Diffstat (limited to 'sugar/activity')
-rw-r--r--sugar/activity/activity.py21
1 files changed, 9 insertions, 12 deletions
diff --git a/sugar/activity/activity.py b/sugar/activity/activity.py
index 146d863..2c1eaae 100644
--- a/sugar/activity/activity.py
+++ b/sugar/activity/activity.py
@@ -28,6 +28,7 @@ See the methods of the Activity class below for more information on what you
will need for a real activity.
"""
# Copyright (C) 2006-2007 Red Hat, Inc.
+# Copyright (C) 2007-2008 One Laptop Per Child
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
@@ -125,14 +126,14 @@ class ActivityToolbar(gtk.Toolbar):
self._update_share()
- self.keep = ToolButton('document-save')
- self.keep.set_tooltip(_('Keep'))
+ self.keep = ToolButton('document-save', tooltip=_('Keep'))
+ self.keep.props.accelerator = '<Ctrl>S'
self.keep.connect('clicked', self.__keep_clicked_cb)
self.insert(self.keep, -1)
self.keep.show()
- self.stop = ToolButton('activity-stop')
- self.stop.set_tooltip(_('Stop'))
+ self.stop = ToolButton('activity-stop', tooltip=_('Stop'))
+ self.stop.props.accelerator = '<Ctrl>Q'
self.stop.connect('clicked', self.__stop_clicked_cb)
self.insert(self.stop, -1)
self.stop.show()
@@ -418,7 +419,6 @@ class Activity(Window, gtk.Container):
self.connect('realize', self.__realize_cb)
self.connect('delete-event', self.__delete_event_cb)
- self.connect("key_press_event", self.__key_press_event_cb)
self._active = False
self._activity_id = handle.activity_id
@@ -433,6 +433,10 @@ class Activity(Window, gtk.Container):
self._max_participants = 0
self._invites_queue = []
+ accel_group = gtk.AccelGroup()
+ self.set_data('sugar-accel-group', accel_group)
+ self.add_accel_group(accel_group)
+
self._bus = ActivityService(self)
self._owns_file = False
@@ -905,13 +909,6 @@ class Activity(Window, gtk.Container):
metadata = property(get_metadata, None)
- def __key_press_event_cb(self, widget, event):
- key = gtk.gdk.keyval_name(event.keyval)
- if key == 's' and (event.state & gtk.gdk.CONTROL_MASK):
- logging.debug('Keep requested')
- self.copy()
- return True
-
def get_bundle_name():
"""Return the bundle name for the current process' bundle"""
return os.environ['SUGAR_BUNDLE_NAME']