Hi,
this new patch uses key-press-event.
Thanks,
Tomeu
On Thu, May 15, 2008 at 5:08 PM, Eben Eliason <[EMAIL PROTECTED]> wrote:
> On Thu, May 15, 2008 at 7:04 AM, Tomeu Vizoso <[EMAIL PROTECTED]> wrote:
>> On Thu, May 15, 2008 at 12:56 PM, Marco Pesenti Gritti
>> <[EMAIL PROTECTED]> wrote:
>> > Any reason to not use key_press events or similar? I don't think we
>> > should "patch" gtk.ScrolledWindow behavior.
>>
>> Well, I guess that Eben will want this behavior in all the list views
>> (mesh, group, activity, more?).
>
> Confirmation on that. All list views should behave the same.
>
> - Eben
>
From e3ff1c398a20d0000019b6da49fdd61b0d8d1ed1 Mon Sep 17 00:00:00 2001
From: Tomeu Vizoso <[EMAIL PROTECTED]>
Date: Thu, 15 May 2008 18:55:50 +0200
Subject: [PATCH] Make arrows scroll up and down in scroll views.
---
src/view/home/activitieslist.py | 22 +++++++++++++++++++++-
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'
--
1.5.2.5
_______________________________________________
Sugar mailing list
[email protected]
http://lists.laptop.org/listinfo/sugar