* src/widgets/modest-mail-header-view.c:
authorJose Dapena Paz <jdapena@igalia.com>
Wed, 14 Mar 2007 17:36:11 +0000 (17:36 +0000)
committerJose Dapena Paz <jdapena@igalia.com>
Wed, 14 Mar 2007 17:36:11 +0000 (17:36 +0000)
* Reworked code for bolding labels, to make easier to add
  localisation strings from en_GB file.
* Added localisation id strings.
* src/widgets/modest-msg-view.c:
* Better calculation of allocation of headers and html scroll.
  This should fix a problem that was making
  ModestScrollText scroll buttons show partially.
* src/widgets/modest-attachments-view.c:
* Now clicking on attachment icons also fires attachment
  activated event.

pmo-trunk-r905

src/widgets/modest-attachments-view.c
src/widgets/modest-mail-header-view.c
src/widgets/modest-msg-view.c

index 659df29..8be4f73 100644 (file)
@@ -143,7 +143,16 @@ modest_attachments_view_set_message (ModestAttachmentsView *attachments_view, Tn
                                pixbuf = gtk_icon_theme_load_icon (gtk_icon_theme_get_default (), file_icon_name, 
                                                                   icon_height, GTK_ICON_LOOKUP_USE_BUILTIN, NULL);
                                if (pixbuf) {
+                                       GtkTextTag *pixbuf_tag;
+                                       GtkTextIter iter2;
+                                       pixbuf_tag = gtk_text_buffer_create_tag (buffer, NULL, NULL);
+                                       g_object_set_data (G_OBJECT (pixbuf_tag), "attachment-index", GINT_TO_POINTER (index));
+                                       g_object_set_data (G_OBJECT (pixbuf_tag), "attachment-set", GINT_TO_POINTER (TRUE));
                                        gtk_text_buffer_insert_pixbuf (buffer, &text_iter, pixbuf);
+                                       iter2 = text_iter;
+                                       gtk_text_iter_backward_char (&iter2);
+                                       gtk_text_buffer_apply_tag (buffer, pixbuf_tag, &iter2, &text_iter);
+                                       gtk_text_buffer_get_end_iter (buffer, &text_iter);
                                }
                        }
                        gtk_text_buffer_insert_with_tags (buffer, &text_iter, filename, -1, tag, NULL);
