projects
/
conv-inbox
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
4d28752
)
Properly handle button events and scrolling
author
Artem Garmash
<artemgarmash@gmail.com>
Thu, 5 Nov 2009 21:26:28 +0000
(23:26 +0200)
committer
Artem Garmash
<artem.garmash@nokia.com>
Sun, 27 Jun 2010 19:13:40 +0000
(22:13 +0300)
src/el-home-applet.c
patch
|
blob
|
history
diff --git
a/src/el-home-applet.c
b/src/el-home-applet.c
index
c585390
..
d478567
100644
(file)
--- a/
src/el-home-applet.c
+++ b/
src/el-home-applet.c
@@
-46,8
+46,6
@@
#define BOX_RADIOUS 10
#define BOX_RADIOUS 10
-#define DEBUG_LAYOUT
-
struct _ELHomeAppletPrivate
{
RTComEl *eventlogger;
struct _ELHomeAppletPrivate
{
RTComEl *eventlogger;
@@
-193,11
+191,10
@@
draw_text (cairo_t *cr,
static void
stop_scroll_anim (ELHomeAppletPrivate *priv)
{
static void
stop_scroll_anim (ELHomeAppletPrivate *priv)
{
- priv->scroll_on_click = FALSE;
- priv->scroll_offset = 0;
if (priv->scroll_anim_id > 0) {
g_source_remove (priv->scroll_anim_id);
priv->scroll_anim_id = 0;
if (priv->scroll_anim_id > 0) {
g_source_remove (priv->scroll_anim_id);
priv->scroll_anim_id = 0;
+ priv->scroll_on_click = FALSE;
}
}
}
}
@@
-306,7
+303,7
@@
expose_event (GtkWidget *self, GdkEventExpose *event)
MESSAGE_WIDTH,
message_height,
priv->scroll_offset);
MESSAGE_WIDTH,
message_height,
priv->scroll_offset);
- if (!priv->scroll_offset && !priv->active)
+ if (!priv->scroll_anim_id && !priv->scroll_offset)
priv->scroll_on_click = ellipsized;
cairo_pattern_destroy (grad);
priv->scroll_on_click = ellipsized;
cairo_pattern_destroy (grad);
@@
-432,6
+429,7
@@
show_event (ELHomeApplet *self, RTComElIter *it)
g_free (remote);
g_free (remote);
+ priv->scroll_offset = 0;
gtk_widget_queue_draw (GTK_WIDGET (self));
}
gtk_widget_queue_draw (GTK_WIDGET (self));
}
@@
-590,7
+588,7
@@
scroll_anim_cb (ELHomeApplet *self)
ELHomeAppletPrivate *priv = self->priv;
priv->scroll_offset += 1;
ELHomeAppletPrivate *priv = self->priv;
priv->scroll_offset += 1;
- gtk_widget_queue_draw (self);
+ gtk_widget_queue_draw (GTK_WIDGET (self));
return TRUE;
}
return TRUE;
}
@@
-606,15
+604,7
@@
button_press_event_cb (GtkWidget *widget,
priv->active = TRUE;
gtk_widget_queue_draw (widget);
}
priv->active = TRUE;
gtk_widget_queue_draw (widget);
}
- priv->active = TRUE;
- if (priv->scroll_on_click) {
- stop_scroll_anim (priv);
- priv->scroll_anim_id = g_timeout_add (100,
- scroll_anim_cb,
- self);
- }
- gtk_widget_queue_draw (widget);
return TRUE;
}
return TRUE;
}
@@
-627,9
+617,16
@@
button_release_event_cb (GtkWidget *widget,
if (priv->active){
priv->active = FALSE;
if (priv->active){
priv->active = FALSE;
- /* stop_scroll_anim (priv); */
+ stop_scroll_anim (priv);
+ if (priv->scroll_on_click) {
+ priv->scroll_on_click = FALSE;
+ priv->scroll_anim_id = g_timeout_add (100,
+ (GSourceFunc)scroll_anim_cb,
+ self);
+ }
+ else
#ifndef DEBUG_LAYOUT
#ifndef DEBUG_LAYOUT
- mark_as_read (self);
+ mark_as_read (self);
#endif
gtk_widget_queue_draw (widget);
}
#endif
gtk_widget_queue_draw (widget);
}
@@
-692,12
+689,7
@@
el_home_applet_init (ELHomeApplet *self)
gtk_widget_set_name (priv->sender, "hildon-shadow-label");
hildon_helper_set_logical_font (priv->sender, "SystemFont");
gtk_widget_set_name (priv->sender, "hildon-shadow-label");
hildon_helper_set_logical_font (priv->sender, "SystemFont");
- priv->message = g_strdup ("One two three four five six seven eight nine ten"
- "one two three four five six seven eight nine ten"
- "one two three four five six seven eight nine ten"
- "one two three four five six seven eight nine ten"
- "one two three four five six seven eight nine ten"
- "one two three four five six seven eight nine ten");
+ priv->message = g_strdup ("One two three four five six seven eight nine ten");
/* TODO: l10n */
priv->empty = gtk_label_new ("No new messages");
/* TODO: l10n */
priv->empty = gtk_label_new ("No new messages");