[evolution-rss] initial portings to evo's webkit
- From: Lucian Langa <lucilanga src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-rss] initial portings to evo's webkit
- Date: Thu, 3 May 2012 12:25:55 +0000 (UTC)
commit 0d1a825e901d1f180def56c78234bcd0049f74f7
Author: Lucian Langa <lucilanga gnome org>
Date: Thu May 3 14:25:20 2012 +0200
initial portings to evo's webkit
src/parser.c | 7 ++
src/rss-image.c | 42 +++++++-
src/rss.c | 312 +++++++++++++++++++++++++++++++++++++++++++++++++++----
3 files changed, 335 insertions(+), 26 deletions(-)
---
diff --git a/src/parser.c b/src/parser.c
index f5b422b..381166b 100644
--- a/src/parser.c
+++ b/src/parser.c
@@ -81,7 +81,11 @@ rss_html_url_decode(const char *html, int len)
if ((url = (gchar *)xmlGetProp((xmlNodePtr)doc, (xmlChar *)"src"))) {
if (strstr(url, "img:")) {
gchar *tmp = decode_image_cache_filename(url);
+#if (EVOLUTION_VERSION < 30400)
duri = g_strconcat("file://", tmp, NULL);
+#else
+ duri = g_strconcat("evo-file://", tmp, NULL);
+#endif
g_free(tmp);
xmlSetProp(
(xmlNodePtr)doc,
@@ -959,6 +963,9 @@ process_images(gchar *text, gchar *link, gboolean decode, EMFormatHTML *format)
#if (EVOLUTION_VERSION >= 23000)
g_free(name);
name = g_filename_to_uri (tname, NULL, NULL);
+#if (EVOLUTION_VERSION < 30400)
+ name = g_strconcat("evo-", name, NULL);
+#endif
g_free(tname);
#else
name = tname;
diff --git a/src/rss-image.c b/src/rss-image.c
index d15a9ba..166c9ef 100644
--- a/src/rss-image.c
+++ b/src/rss-image.c
@@ -46,6 +46,11 @@ gsize pixfilelen;
extern GHashTable *icons;
GHashTable *missing;
+#if (EVOLUTION_VERSION >= 30400)
+#include <mail/e-mail-reader.h>
+extern EShellView *rss_shell_view;
+#endif
+
void
#if LIBSOUP_VERSION < 2003000
finish_image_feedback (SoupMessage *msg, FEED_IMAGE *user_data);
@@ -314,11 +319,25 @@ finish_image_feedback (SoupSession *soup_sess, SoupMessage *msg, FEED_IMAGE *use
}
g_free(mime_type);
- if (user_data->data == current_pobject)
+ if (user_data->data == current_pobject) {
+ EShellContent *shell_content;
+ EMailReader *reader;
+ EMailDisplay *display;
+
+ g_print("rEdraw\n");
+ g_print("p:%p\n", rss_shell_view);
+ shell_content = e_shell_view_get_shell_content (rss_shell_view);
+ reader = E_MAIL_READER (shell_content);
+ display = e_mail_reader_get_mail_display (reader);
+ //e_mail_display_reload (display);
+ e_mail_display_load_images(display);
+// em_format_redraw(display);
+// e_web_view_reload (E_WEB_VIEW(display));
+ }
#if EVOLUTION_VERSION >= 23190
- em_format_queue_redraw((EMFormat *)user_data->data);
+ //em_format_queue_redraw((EMFormat *)user_data->data);
#else
- em_format_redraw((EMFormat *)user_data->data);
+ //em_format_redraw((EMFormat *)user_data->data);
#endif
g_free(user_data->url);
g_free(user_data);
@@ -579,6 +598,9 @@ verify_image(gchar *uri, EMFormatHTML *format)
{
gchar *nurl, *turl;
gchar *feed_dir, *name;
+#if (EVOLUTION_VERSION >= 30400)
+ gchar *tmp = NULL;
+#endif
gchar *scheme, *tname;
gchar *result = NULL;
gchar *duri = NULL;
@@ -637,8 +659,14 @@ out: if (!g_file_test(duri, G_FILE_TEST_EXISTS)) {
tname = decode_image_cache_filename(name);
g_free(name);
#if (EVOLUTION_VERSION >= 23000)
+#if (EVOLUTION_VERSION < 30400)
result = g_filename_to_uri (tname, NULL, NULL);
#else
+ tmp = g_filename_to_uri (tname, NULL, NULL);
+ result = g_strconcat("evo-", tmp, NULL);
+ g_free(tmp);
+#endif
+#else
result = g_strdup(tname);
#endif
if (!file_is_image(tname, 1)) {
@@ -660,15 +688,23 @@ out: if (!g_file_test(duri, G_FILE_TEST_EXISTS)) {
* http://git.gnome.org/browse/evolution/commit/?id=d9deaf9bbc7fd9d0c72d5cf9b1981e3a56ed1162
*/
#if (EVOLUTION_VERSION >= 23000)
+#if (EVOLUTION_VERSION < 30400)
return g_filename_to_uri(duri?duri:uri, NULL, NULL);
#else
+ return g_strconcat("evo-file://", duri?duri:uri, NULL);
+#endif
+#else
return duri?duri:uri;
#endif
}
fail:
#if (EVOLUTION_VERSION >= 23000)
+#if (EVOLUTION_VERSION < 30400)
result = g_filename_to_uri (pixfile, NULL, NULL);
#else
+ result = g_strconcat("evo-file://", pixfile, NULL);
+#endif
+#else
result = g_strdup(pixfile);
#endif
if (duri)
diff --git a/src/rss.c b/src/rss.c
index 0f1e2a9..08c01a2 100644
--- a/src/rss.c
+++ b/src/rss.c
@@ -96,8 +96,11 @@ int rss_verbose_debug = 0;
#endif
#endif
-#include <mail/em-format-html.h>
+#if EVOLUTION_VERSION >= 30400
#include <mail/em-format-hook.h>
+#endif
+
+//#include <mail/em-format-html.h>
#include <sys/types.h>
#include <dirent.h>
@@ -211,6 +214,7 @@ typedef struct CFL {
static volatile int org_gnome_rss_controls_counter_id = 0;
+#if 0
struct _org_gnome_rss_controls_pobject {
EMFormatHTMLPObject object;
@@ -227,7 +231,30 @@ struct _org_gnome_rss_controls_pobject {
gchar *mem;
guint chandler; //content handler_id
guint sh_handler; //size handler_id for horizontal
- guint counter; //general counter for carring various numbers
+ guint counter; //general counter for carring various number
+};
+#endif
+
+typedef struct _EMFormatRSSControlsPURI EMFormatRSSControlsPURI;
+
+struct _EMFormatRSSControlsPURI {
+
+ EMFormatPURI puri;
+
+ EMFormatHTML *format;
+ GtkWidget *html;
+ GtkWidget *container;
+ GtkWidget *forwbut; //browser forward button
+ GtkWidget *backbut; //browser back button
+ GtkWidget *stopbut; //browser stop button
+ CamelStream *stream;
+ gchar *website;
+ guint is_html;
+ gchar *mem;
+ guint chandler; //content handler_id
+ guint sh_handler; //size handler_id for horizontal
+ guint counter; //general counter for carring various number
+ xmlChar *buff;
};
GtkWidget *RSS_BTN_BACK;
@@ -285,7 +312,7 @@ void fetch_comments(gchar *url, gchar *mainurl, EMFormatHTML *stream);
guint fallback_engine(void);
gchar *print_comments(gchar *url, gchar *stream, EMFormatHTML *format);
-static void refresh_cb (GtkWidget *button, EMFormatHTMLPObject *pobject);
+//static void refresh_cb (GtkWidget *button, EMFormatHTMLPObject *pobject);
#ifdef HAVE_WEBKIT
void webkit_set_history(gchar *base);
@@ -993,6 +1020,7 @@ rss_select_folder(gchar *folder_name)
#endif
}
+/*
static void
summary_cb (GtkWidget *button, EMFormatHTMLPObject *pobject)
{
@@ -1003,9 +1031,22 @@ summary_cb (GtkWidget *button, EMFormatHTMLPObject *pobject)
#else
em_format_redraw((EMFormat *)pobject);
#endif
+}*/
+
+static void
+summary_cb (GtkWidget *button, EMFormatPURI *puri)
+{
+ rf->cur_format = rf->cur_format^1;
+ rf->chg_format = 1;
+//#if EVOLUTION_VERSION >= 23190
+// em_format_queue_redraw((EMFormat *)puri);
+//#else
+ em_format_redraw((EMFormat *)puri);
+//#endif
}
+#if 0
static void
back_cb (GtkWidget *button, EMFormatHTMLPObject *pobject)
{
@@ -1056,6 +1097,7 @@ stop_cb (GtkWidget *button, EMFormatHTMLPObject *pobject)
webkit_web_view_stop_loading(WEBKIT_WEB_VIEW(rf->mozembed));
#endif
}
+#endif
void
reload_cb (GtkWidget *button, gpointer data)
@@ -1106,6 +1148,7 @@ void
rss_browser_update_content (
GtkWidget *widget, GtkAllocation *event, gpointer data)
{
+#if 0
struct _org_gnome_rss_controls_pobject *po = data;
CamelStream *stream = NULL;
UB *fi;
@@ -1163,6 +1206,7 @@ rss_browser_update_content (
}
}
}
+#endif
}
#ifdef HAVE_GECKO
@@ -1445,6 +1489,7 @@ webkit_history_status (WebKitWebView *view,
GParamSpec *spec,
GtkWidget *data)
{
+#if 0
struct _org_gnome_rss_controls_pobject *po =
(struct _org_gnome_rss_controls_pobject *) data;
WebKitLoadStatus status = webkit_web_view_get_load_status (view);
@@ -1461,6 +1506,7 @@ webkit_history_status (WebKitWebView *view,
gtk_widget_set_sensitive(po->backbut, TRUE);
break;
}
+#endif
}
#endif
@@ -1751,7 +1797,55 @@ rss_get_mail_session(void)
}
#endif
+static GtkWidget *
+org_gnome_rss_browser (EMFormat *emf,
+ EMFormatPURI *puri,
+ GCancellable *cancellable)
+{
+ GtkWidget *box;
+ EMFormatRSSControlsPURI *po = (EMFormatRSSControlsPURI *) puri;
+
+ GtkWidget *vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 1);
+ GtkWidget *hbox2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+
+ GtkWidget *label3 = gtk_label_new ("");
+ GtkWidget *button, *button2, *button3, *button4, *button5;
+ gchar *mem = g_strdup_printf(" <b>%s: </b>", _("Fefdslkajed view"));
+
+ RSS_BTN_STOP = gtk_button_new_from_stock (GTK_STOCK_STOP);
+ RSS_BTN_FORW = gtk_button_new_from_stock (GTK_STOCK_GO_FORWARD);
+ RSS_BTN_BACK = gtk_button_new_from_stock (GTK_STOCK_GO_BACK);
+ po->stopbut = RSS_BTN_STOP;
+ po->forwbut = RSS_BTN_FORW;
+ po->backbut = RSS_BTN_BACK;
+
+ gtk_label_set_markup_with_mnemonic(GTK_LABEL(label3), mem);
+ gtk_widget_show (label3);
+ gtk_box_pack_start (GTK_BOX (hbox2), label3, TRUE, TRUE, 0);
+
+ button = gtk_button_new_with_label(
+ rf->cur_format ? _("Show Summary") :
+ _("Show Full Text"));
+
+ gtk_button_set_image (
+ GTK_BUTTON (button),
+ gtk_image_new_from_icon_name (
+ rf->cur_format ? "text-x-generic" : "text-html",
+ GTK_ICON_SIZE_BUTTON));
+
+ gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_HALF);
+ g_signal_connect (button, "clicked", G_CALLBACK(summary_cb), po);
+ gtk_box_pack_start (GTK_BOX (hbox2), button, TRUE, TRUE, 0);
+ gtk_widget_show_all (button);
+
+
+ gtk_box_pack_start (GTK_BOX (vbox), hbox2, FALSE, FALSE, 0);
+ gtk_widget_show_all (vbox);
+ return vbox;
+}
+
#ifdef HAVE_RENDERKIT
+#if 0
static gboolean
org_gnome_rss_browser (EMFormatHTML *efh, void *eb, EMFormatHTMLPObject *pobject)
{
@@ -1917,6 +2011,7 @@ org_gnome_rss_browser (EMFormatHTML *efh, void *eb, EMFormatHTMLPObject *pobject
}
#endif
+#if 0
static gboolean
org_gnome_rss_rfrcomm (EMFormatHTML *efh, void *eb,
EMFormatHTMLPObject *pobject)
@@ -1944,7 +2039,52 @@ org_gnome_rss_rfrcomm (EMFormatHTML *efh, void *eb,
gtk_container_add ((GtkContainer *) eb, hbox);
return TRUE;
}
+#endif
+
+static GtkWidget *
+org_gnome_rss_controls (EMFormat *emf,
+ EMFormatPURI *puri,
+ GCancellable *cancellable)
+{
+ GtkWidget *box;
+ EMFormatRSSControlsPURI *po = (EMFormatRSSControlsPURI *) puri;
+#if GTK_MAJOR_VERSION < 3
+ GtkWidget *vbox = gtk_vbox_new (TRUE, 1);
+ GtkWidget *hbox2 = gtk_hbox_new (FALSE, 0);
+#else
+ GtkWidget *vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 1);
+ GtkWidget *hbox2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+#endif
+ GtkWidget *label3 = gtk_label_new ("");
+ GtkWidget *button, *button2, *button3, *button4, *button5;
+ gchar *mem = g_strdup_printf(" <b>%s: </b>", _("Feed view"));
+
+ gtk_label_set_markup_with_mnemonic(GTK_LABEL(label3), mem);
+ gtk_widget_show (label3);
+ gtk_box_pack_start (GTK_BOX (hbox2), label3, TRUE, TRUE, 0);
+
+ button = gtk_button_new_with_label(
+ rf->cur_format ? _("Show Summary") :
+ _("Show Full Text"));
+
+ gtk_button_set_image (
+ GTK_BUTTON (button),
+ gtk_image_new_from_icon_name (
+ rf->cur_format ? "text-x-generic" : "text-html",
+ GTK_ICON_SIZE_BUTTON));
+
+ gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_HALF);
+ g_signal_connect (button, "clicked", G_CALLBACK(summary_cb), po);
+ gtk_box_pack_start (GTK_BOX (hbox2), button, TRUE, TRUE, 0);
+ gtk_widget_show_all (button);
+
+ gtk_box_pack_start (GTK_BOX (vbox), hbox2, FALSE, FALSE, 0);
+ gtk_widget_show_all (vbox);
+
+ return vbox;
+}
+#if 0
static gboolean
org_gnome_rss_controls (EMFormatHTML *efh, void *eb, EMFormatHTMLPObject *pobject)
{
@@ -2062,6 +2202,8 @@ org_gnome_rss_controls (EMFormatHTML *efh, void *eb, EMFormatHTMLPObject *pobjec
return TRUE;
}
+#endif
+#endif
void
cancel_comments_session(SoupSession *sess)
@@ -2070,6 +2212,7 @@ cancel_comments_session(SoupSession *sess)
soup_session_abort(sess);
}
+#if (EVOLUTION_VERSION < 30400)
void free_rss_controls(EMFormatHTMLPObject *o);
void
@@ -2137,6 +2280,7 @@ free_rss_browser(EMFormatHTMLPObject *o)
g_free(po->website);
browser_fetching = 0;
}
+#endif
void org_gnome_evolution_presend (EPlugin *ep, EMEventTargetComposer *t);
@@ -2170,6 +2314,57 @@ org_gnome_evolution_presend (EPlugin *ep, EMEventTargetComposer *t)
#endif
}
+static void
+write_rss_controls (EMFormat *emf,
+ EMFormatPURI *puri,
+ CamelStream *stream,
+ EMFormatWriterInfo *info,
+ GCancellable *cancellable)
+{
+ gchar *str = g_strdup_printf (
+ "<object type=\"application/x-org-gnome-rss-controls\" "
+ "height=\"auto\" data=\"%s\" id=\"%s\"></object>",
+ puri->uri, puri->uri);
+ camel_stream_write_string (stream, str, cancellable, NULL);
+
+ g_free (str);
+}
+
+static void
+write_rss_content (EMFormat *emf,
+ EMFormatPURI *puri,
+ CamelStream *stream,
+ EMFormatWriterInfo *info,
+ GCancellable *cancellable)
+{
+ EMFormatRSSControlsPURI *po = (EMFormatRSSControlsPURI *) puri;
+ camel_stream_write_string (stream, po->buff, cancellable, NULL);
+
+}
+
+static void
+write_rss_error (EMFormat *emf,
+ EMFormatPURI *puri,
+ CamelStream *stream,
+ EMFormatWriterInfo *info,
+ GCancellable *cancellable)
+{
+ gchar *str = g_strdup_printf (
+ "<div style=\"border: solid #%06x 1px; background-color: #%06x; color: #%06x;\">\n",
+ frame_colour & 0xffffff, content_colour & 0xffffff, text_colour & 0xffffff);
+ camel_stream_write_string (stream, str, NULL, NULL);
+ g_free (str);
+ camel_stream_write_string (stream,
+ "<div style=\"border: solid 0px; padding: 4px;\">\n",
+ NULL, NULL);
+ camel_stream_write_string (stream,
+ "<h3>Formatting error!</h3>"
+ "Feed article corrupted! Cannot format article.",
+ NULL, NULL);
+ camel_stream_write_string (stream, "</div></div>", NULL, NULL);
+}
+
+
void org_gnome_cooly_format_rss(void *ep, EMFormatHookTarget *t);
void org_gnome_cooly_format_rss(void *ep, EMFormatHookTarget *t) //camelmimepart
@@ -2191,7 +2386,12 @@ void org_gnome_cooly_format_rss(void *ep, EMFormatHookTarget *t) //camelmimepart
EMFormatHTML *emfh = (EMFormatHTML *)t->format;
gchar *rfrclsid, *addr, *subject, *result;
const char *website;
+#if (EVOLUTION_VERSION < 30400)
struct _org_gnome_rss_controls_pobject *pobj;
+#else
+ EMFormatRSSControlsPURI *pobj;
+ gint len;
+#endif
gpointer is_html;
gchar *classid, *tmp;
xmlDoc *src;
@@ -2274,16 +2474,17 @@ void org_gnome_cooly_format_rss(void *ep, EMFormatHookTarget *t) //camelmimepart
if (rf->chg_format)
rf->chg_format = 0;
+#if (EVOLUTION_VERSION < 30400)
classid = g_strdup_printf ("org-gnome-rss-controls-%d",
org_gnome_rss_controls_counter_id);
org_gnome_rss_controls_counter_id++;
pobj = (struct _org_gnome_rss_controls_pobject *)
- em_format_html_add_pobject (
- (EMFormatHTML *) t->format,
- sizeof(*pobj),
- classid,
- message,
- (EMFormatHTMLPObjectFunc)org_gnome_rss_controls);
+ em_format_html_add_pobject (
+ (EMFormatHTML *) t->format,
+ sizeof(*pobj),
+ classid,
+ message,
+ (EMFormatHTMLPObjectFunc)org_gnome_rss_controls);
pobj->is_html = GPOINTER_TO_INT(is_html);
pobj->website = g_strstrip(g_strdup((gchar *)website));
pobj->stream = t->stream;
@@ -2294,12 +2495,29 @@ void org_gnome_cooly_format_rss(void *ep, EMFormatHookTarget *t) //camelmimepart
camel_stream_write_string (t->stream, str, NULL, NULL);
g_free(str);
g_free (classid);
+#else
+ len = t->part_id->len;
+ g_string_append (t->part_id, ".org-gnome-rss-controls");
+ pobj = (EMFormatRSSControlsPURI *) em_format_puri_new (
+ t->format, sizeof (EMFormatRSSControlsPURI),
+ t->part, t->part_id->str);
+ pobj->puri.widget_func = org_gnome_rss_controls;
+ pobj->puri.write_func = write_rss_controls;
+ pobj->puri.part = g_object_ref (t->part);
+ pobj->puri.is_attachment = FALSE;
+ pobj->website = g_strstrip(g_strdup((gchar *)website));
+ pobj->is_html = GPOINTER_TO_INT(is_html);
+ pobj->buff = str;
+ em_format_add_puri (t->format, (EMFormatPURI *) pobj);
+ g_string_truncate (t->part_id, len);
+#endif
if (rf->cur_format || (feedid && is_html && rf->cur_format)) {
#ifdef HAVE_RENDERKIT
guint engine = fallback_engine();
if (engine && engine != 10) {
+#if (EVOLUTION_VERSION < 30400)
char *classid = g_strdup_printf(
"org-gnome-rss-controls-%d",
org_gnome_rss_controls_counter_id);
@@ -2311,8 +2529,6 @@ void org_gnome_cooly_format_rss(void *ep, EMFormatHookTarget *t) //camelmimepart
classid,
message,
(EMFormatHTMLPObjectFunc)org_gnome_rss_browser);
- pobj->website = g_strstrip(g_strdup((gchar *)website));
- pobj->is_html = GPOINTER_TO_INT(is_html);
pobj->format = (EMFormatHTML *)t->format;
pobj->object.free = free_rss_browser;
pobj->part = t->part;
@@ -2327,9 +2543,26 @@ void org_gnome_cooly_format_rss(void *ep, EMFormatHookTarget *t) //camelmimepart
camel_stream_write_string (t->stream, str, NULL, NULL);
g_free (str);
g_free (classid);
+#else
+ len = t->part_id->len;
+ g_string_append (t->part_id, ".org-gnome-rss-browser");
+ pobj = (EMFormatRSSControlsPURI *) em_format_puri_new (
+ t->format, sizeof (EMFormatRSSControlsPURI),
+ t->part, t->part_id->str);
+ pobj->puri.widget_func = org_gnome_rss_browser;
+ pobj->puri.write_func = write_rss_content;
+ pobj->puri.part = g_object_ref (t->part);
+ pobj->puri.is_attachment = FALSE;
+ pobj->website = g_strstrip(g_strdup((gchar *)website));
+ pobj->is_html = GPOINTER_TO_INT(is_html);
+ pobj->buff = str;
+ em_format_add_puri (t->format, (EMFormatPURI *) pobj);
+ g_string_truncate (t->part_id, len);
+#endif
goto out;
}
#endif
+#if 0
//replace with unblocking
content = fetch_blocking(addr, NULL, NULL, textcb, NULL, &err);
if (err) {
@@ -2395,18 +2628,19 @@ void org_gnome_cooly_format_rss(void *ep, EMFormatHookTarget *t) //camelmimepart
g_free (str);
g_string_free(content, 1);
+#endif
} else {
gchar *wids;
xmlDoc *src;
guint width;
GtkWidget *obj;
-#if EVOLUTION_VERSION >= 23103
- EWebView *web_view;
- web_view = em_format_html_get_web_view (emfh);
- obj = (GtkWidget *)web_view;
-#else
- obj = (GtkWidget *)emfh->html;
-#endif
+//#if EVOLUTION_VERSION >= 23103
+// EWebView *web_view;
+// web_view = em_format_html_get_web_view (emfh);
+// obj = (GtkWidget *)web_view;
+//#else
+// obj = (GtkWidget *)emfh->html;
+//#endif
d("normal html rendering\n");
buffer = g_byte_array_new ();
@@ -2454,7 +2688,7 @@ void org_gnome_cooly_format_rss(void *ep, EMFormatHookTarget *t) //camelmimepart
(xmlChar *)"src");
gchar *real_image = verify_image(
(gchar *)url,
- emfh);
+ t->format);
if (real_image) {
xmlSetProp(
doc,
@@ -2515,6 +2749,7 @@ pixdone: g_free(real_image);
g_free(feed_dir);
#if EVOLUTION_VERSION >= 23000
feed_file = g_filename_to_uri(tmp_path, NULL, NULL);
+ feed_file = g_strconcat("evo-file://", tmp_path, NULL);
#else
feed_file = g_strdup(tmp_path);
#endif
@@ -2546,6 +2781,7 @@ pixdone: g_free(real_image);
NULL);
#if EVOLUTION_VERSION >= 23000
iconfile = g_filename_to_uri(tmp_file, NULL, NULL);
+ iconfile = g_strconcat("evo-file://", tmp_file, NULL);
#else
iconfile = g_strdup(tmp_file);
#endif
@@ -2574,7 +2810,7 @@ render_body: if (category) {
content_colour & 0xffffff,
text_colour & 0xffffff,
buff);
- if (comments && gconf_client_get_bool (rss_gconf,
+/* if (comments && gconf_client_get_bool (rss_gconf,
GCONF_KEY_SHOW_COMMENTS,
NULL)) {
if (commstream) {
@@ -2617,10 +2853,25 @@ render_body: if (category) {
fetch_comments(comments, g_strdup(uri), (EMFormatHTML *)t->format);
}
g_string_append (fbuffer, "</div>");
- }
+ }*/
g_string_append (fbuffer, "</div>");
+//#endif
}
+#if (EVOLUTION_VERSION < 30400)
camel_stream_write (t->stream, fbuffer->str, fbuffer->len, NULL, NULL);
+#else
+ len = t->part_id->len;
+ g_string_append (t->part_id, ".org-gnome-rss-content");
+ pobj = (EMFormatRSSControlsPURI *) em_format_puri_new (
+ t->format, sizeof (EMFormatRSSControlsPURI),
+ t->part, t->part_id->str);
+ pobj->puri.write_func = write_rss_content;
+ pobj->puri.part = g_object_ref (t->part);
+ pobj->puri.is_attachment = FALSE;
+ pobj->buff = fbuffer->str;
+ em_format_add_puri (t->format, (EMFormatPURI *) pobj);
+ g_string_truncate (t->part_id, len);
+#endif
#if (DATASERVER_VERSION >= 2031001)
g_object_unref(fstream);
#else
@@ -2633,6 +2884,7 @@ out: if (addr)
g_free(addr);
return;
fmerror:
+#if (EVOLUTION_VERSION < 30400)
str = g_strdup_printf (
"<div style=\"border: solid #%06x 1px; background-color: #%06x; color: #%06x;\">\n",
frame_colour & 0xffffff, content_colour & 0xffffff, text_colour & 0xffffff);
@@ -2643,9 +2895,21 @@ fmerror:
NULL, NULL);
camel_stream_write_string (t->stream,
"<h3>Formatting error!</h3>"
- "Feed article corrupted! Cannot format article.",
+ "Feed article corrupted! Cannot format article.",
NULL, NULL);
camel_stream_write_string (t->stream, "</div></div>", NULL, NULL);
+#else
+ len = t->part_id->len;
+ g_string_append (t->part_id, ".org-gnome-rss-error");
+ pobj = (EMFormatRSSControlsPURI *) em_format_puri_new (
+ t->format, sizeof (EMFormatRSSControlsPURI),
+ t->part, t->part_id->str);
+ pobj->puri.write_func = write_rss_error;
+ pobj->puri.part = g_object_ref (t->part);
+ pobj->puri.is_attachment = FALSE;
+ em_format_add_puri (t->format, (EMFormatPURI *) pobj);
+ g_string_truncate (t->part_id, len);
+#endif
return;
}
@@ -3751,13 +4015,14 @@ finish_comments (SoupSession *soup_sess, SoupMessage *msg, EMFormatHTML *user_da
if (reload && !rf->cur_format) {
#if EVOLUTION_VERSION >= 23190
- em_format_queue_redraw((EMFormat *)user_data);
+ //em_format_queue_redraw((EMFormat *)user_data);
#else
em_format_redraw((EMFormat *)user_data);
#endif
}
}
+#if 0
static void
refresh_cb (GtkWidget *button, EMFormatHTMLPObject *pobject)
{
@@ -3767,6 +4032,7 @@ refresh_cb (GtkWidget *button, EMFormatHTMLPObject *pobject)
em_format_redraw((EMFormat *)pobject);
#endif
}
+#endif
gchar *
print_comments(gchar *url, gchar *stream, EMFormatHTML *format)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]