Changeset 3225
- Timestamp:
- 01/03/08 19:00:37
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/libtinymailui-webkit/tny-webkit-html-mime-part-view.c
r3171 r3225 49 49 typedef struct _TnyWebkitHtmlMimePartViewPriv TnyWebkitHtmlMimePartViewPriv; 50 50 51 struct _TnyWebkitHtmlMimePartViewPriv 52 { 51 struct _TnyWebkitHtmlMimePartViewPriv { 53 52 TnyMimePart *part; 53 TnyStatusCallback status_callback; 54 gpointer status_user_data; 54 55 }; 55 56 … … 80 81 TnyWebkitHtmlMimePartViewPriv *priv = TNY_WEBKIT_HTML_MIME_PART_VIEW_GET_PRIVATE (self); 81 82 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) { 87 87 TnyStream *dest; 88 88 89 dest = tny_webkit_stream_new ( GTK_WEBKIT (self));89 dest = tny_webkit_stream_new (self); 90 90 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); 96 95 } 97 96 … … 103 102 { 104 103 105 gtk_webkit_render_data (GTK_WEBKIT (self), "", 0, "file:///", "text/html");104 webkit_web_view_load_html_string (WEBKIT_WEB_VIEW (self), "", ""); 106 105 107 106 return; … … 116 115 **/ 117 116 TnyMimePartView* 118 tny_webkit_html_mime_part_view_new ( void)117 tny_webkit_html_mime_part_view_new (TnyStatusCallback status_callback, gpointer status_user_data) 119 118 { 120 119 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; 121 124 122 125 return TNY_MIME_PART_VIEW (self); … … 128 131 TnyWebkitHtmlMimePartView *self = (TnyWebkitHtmlMimePartView*) instance; 129 132 TnyWebkitHtmlMimePartViewPriv *priv = TNY_WEBKIT_HTML_MIME_PART_VIEW_GET_PRIVATE (self); 130 131 133 priv->part = NULL; 132 133 134 return; 134 135 } … … 139 140 TnyWebkitHtmlMimePartView *self = (TnyWebkitHtmlMimePartView *)object; 140 141 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); 145 144 (*parent_class->finalize) (object); 146 147 145 return; 148 146 } trunk/libtinymailui-webkit/tny-webkit-html-mime-part-view.h
r2825 r3225 22 22 23 23 24 #include <gtk/gtk.h> 24 #include <webkit-gtk/webkit.h> 25 25 26 #include <glib-object.h> 26 27 #include <tny-shared.h> … … 44 45 struct _TnyWebkitHtmlMimePartView 45 46 { 46 GObjectparent;47 WebKitWebView parent; 47 48 }; 48 49 49 50 struct _TnyWebkitHtmlMimePartViewClass 50 51 { 51 GObjectClass parent_class;52 WebKitWebViewClass parent_class; 52 53 }; 53 54 54 55 GType tny_webkit_html_mime_part_view_get_type (void); 55 TnyMimePartView* tny_webkit_html_mime_part_view_new ( void);56 TnyMimePartView* tny_webkit_html_mime_part_view_new (TnyStatusCallback status_callback, gpointer status_user_data); 56 57 57 58 G_END_DECLS trunk/libtinymailui-webkit/tny-webkit-stream.c
r2825 r3225 38 38 39 39 40 struct _TnyWebkitStreamPriv 41 { 42 G tkWebkit *embed;40 struct _TnyWebkitStreamPriv { 41 TnyMimePartView *part_view; 42 GString *buffer; 43 43 }; 44 44 … … 87 87 tny_webkit_stream_reset (TnyStream *self) 88 88 { 89 g_string_free (priv->buffer, TRUE); 90 priv->buffer = g_string_new (); 89 91 return 0; 90 92 } … … 94 96 { 95 97 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, ""); 97 101 return (ssize_t) n; 98 102 } … … 109 113 TnyWebkitStreamPriv *priv = TNY_WEBKIT_STREAM_GET_PRIVATE (self); 110 114 111 112 113 115 return 0; 114 116 } 115 117 116 118 static gboolean 117 tny_webkit_stream_is_eos (TnyStream *self)119 tny_webkit_stream_is_eos (TnyStream *self) 118 120 { 119 121 return TRUE; … … 130 132 **/ 131 133 TnyStream* 132 tny_webkit_stream_new ( void)134 tny_webkit_stream_new (TnyMimePartView *part_view) 133 135 { 134 136 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); 136 139 return TNY_STREAM (self); 137 140 } … … 142 145 TnyWebkitStream *self = (TnyWebkitStream *)instance; 143 146 TnyWebkitStreamPriv *priv = g_slice_new (TnyWebkitStreamPriv); 144 145 147 self->priv = priv; 146 148 priv->buffer = g_string_new (); 147 149 return; 148 150 } … … 153 155 TnyWebkitStream *self = (TnyWebkitStream *)object; 154 156 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); 159 160 g_slice_free (TnyWebkitStreamPriv, priv); 160 161 161 (*parent_class->finalize) (object); 162 163 162 return; 164 163 } trunk/libtinymailui-webkit/tny-webkit-stream.h
r2825 r3225 53 53 54 54 GType tny_webkit_stream_get_type (void); 55 TnyStream* tny_webkit_stream_new ( void);55 TnyStream* tny_webkit_stream_new (TnyMimePartView *part_view); 56 56 57 57
