#define NOTIFICATION_UI_DBUS_PATH "/org/freedesktop/Telepathy/Client/NotificationUI"
#define NOTIFICATION_UI_DBUS_IFACE "com.nokia.RtcomNotificationUi"
+typedef enum {
+ SELECTED_NONE,
+ SELECTED_HEADER,
+ SELECTED_BODY,
+ SELECTED_FOOTER
+} WidgetActiveSelection;
+
struct _ELHomeAppletPrivate
{
RTComEl *eventlogger;
gchar *message;
gint event_id;
- gboolean active_body;
- gboolean active_header;
+ WidgetActiveSelection active;
guint unread_count;
cairo_close_path (cr);
- if (priv->active_header)
+ switch (priv->active) {
+ case SELECTED_HEADER:
cairo_set_source_rgba (cr,
priv->active_color.red,
priv->active_color.green,
priv->active_color.blue,
0.8f);
- else
+ break;
+ default:
cairo_set_source_rgba (cr, 0.2f, 0.2f, 0.2f, 0.8f);
+ }
+
cairo_fill (cr);
cairo_move_to (cr, 0, HEADER_HEIGHT);
grad = cairo_pattern_create_linear (0, HEADER_HEIGHT,
0, C_HEIGHT);
- if (priv->active_body) {
+ switch (priv->active) {
+ case SELECTED_BODY:
cairo_pattern_add_color_stop_rgba (grad,
0.5f,
priv->active_color.red,
priv->active_color.green/2,
priv->active_color.blue/2,
0.8f);
- }
- else {
+ break;
+ default:
cairo_pattern_add_color_stop_rgba (grad, 0.5f,
0.4f, 0.4f, 0.4f, 0.8f);
cairo_pattern_add_color_stop_rgba (grad, 1.0f,
0.2f, 0.2f, 0.2f, 0.8f);
}
+
cairo_set_source (cr, grad);
cairo_fill (cr);
osso_abook_contact_get_uid (priv->contact),
osso_abook_contact_get_persistent_uid (priv->contact));
-
if (avatar_image) {
gtk_image_set_from_pixbuf (GTK_IMAGE (priv->avatar),
avatar_image);
if (priv->aggregator &&
osso_abook_waitable_is_ready
(OSSO_ABOOK_WAITABLE (priv->aggregator), NULL))
- priv->active_header = TRUE;
+ priv->active = SELECTED_HEADER;
}
else
- priv->active_body = TRUE;
+ priv->active = SELECTED_BODY;
gtk_widget_queue_draw (widget);
}
ELHomeAppletPrivate *priv = self->priv;
g_warning (G_STRFUNC);
- if (priv->active_body) {
- priv->active_body = FALSE;
+ switch (priv->active) {
+ case SELECTED_BODY:
stop_scroll_anim (priv);
if (priv->scroll_on_click) {
priv->scroll_on_click = FALSE;
open_conversation (self);
#endif
}
-
gtk_widget_queue_draw (widget);
- }
- if (priv->active_header) {
+
+ break;
+ case SELECTED_HEADER: {
GtkWidget *dialog = NULL;
- priv->active_header = FALSE;
if (priv->aggregator && priv->contact_id)
dialog = create_contact_starter_dialog
gtk_widget_queue_draw (widget);
}
+ break;
+ default:;
+ }
+ priv->active = SELECTED_NONE;
return TRUE;
}
{
ELHomeAppletPrivate *priv = self->priv;
- if (priv->active_body) {
- priv->active_body = FALSE;
- priv->active_header = FALSE;
+ switch (priv->active) {
+ case SELECTED_BODY:
stop_scroll_anim (priv);
gtk_widget_queue_draw (widget);
- }
- if (priv->active_header) {
- priv->active_header = FALSE;
+ break;
+ case SELECTED_HEADER:
gtk_widget_queue_draw (widget);
+ break;
+ default:;
}
+ priv->active = SELECTED_NONE;
return FALSE;
}