Changeset 783

Show
Ignore:
Timestamp:
08/25/06 16:30:58
Author:
pvanhoof
Message:

Added a tny_msg_view_iface_clear API

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/ChangeLog

    r782 r783  
     108-25-2006  Philip Van Hoof <pvanhoof@gnome.org> 
     2 
     3        * Added the tny_msg_view_iface_clear API 
     4 
     5        * This was a major API change 
     6 
    1708-25-2006  Philip Van Hoof <pvanhoof@gnome.org> 
    28 
  • trunk/libtinymailui-gtk/tny-header-view.c

    r779 r783  
    6363{ 
    6464        TnyHeaderViewPriv *priv = TNY_HEADER_VIEW_GET_PRIVATE (self); 
    65         gchar *str; 
    6665 
    6766        if (G_LIKELY (priv->header)) 
    6867                g_object_unref (G_OBJECT (priv->header)); 
    69         g_object_ref (G_OBJECT (header));  
    70  
    71         priv->header = header; 
    72  
    73         gtk_label_set_text (GTK_LABEL (priv->to_label), tny_header_iface_get_to (header)); 
    74         gtk_label_set_text (GTK_LABEL (priv->from_label), tny_header_iface_get_from (header)); 
    75         gtk_label_set_text (GTK_LABEL (priv->subject_label), tny_header_iface_get_subject (header)); 
    76  
    77         str = _get_readable_date (tny_header_iface_get_date_sent (header)); 
    78         gtk_label_set_text (GTK_LABEL (priv->date_label), (const gchar*)str); 
    79         g_free (str); 
    80  
     68     
     69        if (header) 
     70        { 
     71                gchar *str; 
     72                g_object_ref (G_OBJECT (header));  
     73 
     74                priv->header = header; 
     75 
     76                gtk_label_set_text (GTK_LABEL (priv->to_label), tny_header_iface_get_to (header)); 
     77                gtk_label_set_text (GTK_LABEL (priv->from_label), tny_header_iface_get_from (header)); 
     78                gtk_label_set_text (GTK_LABEL (priv->subject_label), tny_header_iface_get_subject (header)); 
     79 
     80                str = _get_readable_date (tny_header_iface_get_date_sent (header)); 
     81                gtk_label_set_text (GTK_LABEL (priv->date_label), (const gchar*)str); 
     82                g_free (str); 
     83        } else priv->header = NULL; 
     84     
    8185        return; 
    8286} 
  • trunk/libtinymailui-gtk/tny-msg-view.c

    r780 r783  
    258258        TnyMsgViewPriv *priv = TNY_MSG_VIEW_GET_PRIVATE (self); 
    259259 
    260         g_return_if_fail (msg); 
    261  
    262260        if (G_LIKELY (priv->msg)) 
    263261                g_object_unref (G_OBJECT (priv->msg)); 
    264  
    265         g_object_ref (G_OBJECT (msg)); 
    266         priv->msg = msg; 
    267  
    268         reload_msg (self); 
    269  
    270         return; 
     262     
     263        if (msg) 
     264        { 
     265                g_object_ref (G_OBJECT (msg)); 
     266                priv->msg = msg; 
     267                reload_msg (self); 
     268        } 
     269     
     270        return; 
     271
     272 
     273static void 
     274tny_msg_view_clear (TnyMsgViewIface *self) 
     275
     276        TnyMsgViewPriv *priv = TNY_MSG_VIEW_GET_PRIVATE (self); 
     277 
     278        GtkTextBuffer *buffer = gtk_text_view_get_buffer (priv->textview); 
     279        gtk_widget_hide (priv->attachview_sw); 
     280        gtk_text_buffer_set_text (buffer, "", 0); 
     281        tny_header_view_iface_set_header (priv->headerview, NULL); 
     282        gtk_widget_hide (GTK_WIDGET (priv->headerview)); 
     283     
     284        return; 
    271285} 
    272286 
     
    386400        klass->set_save_strategy_func = tny_msg_view_set_save_strategy; 
    387401        klass->set_unavailable_func = tny_msg_view_set_unavailable; 
    388  
     402        klass->clear_func = tny_msg_view_clear; 
     403     
    389404        return; 
    390405} 
  • trunk/libtinymailui-mozembed/tny-moz-embed-msg-view.c

    r780 r783  
    305305        TnyMozEmbedMsgViewPriv *priv = TNY_MOZ_EMBED_MSG_VIEW_GET_PRIVATE (self); 
    306306 
    307         g_return_if_fail (msg); 
    308307     
    309308        if (G_LIKELY (priv->msg)) 
    310309                g_object_unref (G_OBJECT (priv->msg)); 
    311310     
    312         g_object_ref (G_OBJECT (msg)); 
    313         priv->msg = msg; 
    314  
    315         reload_msg (self); 
    316  
    317         return; 
     311        if (msg) 
     312        { 
     313                g_object_ref (G_OBJECT (msg)); 
     314                priv->msg = msg; 
     315                reload_msg (self); 
     316        } 
     317
     318 
     319static void 
     320tny_moz_embed_msg_view_clear (TnyMsgViewIface *self) 
     321
     322        TnyMozEmbedMsgViewPriv *priv = TNY_MOZ_EMBED_MSG_VIEW_GET_PRIVATE (self); 
     323 
     324        GtkTextBuffer *buffer = gtk_text_view_get_buffer (priv->textview); 
     325        gtk_widget_hide (priv->attachview_sw); 
     326        gtk_text_buffer_set_text (buffer, "", 0); 
     327        tny_header_view_iface_set_header (priv->headerview, NULL); 
     328        gtk_widget_hide (GTK_WIDGET (priv->headerview)); 
     329     
     330        return; 
    318331} 
    319332 
     
    440453        klass->set_save_strategy_func = tny_mozembed_msg_view_set_save_strategy; 
    441454        klass->set_unavailable_func = tny_mozembed_msg_view_set_unavailable; 
     455        klass->clear_func = tny_moz_embed_msg_view_clear; 
    442456 
    443457        return; 
  • trunk/libtinymailui/tny-msg-view-iface.c

    r762 r783  
    2222#include <tny-msg-view-iface.h> 
    2323 
     24 
     25/** 
     26 * tny_msg_view_iface_clear: 
     27 * @self: A #TnyMsgViewIface instance 
     28 * 
     29 * Clear the view (show nothing) 
     30 *  
     31 **/ 
     32void 
     33tny_msg_view_iface_clear (TnyMsgViewIface *self) 
     34{ 
     35#ifdef DEBUG 
     36        if (!TNY_MSG_VIEW_IFACE_GET_CLASS (self)->clear_func) 
     37                g_critical ("You must implement tny_msg_view_iface_clear\n"); 
     38#endif 
     39 
     40        TNY_MSG_VIEW_IFACE_GET_CLASS (self)->clear_func (self); 
     41        return; 
     42} 
    2443 
    2544 
  • trunk/libtinymailui/tny-msg-view-iface.h

    r715 r783  
    4747        void (*set_save_strategy_func) (TnyMsgViewIface *self, TnySaveStrategyIface *strategy); 
    4848        void (*set_unavailable_func)   (TnyMsgViewIface *self, TnyHeaderIface *header); 
     49        void (*clear_func)             (TnyMsgViewIface *self); 
     50     
    4951}; 
    5052 
     
    5456void  tny_msg_view_iface_set_save_strategy (TnyMsgViewIface *self, TnySaveStrategyIface *strategy); 
    5557void  tny_msg_view_iface_set_unavailable   (TnyMsgViewIface *self, TnyHeaderIface *header); 
     58void  tny_msg_view_iface_clear             (TnyMsgViewIface *self); 
    5659 
    5760 
  • trunk/tinymail/tny-summary-view.c

    r775 r783  
    113113                empty_model = GTK_TREE_MODEL (gtk_list_store_new (1, G_TYPE_STRING)); 
    114114        set_header_view_model (GTK_TREE_VIEW (priv->header_view), empty_model); 
    115  
     115         
     116        tny_msg_view_iface_clear (priv->msg_view); 
     117     
    116118        if (priv->current_accounts) 
    117119        {