X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Fwidgets%2Fmodest-compact-mail-header-view.c;h=d5652e1a0c4468d26f79e0131716ba334b930e77;hb=52477aacdf91ada69605908ef5ce9af164afde32;hp=b7b6abd839e7a696927a1ccc38b27f75597969f2;hpb=cd15528c466d7330bfa51bfd83825e3bf982a40b;p=modest diff --git a/src/widgets/modest-compact-mail-header-view.c b/src/widgets/modest-compact-mail-header-view.c index b7b6abd..d5652e1 100644 --- a/src/widgets/modest-compact-mail-header-view.c +++ b/src/widgets/modest-compact-mail-header-view.c @@ -50,15 +50,11 @@ typedef struct _ModestCompactMailHeaderViewPriv ModestCompactMailHeaderViewPriv; struct _ModestCompactMailHeaderViewPriv { GtkWidget *headers_vbox; - GtkWidget *subject_box; GtkWidget *fromto_label; GtkWidget *fromto_contents; - GtkWidget *priority_icon; - GtkWidget *details_label; - GtkWidget *details_button; + GtkWidget *time_label; GtkWidget *date_label; - GtkWidget *subject_label; GSList *custom_labels; @@ -114,7 +110,6 @@ static const GtkWidget *modest_compact_mail_header_view_add_custom_header_defaul /* internal */ static void on_notify_style (GObject *obj, GParamSpec *spec, gpointer userdata); -static void on_details_button_clicked (GtkButton *button, gpointer userdata); static void update_style (ModestCompactMailHeaderView *self); static void set_date_time (ModestCompactMailHeaderView *compact_mail_header); static void fill_address (ModestCompactMailHeaderView *self); @@ -136,7 +131,9 @@ set_date_time (ModestCompactMailHeaderView *compact_mail_header) buffer = g_string_append_c (buffer, ' '); date_str = modest_datetime_formatter_format_time (priv->datetime_formatter, priv->date_to_show); buffer = g_string_append (buffer, date_str); - buffer = g_string_append (buffer, "\n"); + gtk_label_set_text (GTK_LABEL (priv->time_label), buffer->str); + g_string_free (buffer, TRUE); + buffer = g_string_new (""); modest_text_utils_strftime (date_buf, BUF_SIZE, _HL("wdgt_va_date_medium"), priv->date_to_show); buffer = g_string_append (buffer, date_buf); @@ -215,11 +212,6 @@ modest_compact_mail_header_view_set_header_default (TnyHeaderView *self, TnyHead subject = tny_header_dup_subject (header); - if (subject && (subject[0] != '\0')) - gtk_label_set_text (GTK_LABEL (priv->subject_label), subject); - else - gtk_label_set_text (GTK_LABEL (priv->subject_label), _("mail_va_no_subject")); - if (priv->is_outgoing && priv->is_draft) { priv->date_to_show = tny_header_get_date_sent (header); } else { @@ -332,46 +324,22 @@ modest_compact_mail_header_view_instance_init (GTypeInstance *instance, gpointer { ModestCompactMailHeaderView *self = (ModestCompactMailHeaderView *)instance; ModestCompactMailHeaderViewPriv *priv = MODEST_COMPACT_MAIL_HEADER_VIEW_GET_PRIVATE (self); - GtkWidget *first_hbox, *second_hbox, *vbox, *main_vbox; - PangoAttrList *attr_list; + GtkWidget *from_date_hbox, *vbox, *main_vbox; GtkWidget *main_align; + GtkWidget *headers_date_hbox; priv->header = NULL; priv->custom_labels = NULL; main_vbox = gtk_vbox_new (FALSE, 0); vbox = gtk_vbox_new (FALSE, 0); - first_hbox = gtk_hbox_new (FALSE, MODEST_MARGIN_HALF); - - priv->subject_box = gtk_hbox_new (FALSE, MODEST_MARGIN_HALF); /* We set here the style for widgets using standard text color. For * widgets with secondary text color, we set them in update_style, * as we want to track the style changes and update the color properly */ - priv->subject_label = gtk_label_new (NULL); - gtk_misc_set_alignment (GTK_MISC (priv->subject_label), 0.0, 1.0); - gtk_label_set_ellipsize (GTK_LABEL (priv->subject_label), PANGO_ELLIPSIZE_NONE); - attr_list = pango_attr_list_new (); - pango_attr_list_insert (attr_list, pango_attr_scale_new (PANGO_SCALE_LARGE)); - gtk_label_set_attributes (GTK_LABEL (priv->subject_label), attr_list); - pango_attr_list_unref (attr_list); - - priv->details_button = gtk_button_new (); - gtk_widget_set_no_show_all (priv->details_button, TRUE); - gtk_widget_show (priv->details_button); - priv->details_label = gtk_label_new (_("mcen_ti_message_properties")); - gtk_widget_show (priv->details_label); - gtk_misc_set_alignment (GTK_MISC (priv->details_label), 1.0, 0.5); - gtk_container_add (GTK_CONTAINER (priv->details_button), priv->details_label); - gtk_button_set_relief (GTK_BUTTON (priv->details_button), GTK_RELIEF_NONE); - gtk_widget_set_size_request (priv->details_button, 200, -1); - - gtk_box_pack_end (GTK_BOX (priv->subject_box), priv->subject_label, TRUE, TRUE, 0); - gtk_box_pack_start (GTK_BOX (first_hbox), priv->subject_box, TRUE, TRUE, 0); - gtk_box_pack_start (GTK_BOX (first_hbox), priv->details_button, FALSE, FALSE, 0); - - second_hbox = gtk_hbox_new (FALSE, MODEST_MARGIN_DOUBLE); + from_date_hbox = gtk_hbox_new (FALSE, MODEST_MARGIN_DOUBLE); + headers_date_hbox = gtk_hbox_new (FALSE, MODEST_MARGIN_DOUBLE); priv->fromto_label = gtk_label_new (NULL); gtk_misc_set_alignment (GTK_MISC (priv->fromto_label), 0.0, 1.0); @@ -382,22 +350,24 @@ modest_compact_mail_header_view_instance_init (GTypeInstance *instance, gpointer priv->date_label = gtk_label_new (NULL); gtk_label_set_justify (GTK_LABEL (priv->date_label), GTK_JUSTIFY_RIGHT); - gtk_misc_set_alignment (GTK_MISC (priv->date_label), 1.0, 1.0); + gtk_misc_set_alignment (GTK_MISC (priv->date_label), 1.0, 0.0); gtk_misc_set_padding (GTK_MISC (priv->date_label), MODEST_MARGIN_DOUBLE, 0); - gtk_box_pack_start (GTK_BOX (second_hbox), priv->fromto_label, FALSE, FALSE, 0); - gtk_box_pack_start (GTK_BOX (second_hbox), priv->fromto_contents, TRUE, TRUE, 0); - gtk_box_pack_start (GTK_BOX (second_hbox), priv->date_label, FALSE, FALSE, 0); + priv->time_label = gtk_label_new (NULL); + gtk_label_set_justify (GTK_LABEL (priv->time_label), GTK_JUSTIFY_RIGHT); + gtk_misc_set_alignment (GTK_MISC (priv->time_label), 1.0, 1.0); + gtk_misc_set_padding (GTK_MISC (priv->time_label), MODEST_MARGIN_DOUBLE, 0); + + gtk_box_pack_start (GTK_BOX (from_date_hbox), priv->fromto_label, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (from_date_hbox), priv->fromto_contents, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (from_date_hbox), priv->time_label, FALSE, FALSE, 0); - gtk_box_pack_start (GTK_BOX (vbox), first_hbox, FALSE, FALSE, 0); - gtk_box_pack_start (GTK_BOX (vbox), second_hbox, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (vbox), from_date_hbox, FALSE, FALSE, 0); update_style (self); g_signal_connect (G_OBJECT (self), "notify::style", G_CALLBACK (on_notify_style), (gpointer) self); - g_signal_connect (G_OBJECT (priv->details_button), "clicked", G_CALLBACK (on_details_button_clicked), instance); - priv->datetime_formatter = modest_datetime_formatter_new (); g_signal_connect (G_OBJECT (priv->datetime_formatter), "format-changed", G_CALLBACK (datetime_format_changed), (gpointer) self); @@ -407,7 +377,9 @@ modest_compact_mail_header_view_instance_init (GTypeInstance *instance, gpointer g_object_ref (priv->headers_vbox); gtk_box_pack_start (GTK_BOX (main_vbox), vbox, FALSE, FALSE, 0); - gtk_box_pack_start (GTK_BOX (main_vbox), priv->headers_vbox, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (headers_date_hbox), priv->headers_vbox, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (headers_date_hbox), priv->date_label, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (main_vbox), headers_date_hbox, FALSE, FALSE, 0); main_align = gtk_alignment_new (0.0, 0.0, 1.0, 1.0); gtk_alignment_set_padding (GTK_ALIGNMENT (main_align), 0, 0, MODEST_MARGIN_DOUBLE, 0); @@ -582,21 +554,6 @@ modest_compact_mail_header_view_set_priority_default (ModestMailHeaderView *head priv = MODEST_COMPACT_MAIL_HEADER_VIEW_GET_PRIVATE (headers_view); priv->priority_flags = flags & TNY_HEADER_FLAG_PRIORITY_MASK ; - - if (priv->priority_flags == TNY_HEADER_FLAG_NORMAL_PRIORITY) { - if (priv->priority_icon != NULL) { - gtk_widget_destroy (priv->priority_icon); - priv->priority_icon = NULL; - } - } else if (priv->priority_flags == TNY_HEADER_FLAG_HIGH_PRIORITY) { - priv->priority_icon = gtk_image_new_from_icon_name (MODEST_HEADER_ICON_HIGH, GTK_ICON_SIZE_MENU); - gtk_box_pack_start (GTK_BOX (priv->subject_box), priv->priority_icon, FALSE, FALSE, 0); - gtk_widget_show (priv->priority_icon); - } else if (priv->priority_flags == TNY_HEADER_FLAG_LOW_PRIORITY) { - priv->priority_icon = gtk_image_new_from_icon_name (MODEST_HEADER_ICON_LOW, GTK_ICON_SIZE_MENU); - gtk_box_pack_start (GTK_BOX (priv->subject_box), priv->priority_icon, FALSE, FALSE, 0); - gtk_widget_show (priv->priority_icon); - } } static gboolean @@ -631,12 +588,6 @@ modest_compact_mail_header_view_set_loading_default (ModestMailHeaderView *heade priv = MODEST_COMPACT_MAIL_HEADER_VIEW_GET_PRIVATE (headers_view); priv->is_loading = is_loading; - gtk_widget_set_sensitive (priv->details_button, !is_loading); - if (is_loading) { - gtk_widget_hide (priv->details_label); - } else { - gtk_widget_show (priv->details_label); - } } static void @@ -681,19 +632,12 @@ update_style (ModestCompactMailHeaderView *self) gtk_label_set_attributes (GTK_LABEL (priv->fromto_label), attr_list); pango_attr_list_unref (attr_list); - /* style of details label in details button */ - attr_list = pango_attr_list_new (); - pango_attr_list_insert (attr_list, pango_attr_foreground_new (color.red, color.green, color.blue)); - pango_attr_list_insert (attr_list, pango_attr_scale_new (PANGO_SCALE_SMALL)); - pango_attr_list_insert (attr_list, pango_attr_underline_new (PANGO_UNDERLINE_SINGLE)); - gtk_label_set_attributes (GTK_LABEL (priv->details_label), attr_list); - pango_attr_list_unref (attr_list); - /* style of date time label */ attr_list = pango_attr_list_new (); pango_attr_list_insert (attr_list, pango_attr_foreground_new (color.red, color.green, color.blue)); pango_attr_list_insert (attr_list, pango_attr_scale_new (PANGO_SCALE_SMALL)); gtk_label_set_attributes (GTK_LABEL (priv->date_label), attr_list); + gtk_label_set_attributes (GTK_LABEL (priv->time_label), attr_list); pango_attr_list_unref (attr_list); /* set style of custom headers */ @@ -748,13 +692,3 @@ fill_address (ModestCompactMailHeaderView *self) } -static void -on_details_button_clicked (GtkButton *button, - gpointer userdata) -{ - ModestCompactMailHeaderView *self = (ModestCompactMailHeaderView *) userdata; - - g_return_if_fail (MODEST_IS_COMPACT_MAIL_HEADER_VIEW (self)); - - g_signal_emit_by_name (G_OBJECT (self), "show-details"); -}