Changeset 363

Show
Ignore:
Timestamp:
05/22/06 21:33:31
Author:
pvanhoof
Message:

TnyMsgHeaderView-type added

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/libtinymailui-gtk/Makefile.am

    r347 r363  
    1717        tny-account-tree-model.h        \ 
    1818        tny-attach-list-model.h         \ 
    19         tny-text-buffer-stream.h 
     19        tny-text-buffer-stream.h        \ 
     20        tny-msg-header-view.h 
    2021 
    2122libtinymailui_gtk_1_0_la_SOURCES =      \ 
     
    2829        tny-attach-list-model-priv.h    \ 
    2930        tny-attach-list-model.c         \ 
    30         tny-text-buffer-stream.c 
     31        tny-text-buffer-stream.c        \ 
     32        tny-msg-header-view.c 
    3133 
    3234libtinymailui_gtk_1_0_la_LIBADD =       \ 
  • trunk/libtinymailui-gtk/tny-msg-view.c

    r347 r363  
    3030#include <tny-text-buffer-stream.h> 
    3131#include <tny-attach-list-model.h> 
     32#include <tny-msg-header-view-iface.h> 
     33#include <tny-msg-header-view.h> 
    3234 
    3335#ifdef GNOME 
     
    4850{ 
    4951        TnyMsgIface *msg; 
    50         GtkTextView *headerview, *textview; 
     52        GtkTextView *textview; 
     53        TnyMsgHeaderViewIface *headerview; 
    5154        GtkIconView *attachview; 
    5255        GtkWidget *attachview_sw; 
     
    5760        (G_TYPE_INSTANCE_GET_PRIVATE ((o), TNY_TYPE_MSG_VIEW, TnyMsgViewPriv)) 
    5861 
    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  
    7562static void 
    7663reload_msg (TnyMsgViewIface *self) 
     
    7966 
    8067        GtkTextIter hiter; 
    81         GtkTextBuffer *headerbuffer = gtk_text_view_get_buffer (priv->headerview); 
    8268        GtkTextBuffer *buffer = gtk_text_view_get_buffer (priv->textview); 
    8369        TnyStreamIface *dest = TNY_STREAM_IFACE (tny_text_buffer_stream_new (buffer)); 
     
    9076        gtk_widget_hide (priv->attachview_sw); 
    9177 
    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)); 
    12480 
    12581        while (G_LIKELY (parts)) 
     
    324280        gtk_icon_view_set_column_spacing (priv->attachview, 10); 
    325281 
    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 ()); 
    332284 
    333285        priv->textview = GTK_TEXT_VIEW (gtk_text_view_new ()); 
    334286 
    335         gtk_text_view_set_editable (priv->headerview, FALSE); 
    336287        gtk_text_view_set_editable (priv->textview, FALSE); 
    337288 
     
    347298        gtk_widget_show (GTK_WIDGET (vbox)); 
    348299 
    349         gtk_widget_show (GTK_WIDGET (priv->headerview)); 
     300        gtk_widget_hide (GTK_WIDGET (priv->headerview)); 
    350301        gtk_widget_show (GTK_WIDGET (priv->textview)); 
    351302        gtk_widget_show (GTK_WIDGET (priv->attachview)); 
     
    365316        if (G_LIKELY (priv->save_strategy)) 
    366317                g_object_unref (G_OBJECT (priv->save_strategy)); 
     318 
     319        if (G_LIKELY (priv->headerview)) 
     320                g_object_unref (G_OBJECT (priv->headerview)); 
    367321 
    368322        (*parent_class->finalize) (object); 
  • trunk/libtinymailui-mozembed/tny-moz-embed-msg-view.c

    r347 r363  
    3030#include <tny-moz-embed-stream.h> 
    3131#include <tny-attach-list-model.h> 
     32#include <tny-msg-header-view-iface.h> 
     33#include <tny-msg-header-view.h> 
    3234 
    3335#ifdef GNOME 
     
    4850{ 
    4951        TnyMsgIface *msg; 
    50         GtkTextView *headerview, *textview; 
     52        GtkTextView *textview; 
     53        TnyMsgHeaderViewIface *headerview; 
    5154        GtkMozEmbed *htmlview; 
    5255         
     
    6063 
    6164 
    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  
    7765static gpointer  
    7866remove_html_stread_hack (gpointer data) 
     
    9583 
    9684        GtkTextIter hiter; 
    97         GtkTextBuffer *headerbuffer = gtk_text_view_get_buffer (priv->headerview); 
    9885        TnyMsgHeaderIface *header = TNY_MSG_HEADER_IFACE (tny_msg_iface_get_header (priv->msg)); 
    9986        GList *parts = (GList*)tny_msg_iface_get_parts (priv->msg); 
     
    10592        gtk_widget_hide (priv->attachview_sw); 
    10693 
    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)); 
    13796 
    13897        while (G_LIKELY (parts)) 
     
    152111                        GtkTextBuffer *buffer = gtk_text_view_get_buffer (priv->textview); 
    153112                        TnyStreamIface *dest = NULL; 
    154  
    155                         /*TODO: Add a filter (decoder) here (like em_format_format_text) */ 
    156113 
    157114                        gtk_text_buffer_set_text (buffer, "", 0); 
     
    380337        gtk_icon_view_set_column_spacing (priv->attachview, 10); 
    381338 
    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 ()); 
    388341 
    389342        priv->textview = GTK_TEXT_VIEW (gtk_text_view_new ()); 
    390343        priv->htmlview = GTK_MOZ_EMBED (gtk_moz_embed_new ()); 
    391344 
    392         gtk_text_view_set_editable (priv->headerview, FALSE); 
    393  
    394345        gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET (priv->headerview), FALSE, FALSE, 0); 
    395346 
     
    409360        gtk_widget_show (GTK_WIDGET (priv->textview)); 
    410361 
    411         gtk_widget_show (GTK_WIDGET (priv->headerview)); 
     362        gtk_widget_hide (GTK_WIDGET (priv->headerview)); 
    412363        gtk_widget_show (GTK_WIDGET (priv->attachview)); 
    413364 
     
    427378        if (G_LIKELY (priv->save_strategy)) 
    428379                g_object_unref (G_OBJECT (priv->save_strategy)); 
     380 
     381        if (G_LIKELY (priv->headerview)) 
     382                g_object_unref (G_OBJECT (priv->headerview)); 
    429383 
    430384        (*parent_class->finalize) (object); 
  • trunk/libtinymailui/Makefile.am

    r347 r363  
    1010        tny-save-strategy-iface.h       \ 
    1111        tny-msg-window-iface.h          \ 
    12         tny-platform-factory-iface.h 
     12        tny-platform-factory-iface.h    \ 
     13        tny-msg-header-view-iface.h 
    1314 
    1415libtinymailui_1_0_la_SOURCES =          \ 
     
    1819        tny-msg-view-iface.c            \ 
    1920        tny-msg-window-iface.c          \ 
    20         tny-platform-factory-iface.c 
     21        tny-platform-factory-iface.c    \ 
     22        tny-msg-header-view-iface.c 
    2123 
    2224libtinymailui_1_0_la_LIBADD =           \