r4342 - in trunk/src/target/OM-2007.2/libraries/libmokoui2: . libmokoui
chris at sita.openmoko.org
chris at sita.openmoko.org
Thu Apr 10 16:45:40 CEST 2008
Author: chris
Date: 2008-04-10 16:45:39 +0200 (Thu, 10 Apr 2008)
New Revision: 4342
Modified:
trunk/src/target/OM-2007.2/libraries/libmokoui2/ChangeLog
trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-finger-scroll.c
Log:
* libmokoui/moko-finger-scroll.c
(moko_finger_scroll_button_press_cb),
(moko_finger_scroll_motion_notify_cb),
(moko_finger_scroll_button_release_cb), (moko_finger_scroll_init):
Do check event type, but don't distinguish between single click and
double-click
Modified: trunk/src/target/OM-2007.2/libraries/libmokoui2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/libraries/libmokoui2/ChangeLog 2008-04-10 14:08:23 UTC (rev 4341)
+++ trunk/src/target/OM-2007.2/libraries/libmokoui2/ChangeLog 2008-04-10 14:45:39 UTC (rev 4342)
@@ -1,3 +1,12 @@
+2008-04-10 Chris Lord <chris at openedhand.com>
+
+ * libmokoui/moko-finger-scroll.c
+ (moko_finger_scroll_button_press_cb),
+ (moko_finger_scroll_motion_notify_cb),
+ (moko_finger_scroll_button_release_cb), (moko_finger_scroll_init):
+ Do check event type, but don't distinguish between single click and
+ double-click
+
2008-04-07 Chris Lord <chris at openedhand.com>
* libmokoui/moko-finger-scroll.c
Modified: trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-finger-scroll.c
===================================================================
--- trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-finger-scroll.c 2008-04-10 14:08:23 UTC (rev 4341)
+++ trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-finger-scroll.c 2008-04-10 14:45:39 UTC (rev 4342)
@@ -53,6 +53,7 @@
gboolean enabled;
gboolean clicked;
guint32 last_time; /* Last event time, to stop infinite loops */
+ gint last_type;
gboolean moved;
GTimeVal click_start;
GTimeVal last_click;
@@ -231,9 +232,11 @@
MokoFingerScrollPrivate *priv = FINGER_SCROLL_PRIVATE (scroll);
if ((!priv->enabled) || (event->button != 1) ||
- ((event->time == priv->last_time))) return TRUE;
+ ((event->time == priv->last_time) &&
+ (priv->last_type == 1))) return TRUE;
priv->last_time = event->time;
+ priv->last_type = 1;
priv->click_x = event->x;
priv->click_y = event->y;
@@ -468,7 +471,8 @@
gdouble x, y;
if ((!priv->enabled) || (!priv->clicked) ||
- ((event->time == priv->last_time))) {
+ ((event->time == priv->last_time) &&
+ (priv->last_type == 2))) {
gdk_window_get_pointer (
GTK_WIDGET (scroll)->window, NULL, NULL, 0);
return TRUE;
@@ -533,6 +537,7 @@
if (priv->child) {
/* Send motion notify to child */
priv->last_time = event->time;
+ priv->last_type = 2;
event = (GdkEventMotion *)gdk_event_copy ((GdkEvent *)event);
event->x = priv->cx + (event->x - priv->ix);
event->y = priv->cy + (event->y - priv->iy);
@@ -558,10 +563,12 @@
gdouble delta, speed_x, speed_y;
if ((!priv->clicked) || (!priv->enabled) || (event->button != 1) ||
- ((event->time == priv->last_time)))
+ ((event->time == priv->last_time) &&
+ (priv->last_type == 3)))
return TRUE;
priv->last_time = event->time;
+ priv->last_type = 3;
g_get_current_time (¤t);
@@ -994,6 +1001,7 @@
priv->moved = FALSE;
priv->clicked = FALSE;
priv->last_time = 0;
+ priv->last_type = 0;
priv->vscroll = TRUE;
priv->hscroll = TRUE;
priv->scroll_width = 6;
More information about the commitlog
mailing list