Changeset 363
- Timestamp:
- 05/22/06 21:33:31
- Files:
-
- trunk/libtinymailui-gtk/Makefile.am (modified) (2 diffs)
- trunk/libtinymailui-gtk/tny-msg-header-view.c (added)
- trunk/libtinymailui-gtk/tny-msg-header-view.h (added)
- trunk/libtinymailui-gtk/tny-msg-view.c (modified) (8 diffs)
- trunk/libtinymailui-mozembed/tny-moz-embed-msg-view.c (modified) (9 diffs)
- trunk/libtinymailui/Makefile.am (modified) (2 diffs)
- trunk/libtinymailui/tny-msg-header-view-iface.c (added)
- trunk/libtinymailui/tny-msg-header-view-iface.h (added)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/libtinymailui-gtk/Makefile.am
r347 r363 17 17 tny-account-tree-model.h \ 18 18 tny-attach-list-model.h \ 19 tny-text-buffer-stream.h 19 tny-text-buffer-stream.h \ 20 tny-msg-header-view.h 20 21 21 22 libtinymailui_gtk_1_0_la_SOURCES = \ … … 28 29 tny-attach-list-model-priv.h \ 29 30 tny-attach-list-model.c \ 30 tny-text-buffer-stream.c 31 tny-text-buffer-stream.c \ 32 tny-msg-header-view.c 31 33 32 34 libtinymailui_gtk_1_0_la_LIBADD = \ trunk/libtinymailui-gtk/tny-msg-view.c
r347 r363 30 30 #include <tny-text-buffer-stream.h> 31 31 #include <tny-attach-list-model.h> 32 #include <tny-msg-header-view-iface.h> 33 #include <tny-msg-header-view.h> 32 34 33 35 #ifdef GNOME … … 48 50 { 49 51 TnyMsgIface *msg; 50 GtkTextView *headerview, *textview; 52 GtkTextView *textview; 53 TnyMsgHeaderViewIface *headerview; 51 54 GtkIconView *attachview; 52 55 GtkWidget *attachview_sw; … … 57 60 (G_TYPE_INSTANCE_GET_PRIVATE ((o), TNY_TYPE_MSG_VIEW, TnyMsgViewPriv)) 58 61 59 60 /* TODO: refactor */61 static gchar *62 _get_readable_date (const time_t file_time_raw)63 {64 struct tm *file_time;65 gchar readable_date[64];66 gsize readable_date_size;67 68 file_time = localtime (&file_time_raw);69 70 readable_date_size = strftime (readable_date, 63, "%Y-%m-%d, %-I:%M %p", file_time);71 72 return g_strdup (readable_date);73 }74 75 62 static void 76 63 reload_msg (TnyMsgViewIface *self) … … 79 66 80 67 GtkTextIter hiter; 81 GtkTextBuffer *headerbuffer = gtk_text_view_get_buffer (priv->headerview);82 68 GtkTextBuffer *buffer = gtk_text_view_get_buffer (priv->textview); 83 69 TnyStreamIface *dest = TNY_STREAM_IFACE (tny_text_buffer_stream_new (buffer)); … … 90 76 gtk_widget_hide (priv->attachview_sw); 91 77 92 gtk_text_buffer_set_text (headerbuffer, "", 0); 93 gtk_text_buffer_set_text (buffer, "", 0); 94 95 gtk_text_buffer_get_start_iter (headerbuffer, &hiter); 96 97 str = "From: "; 98 gtk_text_buffer_insert (headerbuffer, &hiter, str, strlen (str)); 99 str = tny_msg_header_iface_get_from (header); 100 gtk_text_buffer_insert (headerbuffer, &hiter, str, strlen (str)); 101 str = "\n"; 102 gtk_text_buffer_insert (headerbuffer, &hiter, str, strlen (str)); 103 104 str = "To: "; 105 gtk_text_buffer_insert (headerbuffer, &hiter, str, strlen (str)); 106 str = tny_msg_header_iface_get_to (header); 107 gtk_text_buffer_insert (headerbuffer, &hiter, str, strlen (str)); 108 str = "\n"; 109 gtk_text_buffer_insert (headerbuffer, &hiter, str, strlen (str)); 110 111 str = "Subject: "; 112 gtk_text_buffer_insert (headerbuffer, &hiter, str, strlen (str)); 113 str = tny_msg_header_iface_get_subject (header); 114 gtk_text_buffer_insert (headerbuffer, &hiter, str, strlen (str)); 115 str = "\n"; 116 gtk_text_buffer_insert (headerbuffer, &hiter, str, strlen (str)); 117 118 str = "Date: "; 119 gtk_text_buffer_insert (headerbuffer, &hiter, str, strlen (str)); 120 str = (gchar*)_get_readable_date (tny_msg_header_iface_get_date_sent (header)); 121 gtk_text_buffer_insert (headerbuffer, &hiter, str, strlen (str)); 122 g_free ((gchar*)str); 123 78 tny_msg_header_view_iface_set_header (priv->headerview, header); 79 gtk_widget_show (GTK_WIDGET (priv->headerview)); 124 80 125 81 while (G_LIKELY (parts)) … … 324 280 gtk_icon_view_set_column_spacing (priv->attachview, 10); 325 281 326 priv->headerview = GTK_TEXT_VIEW (gtk_text_view_new ()); 327 328 headerbuffer = gtk_text_view_get_buffer (priv->headerview); 329 330 gtk_text_buffer_create_tag (headerbuffer, "bold", 331 "weight", PANGO_WEIGHT_BOLD, NULL); 282 priv->headerview = 283 TNY_MSG_HEADER_VIEW_IFACE (tny_msg_header_view_new ()); 332 284 333 285 priv->textview = GTK_TEXT_VIEW (gtk_text_view_new ()); 334 286 335 gtk_text_view_set_editable (priv->headerview, FALSE);336 287 gtk_text_view_set_editable (priv->textview, FALSE); 337 288 … … 347 298 gtk_widget_show (GTK_WIDGET (vbox)); 348 299 349 gtk_widget_ show(GTK_WIDGET (priv->headerview));300 gtk_widget_hide (GTK_WIDGET (priv->headerview)); 350 301 gtk_widget_show (GTK_WIDGET (priv->textview)); 351 302 gtk_widget_show (GTK_WIDGET (priv->attachview)); … … 365 316 if (G_LIKELY (priv->save_strategy)) 366 317 g_object_unref (G_OBJECT (priv->save_strategy)); 318 319 if (G_LIKELY (priv->headerview)) 320 g_object_unref (G_OBJECT (priv->headerview)); 367 321 368 322 (*parent_class->finalize) (object); trunk/libtinymailui-mozembed/tny-moz-embed-msg-view.c
r347 r363 30 30 #include <tny-moz-embed-stream.h> 31 31 #include <tny-attach-list-model.h> 32 #include <tny-msg-header-view-iface.h> 33 #include <tny-msg-header-view.h> 32 34 33 35 #ifdef GNOME … … 48 50 { 49 51 TnyMsgIface *msg; 50 GtkTextView *headerview, *textview; 52 GtkTextView *textview; 53 TnyMsgHeaderViewIface *headerview; 51 54 GtkMozEmbed *htmlview; 52 55 … … 60 63 61 64 62 /* TODO: refactor */63 static gchar *64 _get_readable_date (const time_t file_time_raw)65 {66 struct tm *file_time;67 gchar readable_date[64];68 gsize readable_date_size;69 70 file_time = localtime (&file_time_raw);71 72 readable_date_size = strftime (readable_date, 63, "%Y-%m-%d, %-I:%M %p", file_time);73 74 return g_strdup (readable_date);75 }76 77 65 static gpointer 78 66 remove_html_stread_hack (gpointer data) … … 95 83 96 84 GtkTextIter hiter; 97 GtkTextBuffer *headerbuffer = gtk_text_view_get_buffer (priv->headerview);98 85 TnyMsgHeaderIface *header = TNY_MSG_HEADER_IFACE (tny_msg_iface_get_header (priv->msg)); 99 86 GList *parts = (GList*)tny_msg_iface_get_parts (priv->msg); … … 105 92 gtk_widget_hide (priv->attachview_sw); 106 93 107 gtk_text_buffer_set_text (headerbuffer, "", 0); 108 109 gtk_text_buffer_get_start_iter (headerbuffer, &hiter); 110 111 str = "From: "; 112 gtk_text_buffer_insert (headerbuffer, &hiter, str, strlen (str)); 113 str = tny_msg_header_iface_get_from (header); 114 gtk_text_buffer_insert (headerbuffer, &hiter, str, strlen (str)); 115 str = "\n"; 116 gtk_text_buffer_insert (headerbuffer, &hiter, str, strlen (str)); 117 118 str = "To: "; 119 gtk_text_buffer_insert (headerbuffer, &hiter, str, strlen (str)); 120 str = tny_msg_header_iface_get_to (header); 121 gtk_text_buffer_insert (headerbuffer, &hiter, str, strlen (str)); 122 str = "\n"; 123 gtk_text_buffer_insert (headerbuffer, &hiter, str, strlen (str)); 124 125 str = "Subject: "; 126 gtk_text_buffer_insert (headerbuffer, &hiter, str, strlen (str)); 127 str = tny_msg_header_iface_get_subject (header); 128 gtk_text_buffer_insert (headerbuffer, &hiter, str, strlen (str)); 129 str = "\n"; 130 gtk_text_buffer_insert (headerbuffer, &hiter, str, strlen (str)); 131 132 str = "Date: "; 133 gtk_text_buffer_insert (headerbuffer, &hiter, str, strlen (str)); 134 str = (gchar*)_get_readable_date (tny_msg_header_iface_get_date_sent (header)); 135 gtk_text_buffer_insert (headerbuffer, &hiter, str, strlen (str)); 136 g_free ((gchar*)str); 94 tny_msg_header_view_iface_set_header (priv->headerview, header); 95 gtk_widget_show (GTK_WIDGET (priv->headerview)); 137 96 138 97 while (G_LIKELY (parts)) … … 152 111 GtkTextBuffer *buffer = gtk_text_view_get_buffer (priv->textview); 153 112 TnyStreamIface *dest = NULL; 154 155 /*TODO: Add a filter (decoder) here (like em_format_format_text) */156 113 157 114 gtk_text_buffer_set_text (buffer, "", 0); … … 380 337 gtk_icon_view_set_column_spacing (priv->attachview, 10); 381 338 382 priv->headerview = GTK_TEXT_VIEW (gtk_text_view_new ()); 383 384 headerbuffer = gtk_text_view_get_buffer (priv->headerview); 385 386 gtk_text_buffer_create_tag (headerbuffer, "bold", 387 "weight", PANGO_WEIGHT_BOLD, NULL); 339 priv->headerview = 340 TNY_MSG_HEADER_VIEW_IFACE (tny_msg_header_view_new ()); 388 341 389 342 priv->textview = GTK_TEXT_VIEW (gtk_text_view_new ()); 390 343 priv->htmlview = GTK_MOZ_EMBED (gtk_moz_embed_new ()); 391 344 392 gtk_text_view_set_editable (priv->headerview, FALSE);393 394 345 gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET (priv->headerview), FALSE, FALSE, 0); 395 346 … … 409 360 gtk_widget_show (GTK_WIDGET (priv->textview)); 410 361 411 gtk_widget_ show(GTK_WIDGET (priv->headerview));362 gtk_widget_hide (GTK_WIDGET (priv->headerview)); 412 363 gtk_widget_show (GTK_WIDGET (priv->attachview)); 413 364 … … 427 378 if (G_LIKELY (priv->save_strategy)) 428 379 g_object_unref (G_OBJECT (priv->save_strategy)); 380 381 if (G_LIKELY (priv->headerview)) 382 g_object_unref (G_OBJECT (priv->headerview)); 429 383 430 384 (*parent_class->finalize) (object); trunk/libtinymailui/Makefile.am
r347 r363 10 10 tny-save-strategy-iface.h \ 11 11 tny-msg-window-iface.h \ 12 tny-platform-factory-iface.h 12 tny-platform-factory-iface.h \ 13 tny-msg-header-view-iface.h 13 14 14 15 libtinymailui_1_0_la_SOURCES = \ … … 18 19 tny-msg-view-iface.c \ 19 20 tny-msg-window-iface.c \ 20 tny-platform-factory-iface.c 21 tny-platform-factory-iface.c \ 22 tny-msg-header-view-iface.c 21 23 22 24 libtinymailui_1_0_la_LIBADD = \
