diff options
-rw-r--r-- | my-evolution/ChangeLog | 6 | ||||
-rw-r--r-- | my-evolution/e-summary-rdf.c | 14 | ||||
-rw-r--r-- | my-evolution/e-summary-weather.c | 17 |
3 files changed, 31 insertions, 6 deletions
diff --git a/my-evolution/ChangeLog b/my-evolution/ChangeLog index 9d203a1807..83a89e2dcb 100644 --- a/my-evolution/ChangeLog +++ b/my-evolution/ChangeLog @@ -1,3 +1,9 @@ +2001-07-16 Iain Holmes <iain@ximian.com> + + * e-summary-rdf.c (display_doc): Nicer error reporting. + + * e-summary-weather.c: Nicer error reporting. + 2001-07-13 Iain Holmes <iain@ximian.com> * e-summary-tasks.c: Fix the name of the icon. diff --git a/my-evolution/e-summary-rdf.c b/my-evolution/e-summary-rdf.c index 954e03fc4a..5fed306fff 100644 --- a/my-evolution/e-summary-rdf.c +++ b/my-evolution/e-summary-rdf.c @@ -296,7 +296,7 @@ tree_walk (xmlNodePtr root, g_string_append (html, tmp); g_free (tmp); } - g_string_append (html, "</UL></dl>"); + g_string_append (html, "</UL>"); } static void @@ -307,11 +307,16 @@ display_doc (RDF *r) html = g_string_new ("<dl><dt><img src=\"ico-rdf.png\" align=\"middle\" " "width=\"48\" height=\"48\"><b>"); - tree_walk (r->cache->root, r, html); + if (r->cache == NULL) { + g_string_append (html, _("There was an error downloading news feed</dt>")); + } else { + tree_walk (r->cache->root, r, html); + } if (r->html != NULL) { g_free (r->html); } + g_string_append (html, "</dl>"); r->html = html->str; g_string_free (html, FALSE); @@ -354,6 +359,7 @@ close_callback (GnomeVFSAsyncHandle *handle, } doc = xmlParseMemory (xml, strlen (xml)); +#if 0 if (doc == NULL) { if (r->html != NULL) { g_free (r->html); @@ -364,7 +370,7 @@ close_callback (GnomeVFSAsyncHandle *handle, g_free (xml); return; } - +#endif g_free (xml); r->cache = doc; @@ -412,7 +418,7 @@ open_callback (GnomeVFSAsyncHandle *handle, if (result != GNOME_VFS_OK) { r->html = e_utf8_from_locale_string (_("<b>Error downloading RDF</b>")); - e_summary_draw (r->summary); + display_doc (r); return; } diff --git a/my-evolution/e-summary-weather.c b/my-evolution/e-summary-weather.c index a2b3d5ffe3..597dee6325 100644 --- a/my-evolution/e-summary-weather.c +++ b/my-evolution/e-summary-weather.c @@ -34,6 +34,7 @@ struct _ESummaryWeather { guint32 timeout; gboolean online; + gboolean errorshown; }; static GHashTable *locations_hash = NULL; @@ -275,7 +276,12 @@ read_callback (GnomeVFSAsyncHandle *handle, Weather *w) { if (result != GNOME_VFS_OK && result != GNOME_VFS_ERROR_EOF) { - w->html = g_strdup ("<b>Error downloading RDF</b>"); + if (w->summary->weather->errorshown == FALSE) { + w->html = g_strdup ("<dd><b>An error occurred while downloading weather data</b></dd>"); + w->summary->weather->errorshown = TRUE; + } else { + w->html = g_strdup ("<dd> </dd>"); + } e_summary_draw (w->summary); w->handle = NULL; @@ -301,7 +307,13 @@ open_callback (GnomeVFSAsyncHandle *handle, Weather *w) { if (result != GNOME_VFS_OK) { - w->html = e_utf8_from_locale_string (_("<b>Error downloading Metar</b>")); + if (w->summary->weather->errorshown == FALSE) { + w->html = e_utf8_from_locale_string (_("<dd><b>The weather server could not be contacted</b></dd>")); + + w->summary->weather->errorshown = TRUE; + } else { + w->html = g_strdup ("<dd> </dd>"); + } e_summary_draw (w->summary); return; @@ -319,6 +331,7 @@ e_summary_weather_update (ESummary *summary) { GList *w; + summary->weather->errorshown = FALSE; for (w = summary->weather->weathers; w; w = w->next) { char *uri; Weather *weather = w->data; |