From f0163463bd4b5a82bf7daf92d44e153a7a7ffe91 Mon Sep 17 00:00:00 2001 From: Artem Garmash Date: Sat, 6 Feb 2010 10:35:10 +0200 Subject: [PATCH] Show total of conversations when the widget is empty --- src/el-home-applet.c | 58 ++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 47 insertions(+), 11 deletions(-) diff --git a/src/el-home-applet.c b/src/el-home-applet.c index 911f857..d292828 100644 --- a/src/el-home-applet.c +++ b/src/el-home-applet.c @@ -22,7 +22,7 @@ #include "config.h" #include "el-home-applet.h" - +#include #include #include #include @@ -104,10 +104,14 @@ struct _ELHomeAppletPrivate GtkWidget *icon; GtkWidget *unread; GtkWidget *received; - GtkWidget *empty; GtkWidget *cut_message; GtkWidget *avatar; + /* empty view*/ + GtkWidget *empty; + GtkWidget *sms_total; + GtkWidget *chat_total; + gchar *message; gint event_id; @@ -1174,12 +1178,19 @@ read_event (ELHomeApplet *self) "RTCOM_EL_SERVICE_SMS"); gint n_chat_events = query_read_events (priv->eventlogger, "RTCOM_EL_SERVICE_CHAT"); - gchar *empty_text = g_strdup_printf ("SMSes %d, Chats %d", - n_sms_events, - n_chat_events); - gtk_label_set_text (GTK_LABEL (priv->empty), - empty_text); - g_free (empty_text); + gchar *text; + + text = g_strdup_printf ("%d", n_sms_events); + gtk_label_set_text (GTK_LABEL (priv->sms_total), text); + g_free (text); + + text = g_strdup_printf ("%d", n_chat_events); + gtk_label_set_text (GTK_LABEL (priv->chat_total), text); + g_free (text); + + gtk_label_set_text (GTK_LABEL (priv->sender), + dgettext ("rtcom-messaging-ui", + "messaging_ap_conversations")); } } @@ -1595,6 +1606,7 @@ el_home_applet_init (ELHomeApplet *self) ELHomeAppletPrivate *priv; GtkWidget *event_box; GtkWidget *hbox, *vbox, *align, *footer; + GtkWidget *w; self->priv = EL_HOME_APPLET_GET_PRIVATE (self); priv = self->priv; @@ -1631,9 +1643,33 @@ el_home_applet_init (ELHomeApplet *self) priv->message = g_strdup ("One two three four five six seven eight nine ten"); - /* TODO: l10n */ - priv->empty = gtk_label_new ("No new messages"); - gtk_widget_set_name (priv->empty, "hildon-shadow-label"); + /* construt empty table */ + priv->empty = gtk_fixed_new (); + + w = gtk_image_new_from_icon_name ("general_sms", HILDON_ICON_SIZE_FINGER); + gtk_fixed_put (GTK_FIXED (priv->empty), w, + 4*HILDON_MARGIN_DOUBLE, + 2*HILDON_MARGIN_DOUBLE); + + w = gtk_image_new_from_icon_name ("general_chat", HILDON_ICON_SIZE_FINGER); + gtk_fixed_put (GTK_FIXED (priv->empty), w, + 4*HILDON_MARGIN_DOUBLE, + 3*HILDON_MARGIN_DOUBLE + HILDON_ICON_PIXEL_SIZE_FINGER); + + priv->sms_total = gtk_label_new (NULL); + gtk_widget_set_name (priv->sms_total, "hildon-shadow-label"); + gtk_fixed_put (GTK_FIXED (priv->empty), priv->sms_total, + 5*HILDON_MARGIN_DOUBLE + HILDON_ICON_PIXEL_SIZE_FINGER, + 2*HILDON_MARGIN_DOUBLE + HILDON_MARGIN_DEFAULT); + + priv->chat_total = gtk_label_new (NULL); + gtk_widget_set_name (priv->chat_total, "hildon-shadow-label"); + gtk_fixed_put (GTK_FIXED (priv->empty), priv->chat_total, + 5*HILDON_MARGIN_DOUBLE + HILDON_ICON_PIXEL_SIZE_FINGER, + 3*HILDON_MARGIN_DOUBLE + HILDON_MARGIN_DEFAULT + HILDON_ICON_PIXEL_SIZE_FINGER); + + gtk_widget_show_all (GTK_WIDGET (priv->empty)); + gtk_widget_hide (GTK_WIDGET (priv->empty)); GTK_WIDGET_SET_FLAGS (priv->empty, GTK_NO_SHOW_ALL); priv->received = gtk_label_new ("aewf aewf aewf awef"); -- 1.7.9.5