* src/widgets/modest-mail-header-view.c:
authorJose Dapena Paz <jdapena@igalia.com>
Wed, 14 Mar 2007 14:00:28 +0000 (14:00 +0000)
committerJose Dapena Paz <jdapena@igalia.com>
Wed, 14 Mar 2007 14:00:28 +0000 (14:00 +0000)
* If message is a draft, show "Last saved:" instead of "Sent:"
* src/gnome/modest-msg-view-window.c:
* Show subject in window title.

pmo-trunk-r904

src/gnome/modest-msg-view-window.c
src/widgets/modest-mail-header-view.c

index 70ad5d9..475b573 100644 (file)
@@ -210,6 +210,8 @@ modest_msg_view_window_new (TnyMsg *msg, const gchar *account)
        ModestWindowPrivate *parent_priv;
        GtkActionGroup *action_group;
        GError *error = NULL;
+       TnyHeader *header = NULL;
+       const gchar *subject = NULL;
 
        g_return_val_if_fail (msg, NULL);
 
@@ -255,8 +257,19 @@ modest_msg_view_window_new (TnyMsg *msg, const gchar *account)
        /* Init window */
        init_window (MODEST_MSG_VIEW_WINDOW(obj), msg);
        restore_settings (MODEST_MSG_VIEW_WINDOW(obj));
+
+       header = tny_msg_get_header (msg);
+       if (header)
+               subject = tny_header_get_subject (header);
        
-       gtk_window_set_title (GTK_WINDOW(obj), "Modest");
+       if (subject != NULL)
+               gtk_window_set_title (GTK_WINDOW (obj), subject);
+       else
+               gtk_window_set_title (GTK_WINDOW(obj), "Modest");
+
+       if (header)
+               g_object_unref (header);
+
        gtk_window_set_icon_from_file (GTK_WINDOW(obj), MODEST_APP_ICON, NULL);
 
        g_signal_connect (G_OBJECT(obj), "delete-event", G_CALLBACK(on_delete_event), obj);
index d3dc53b..7a63a0e 100644 (file)
@@ -55,6 +55,7 @@ struct _ModestMailHeaderViewPriv
        GtkWidget    *headers_vbox;
        GtkSizeGroup *labels_size_group;
        gboolean     is_outgoing;
+       gboolean     is_draft;
        TnyHeader    *header;
 };
 
@@ -163,14 +164,15 @@ modest_mail_header_view_update_is_outgoing (TnyHeaderView *self)
                }
 
                switch (folder_type) {
+               case TNY_FOLDER_TYPE_DRAFTS:
                case TNY_FOLDER_TYPE_OUTBOX:
                case TNY_FOLDER_TYPE_SENT:
-               case TNY_FOLDER_TYPE_DRAFTS:
                        priv->is_outgoing = TRUE;
                        break;
                default:
                        priv->is_outgoing = FALSE;
                }
+               priv->is_draft = (folder_type == TNY_FOLDER_TYPE_DRAFTS);
 
                g_object_unref (folder);
        }
@@ -213,7 +215,10 @@ modest_mail_header_view_set_header_default (TnyHeaderView *self, TnyHeader *head
                        gtk_label_set_markup (GTK_LABEL (priv->fromto_label), _("<b>To:</b>"));
                        if (to)
                                modest_recpt_view_set_recipients (MODEST_RECPT_VIEW (priv->fromto_contents), to);
-                       add_header (MODEST_MAIL_HEADER_VIEW (self), _("<b>Sent:</b>"), sent);
+                       if (priv->is_draft)
+                               add_header (MODEST_MAIL_HEADER_VIEW (self), _("<b>Last saved:</b>"), sent);
+                       else
+                               add_header (MODEST_MAIL_HEADER_VIEW (self), _("<b>Sent:</b>"), sent);
                        g_free (sent);
                } else {
                        gchar *received = modest_text_utils_get_display_date (tny_header_get_date_received (header));
@@ -335,6 +340,7 @@ modest_mail_header_view_instance_init (GTypeInstance *instance, gpointer g_class
        gtk_container_set_reallocate_redraws (GTK_CONTAINER (instance), TRUE);
 
        priv->is_outgoing = FALSE;
+       priv->is_draft = FALSE;
 
        return;
 }