index 7a63a0e..54720fd 100644 (file)
@@ -80,10 +80,14 @@ add_header (ModestMailHeaderView *widget, const gchar *field, const gchar *value
        GtkWidget *label_field, *label_value;
        GtkWidget *scroll_text;
        GtkTextBuffer *text_buffer;
+       gchar *bolded_field = NULL;
 
        hbox = gtk_hbox_new (FALSE, 12);
        label_field = gtk_label_new (NULL);
-       gtk_label_set_markup (GTK_LABEL (label_field), field);
+       if (field)
+               bolded_field = g_strconcat ("<b>", field, "</b>", NULL);
+       gtk_label_set_markup (GTK_LABEL (label_field), bolded_field);
+       g_free (bolded_field);
        gtk_misc_set_alignment (GTK_MISC (label_field), 0.0, 0.0);
        scroll_text = modest_scroll_text_new (NULL, 2);
        label_value = (GtkWidget *) modest_scroll_text_get_text_view (MODEST_SCROLL_TEXT (scroll_text));
@@ -105,10 +109,14 @@ add_recpt_header (ModestMailHeaderView *widget, const gchar *field, const gchar
        ModestMailHeaderViewPriv *priv = MODEST_MAIL_HEADER_VIEW_GET_PRIVATE (widget);
        GtkWidget *hbox;
        GtkWidget *label_field, *label_value;
+       gchar *bolded_field = NULL;
 
        hbox = gtk_hbox_new (FALSE, 12);
        label_field = gtk_label_new (NULL);
-       gtk_label_set_markup (GTK_LABEL (label_field), field);
+       if (field != NULL)
+               bolded_field = g_strconcat ("<b>", field, "</b>", NULL);
+       gtk_label_set_markup (GTK_LABEL (label_field), bolded_field);
+       g_free (bolded_field);
        gtk_misc_set_alignment (GTK_MISC (label_field), 0.0, 0.0);
        label_value = modest_recpt_view_new ();
        modest_recpt_view_set_recipients (MODEST_RECPT_VIEW(label_value), value);
@@ -209,29 +217,33 @@ modest_mail_header_view_set_header_default (TnyHeaderView *self, TnyHeader *head
                bcc = tny_header_get_bcc (header);
 
                if (subject)
-                       add_header (MODEST_MAIL_HEADER_VIEW (self), _("<b>Subject:</b>"), subject);
+                       add_header (MODEST_MAIL_HEADER_VIEW (self), _("mail_va_subject"), subject);
                if (priv->is_outgoing) {
                        gchar *sent = modest_text_utils_get_display_date (tny_header_get_date_sent (header));
-                       gtk_label_set_markup (GTK_LABEL (priv->fromto_label), _("<b>To:</b>"));
+                       gchar *bolded_label = g_strconcat ("<b>", _("mail_va_to"), "</b>", NULL);
+                       gtk_label_set_markup (GTK_LABEL (priv->fromto_label), bolded_label);
+                       g_free (bolded_label);
                        if (to)
                                modest_recpt_view_set_recipients (MODEST_RECPT_VIEW (priv->fromto_contents), to);
                        if (priv->is_draft)
-                               add_header (MODEST_MAIL_HEADER_VIEW (self), _("<b>Last saved:</b>"), sent);
+                               add_header (MODEST_MAIL_HEADER_VIEW (self), _("fixme_Last saved:"), sent);
                        else
-                               add_header (MODEST_MAIL_HEADER_VIEW (self), _("<b>Sent:</b>"), sent);
+                               add_header (MODEST_MAIL_HEADER_VIEW (self), _("fixme_Sent:"), sent);
                        g_free (sent);
                } else {
                        gchar *received = modest_text_utils_get_display_date (tny_header_get_date_received (header));
-                       gtk_label_set_markup (GTK_LABEL (priv->fromto_label), _("<b>From:</b>"));
+                       gchar *bolded_label = g_strconcat ("<b>", _("mail_va_from"), "</b>", NULL);
+                       gtk_label_set_markup (GTK_LABEL (priv->fromto_label), bolded_label);
+                       g_free (bolded_label);
                        if (from)
                                modest_recpt_view_set_recipients (MODEST_RECPT_VIEW (priv->fromto_contents), from);
-                       add_header (MODEST_MAIL_HEADER_VIEW (self), _("<b>Received:</b>"), received);
+                       add_header (MODEST_MAIL_HEADER_VIEW (self), _("fixme_Received:"), received);
                        g_free (received);
                }
                if (cc)
-                       add_recpt_header (MODEST_MAIL_HEADER_VIEW (self), _("<b>Cc:</b>"), cc);
+                       add_recpt_header (MODEST_MAIL_HEADER_VIEW (self), _("mail_va_cc"), cc);
                if (bcc)
-                       add_recpt_header (MODEST_MAIL_HEADER_VIEW (self), _("<b>Bcc:</b>"), bcc);
+                       add_recpt_header (MODEST_MAIL_HEADER_VIEW (self), _("mail_va_hotfix1"), bcc);
        }
 
        gtk_widget_show_all (GTK_WIDGET (self));
index 221ab73..e726529 100644 (file)
@@ -667,7 +667,7 @@ size_allocate (GtkWidget *widget,
        ModestMsgView *msg_view = MODEST_MSG_VIEW (widget);
        ModestMsgViewPrivate *priv = MODEST_MSG_VIEW_GET_PRIVATE (msg_view);
        gboolean hadj_value_changed, vadj_value_changed;
-       GtkAllocation headers_allocation, html_allocation;
+       GtkAllocation headers_allocation, html_allocation, view_allocation;
        GtkAdjustment *html_vadj;
 
        if (GTK_WIDGET_MAPPED (widget) &&
@@ -680,9 +680,11 @@ size_allocate (GtkWidget *widget,
        set_hadjustment_values (msg_view, &hadj_value_changed);
        set_vadjustment_values (msg_view, &vadj_value_changed);
 
+       get_view_allocation (msg_view, &view_allocation);
+
        headers_allocation.x = 0;
        headers_allocation.y = 0;
-       headers_allocation.width = allocation->width;
+       headers_allocation.width = view_allocation.width;
        if (priv->headers_box)
                headers_allocation.height = GTK_WIDGET (priv->headers_box)->requisition.height;
        else
@@ -692,19 +694,16 @@ size_allocate (GtkWidget *widget,
 
        html_allocation.x = 0;
        html_allocation.y = headers_allocation.height;
-       html_allocation.width = allocation->width;
+       html_allocation.width = view_allocation.width;
        html_allocation.height = MAX ((gint) html_vadj->upper, (gint)(priv->vadj->upper - headers_allocation.height));
 
        if (GTK_WIDGET_REALIZED (widget)) {
-               GtkAllocation view_allocation;
                gdk_window_move_resize (widget->window,
                                        allocation->x,
                                        allocation->y,
                                        allocation->width,
                                        allocation->height);
 
-               get_view_allocation (msg_view, &view_allocation);
-
                gdk_window_move_resize (priv->view_window,
                                        view_allocation.x,
                                        view_allocation.y,