Changeset 3225

Show
Ignore:
Timestamp:
01/03/08 19:00:37
Author:
pvanhoof
Message:

Some future webkit code

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/libtinymailui-webkit/tny-webkit-html-mime-part-view.c

    r3171 r3225  
    4949typedef struct _TnyWebkitHtmlMimePartViewPriv TnyWebkitHtmlMimePartViewPriv; 
    5050 
    51 struct _TnyWebkitHtmlMimePartViewPriv 
    52 
     51struct _TnyWebkitHtmlMimePartViewPriv { 
    5352        TnyMimePart *part; 
     53        TnyStatusCallback status_callback; 
     54        gpointer status_user_data; 
    5455}; 
    5556 
     
    8081        TnyWebkitHtmlMimePartViewPriv *priv = TNY_WEBKIT_HTML_MIME_PART_VIEW_GET_PRIVATE (self); 
    8182 
    82         if (G_LIKELY (priv->part)) 
    83                 g_object_unref (G_OBJECT (priv->part)); 
    84  
    85         if (part) 
    86         { 
     83        if (priv->part) 
     84                g_object_unref (priv->part); 
     85 
     86        if (part) { 
    8787                TnyStream *dest; 
    8888 
    89                 dest = tny_webkit_stream_new (GTK_WEBKIT (self)); 
     89                dest = tny_webkit_stream_new (self); 
    9090                tny_stream_reset (dest); 
    91                 tny_mime_part_decode_to_stream (part, dest, NULL); 
    92                 g_object_unref (G_OBJECT (dest)); 
    93  
    94                 g_object_ref (G_OBJECT (part)); 
    95                 priv->part = part; 
     91                tny_mime_part_decode_to_stream_async (part, dest, NULL,  
     92                        priv->status_callback, priv->status_user_data); 
     93                g_object_unref (dest); 
     94                priv->part = (TnyMimePart *) g_object_ref (part); 
    9695        } 
    9796 
     
    103102{ 
    104103 
    105         gtk_webkit_render_data (GTK_WEBKIT (self), "",  0, "file:///", "text/html"); 
     104        webkit_web_view_load_html_string (WEBKIT_WEB_VIEW (self), "", ""); 
    106105 
    107106        return; 
     
    116115 **/ 
    117116TnyMimePartView* 
    118 tny_webkit_html_mime_part_view_new (void
     117tny_webkit_html_mime_part_view_new (TnyStatusCallback status_callback, gpointer status_user_data
    119118{ 
    120119        TnyWebkitHtmlMimePartView *self = g_object_new (TNY_TYPE_WEBKIT_HTML_MIME_PART_VIEW, NULL); 
     120        TnyWebkitHtmlMimePartViewPriv *priv = TNY_WEBKIT_HTML_MIME_PART_VIEW_GET_PRIVATE (self); 
     121 
     122        priv->status_callback = status_callback; 
     123        priv->status_user_data = status_user_data; 
    121124 
    122125        return TNY_MIME_PART_VIEW (self); 
     
    128131        TnyWebkitHtmlMimePartView *self  = (TnyWebkitHtmlMimePartView*) instance; 
    129132        TnyWebkitHtmlMimePartViewPriv *priv = TNY_WEBKIT_HTML_MIME_PART_VIEW_GET_PRIVATE (self); 
    130  
    131133        priv->part = NULL; 
    132  
    133134        return; 
    134135} 
     
    139140        TnyWebkitHtmlMimePartView *self = (TnyWebkitHtmlMimePartView *)object;   
    140141        TnyWebkitHtmlMimePartViewPriv *priv = TNY_WEBKIT_HTML_MIME_PART_VIEW_GET_PRIVATE (self); 
    141  
    142         if (G_LIKELY (priv->part)) 
    143                 g_object_unref (G_OBJECT (priv->part)); 
    144  
     142        if (priv->part) 
     143                g_object_unref (priv->part); 
    145144        (*parent_class->finalize) (object); 
    146  
    147145        return; 
    148146} 
  • trunk/libtinymailui-webkit/tny-webkit-html-mime-part-view.h

    r2825 r3225  
    2222 
    2323 
    24 #include <gtk/gtk.h> 
     24#include <webkit-gtk/webkit.h> 
     25 
    2526#include <glib-object.h> 
    2627#include <tny-shared.h> 
     
    4445struct _TnyWebkitHtmlMimePartView 
    4546{ 
    46         GObject parent; 
     47        WebKitWebView parent; 
    4748}; 
    4849 
    4950struct _TnyWebkitHtmlMimePartViewClass 
    5051{ 
    51         GObjectClass parent_class; 
     52        WebKitWebViewClass parent_class; 
    5253}; 
    5354 
    5455GType tny_webkit_html_mime_part_view_get_type (void); 
    55 TnyMimePartView* tny_webkit_html_mime_part_view_new (void); 
     56TnyMimePartView* tny_webkit_html_mime_part_view_new (TnyStatusCallback status_callback, gpointer status_user_data); 
    5657 
    5758G_END_DECLS 
  • trunk/libtinymailui-webkit/tny-webkit-stream.c

    r2825 r3225  
    3838 
    3939 
    40 struct _TnyWebkitStreamPriv 
    41 
    42         GtkWebkit *embed
     40struct _TnyWebkitStreamPriv { 
     41        TnyMimePartView *part_view; 
     42        GString *buffer
    4343}; 
    4444 
     
    8787tny_webkit_stream_reset (TnyStream *self) 
    8888{ 
     89        g_string_free (priv->buffer, TRUE); 
     90        priv->buffer = g_string_new (); 
    8991        return 0; 
    9092} 
     
    9496{ 
    9597        TnyWebkitStreamPriv *priv = TNY_WEBKIT_STREAM_GET_PRIVATE (self); 
    96  
     98        g_string_append (priv->buffer, data); 
     99        webkit_web_view_load_html_string (WEBKIT_WEB_VIEW (priv->part_view),  
     100                (const gchar *) priv->buffer->str, ""); 
    97101        return (ssize_t) n; 
    98102} 
     
    109113        TnyWebkitStreamPriv *priv = TNY_WEBKIT_STREAM_GET_PRIVATE (self); 
    110114 
    111  
    112  
    113115        return 0; 
    114116} 
    115117 
    116118static gboolean 
    117 tny_webkit_stream_is_eos   (TnyStream *self) 
     119tny_webkit_stream_is_eos (TnyStream *self) 
    118120{ 
    119121        return TRUE; 
     
    130132 **/ 
    131133TnyStream* 
    132 tny_webkit_stream_new (void
     134tny_webkit_stream_new (TnyMimePartView *part_view
    133135{ 
    134136        TnyWebkitStream *self = g_object_new (TNY_TYPE_WEBKIT_STREAM, NULL); 
    135  
     137        TnyWebkitStreamPriv *priv = TNY_WEBKIT_STREAM_GET_PRIVATE (self); 
     138        priv->part_view = (TnyMimePartView *) g_object_ref (part_view); 
    136139        return TNY_STREAM (self); 
    137140} 
     
    142145        TnyWebkitStream *self = (TnyWebkitStream *)instance; 
    143146        TnyWebkitStreamPriv *priv = g_slice_new (TnyWebkitStreamPriv); 
    144  
    145147        self->priv = priv; 
    146  
     148        priv->buffer = g_string_new (); 
    147149        return; 
    148150} 
     
    153155        TnyWebkitStream *self = (TnyWebkitStream *)object; 
    154156        TnyWebkitStreamPriv *priv = TNY_WEBKIT_STREAM_GET_PRIVATE (self); 
    155  
    156         if (priv->embed) 
    157                 g_object_unref (G_OBJECT (priv->embed)); 
    158  
     157        if (priv->part_view) 
     158                g_object_unref (priv->part_view); 
     159        g_string_free (priv->buffer, TRUE); 
    159160        g_slice_free (TnyWebkitStreamPriv, priv); 
    160  
    161161        (*parent_class->finalize) (object); 
    162  
    163162        return; 
    164163} 
  • trunk/libtinymailui-webkit/tny-webkit-stream.h

    r2825 r3225  
    5353 
    5454GType tny_webkit_stream_get_type (void); 
    55 TnyStream* tny_webkit_stream_new (void); 
     55TnyStream* tny_webkit_stream_new (TnyMimePartView *part_view); 
    5656 
    5757