aboutsummaryrefslogtreecommitdiffstats
path: root/my-evolution/e-summary-weather.c
diff options
context:
space:
mode:
Diffstat (limited to 'my-evolution/e-summary-weather.c')
-rw-r--r--my-evolution/e-summary-weather.c17
1 files changed, 15 insertions, 2 deletions
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;