Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu@tomeuvizoso.net>2008-05-19 13:58:45 (GMT)
committer Tomeu Vizoso <tomeu@tomeuvizoso.net>2008-05-19 13:58:45 (GMT)
commitdbe8804c7c923504623eab9f1d18e0d0ae6013b5 (patch)
treed5c5aaebf9de4eb3e10835ad0c01137c78368ed8
parent3195929db3d145b564cb0350d6eb18a14df6e3d3 (diff)
Make arrows scroll up and down in scroll views.
-rw-r--r--src/view/home/activitieslist.py22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/view/home/activitieslist.py b/src/view/home/activitieslist.py
index f638738..ebdf1ec 100644
--- a/src/view/home/activitieslist.py
+++ b/src/view/home/activitieslist.py
@@ -15,6 +15,7 @@
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
import gobject
+import gtk
import hippo
from sugar import profile
@@ -31,7 +32,8 @@ class ActivitiesList(hippo.CanvasScrollbars):
def __init__(self):
hippo.CanvasScrollbars.__init__(self)
self.set_policy(hippo.ORIENTATION_HORIZONTAL, hippo.SCROLLBAR_NEVER)
-
+ self.props.widget.connect('key-press-event', self.__key_press_event_cb)
+
self._box = hippo.CanvasBox( \
background_color=style.COLOR_WHITE.get_int())
self.set_root(self._box)
@@ -59,6 +61,24 @@ class ActivitiesList(hippo.CanvasScrollbars):
def _add_activity(self, activity_info):
self._box.append(ActivityEntry(activity_info))
+ def __key_press_event_cb(self, widget, event):
+ keyname = gtk.gdk.keyval_name(event.keyval)
+
+ vadjustment = self.props.widget.props.vadjustment
+ if keyname == 'Up':
+ if vadjustment.props.value > vadjustment.props.lower:
+ vadjustment.props.value -= vadjustment.props.step_increment
+ elif keyname == 'Down':
+ max_value = vadjustment.props.upper - vadjustment.props.page_size
+ if vadjustment.props.value < max_value:
+ vadjustment.props.value = min(
+ vadjustment.props.value + vadjustment.props.step_increment,
+ max_value)
+ else:
+ return False
+
+ return True
+
class ActivityEntry(hippo.CanvasBox, hippo.CanvasItem):
__gtype_name__ = 'SugarActivityEntry'