From b8963f526e8983167e84030363b31fbfab0b6f89 Mon Sep 17 00:00:00 2001 From: Artem Garmash Date: Mon, 11 Jan 2010 00:33:27 +0200 Subject: [PATCH] Mark as read on footer click --- src/el-home-applet.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/el-home-applet.c b/src/el-home-applet.c index 666dc02..0a4d62f 100644 --- a/src/el-home-applet.c +++ b/src/el-home-applet.c @@ -55,6 +55,8 @@ #define MESSAGE_HEIGHT (C_HEIGHT - HEADER_HEIGHT) #define MESSAGE_WIDTH (C_WIDTH - 2*HILDON_MARGIN_DEFAULT) +#define FOOTER_HEIGHT 26 /* approx, used only for checking clicks, bigger than controls */ + #define BOX_RADIOUS 10 #define SCROLL_PERIOD 100 /* ms */ @@ -1028,14 +1030,19 @@ button_press_event_cb (GtkWidget *widget, ELHomeAppletPrivate *priv = self->priv; if (priv->event_id > 0) { + stop_scroll_anim (priv); + if (event->y < CONTENT_OFFSET_Y_TOP + HEADER_HEIGHT) { if (priv->aggregator && osso_abook_waitable_is_ready (OSSO_ABOOK_WAITABLE (priv->aggregator), NULL)) priv->active = SELECTED_HEADER; } + else if (event->y > (BOX_HEIGHT - CONTENT_OFFSET_Y_BOTTOM - FOOTER_HEIGHT)) + priv->active = SELECTED_FOOTER; else priv->active = SELECTED_BODY; + gtk_widget_queue_draw (widget); } @@ -1103,7 +1110,6 @@ button_release_event_cb (GtkWidget *widget, switch (priv->active) { case SELECTED_BODY: - stop_scroll_anim (priv); if (priv->scroll_on_click) { priv->scroll_on_click = FALSE; priv->scroll_anim_id = g_timeout_add (SCROLL_PERIOD, @@ -1112,7 +1118,6 @@ button_release_event_cb (GtkWidget *widget, } else { #ifndef DEBUG_LAYOUT - /* mark_as_read (self); */ open_conversation (self); #endif } @@ -1138,6 +1143,9 @@ button_release_event_cb (GtkWidget *widget, gtk_widget_queue_draw (widget); } break; + case SELECTED_FOOTER: + mark_as_read (self); + break; default:; } -- 1.7.9.5