From da2ffc2574be14cce07d3ad76bbbe1eb8577cd39 Mon Sep 17 00:00:00 2001 From: Artem Garmash Date: Sat, 24 Oct 2009 23:52:33 +0300 Subject: [PATCH] Show "No new messages" --- src/el-home-applet.c | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/src/el-home-applet.c b/src/el-home-applet.c index b42ccd4..3b7ba5e 100644 --- a/src/el-home-applet.c +++ b/src/el-home-applet.c @@ -67,6 +67,8 @@ struct _ELHomeAppletPrivate guint idle_id; /* new or updated event id */ gint new_event_id; + + GtkWidget *empty; }; HD_DEFINE_PLUGIN_MODULE (ELHomeApplet, el_home_applet, HD_TYPE_HOME_PLUGIN_ITEM); @@ -309,7 +311,16 @@ show_event (ELHomeApplet *self, RTComElIter *it) priv->event_id = -1; } - gtk_label_set_text (GTK_LABEL (priv->message), message); + if (message){ + if (!GTK_WIDGET_VISIBLE (priv->message)) + gtk_widget_show (priv->message); + gtk_label_set_text (GTK_LABEL (priv->message), message); + } + else{ + gtk_widget_hide (priv->message); + gtk_widget_show (priv->empty); + } + gtk_label_set_text (GTK_LABEL (priv->sender), remote); gtk_label_set_text (GTK_LABEL (priv->received), received); @@ -373,9 +384,13 @@ update_unread_label (ELHomeApplet *self) ELHomeAppletPrivate *priv = self->priv; gchar *text; - text = g_strdup_printf ("%d", priv->unread_count); - gtk_label_set_text (GTK_LABEL (priv->unread), text); - g_free (text); + if (priv->unread_count > 0){ + text = g_strdup_printf ("%d", priv->unread_count); + gtk_label_set_text (GTK_LABEL (priv->unread), text); + g_free (text); + } + else + gtk_label_set_text (GTK_LABEL (priv->unread), NULL); } static gint @@ -588,6 +603,11 @@ el_home_applet_init (ELHomeApplet *self) MESSAGE_HEIGHT); gtk_widget_set_name (priv->message, "hildon-shadow-label"); + /* TODO: l10n */ + priv->empty = gtk_label_new ("No new messages"); + gtk_widget_set_name (priv->empty, "hildon-shadow-label"); + GTK_WIDGET_SET_FLAGS (priv->empty, GTK_NO_SHOW_ALL); + priv->received = gtk_label_new ("aewf aewf aewf awef"); gtk_misc_set_alignment (GTK_MISC (priv->received), 1.0f, @@ -606,6 +626,7 @@ el_home_applet_init (ELHomeApplet *self) vbox = gtk_vbox_new (FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), priv->message, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (vbox), priv->empty, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), priv->received, FALSE, FALSE, 0); align = gtk_alignment_new (0.5f, 0.0f, 1.0f, 1.0f); -- 1.7.9.5