aboutsummaryrefslogtreecommitdiffstats
path: root/my-evolution/e-summary-mail.c
diff options
context:
space:
mode:
Diffstat (limited to 'my-evolution/e-summary-mail.c')
-rw-r--r--my-evolution/e-summary-mail.c45
1 files changed, 36 insertions, 9 deletions
diff --git a/my-evolution/e-summary-mail.c b/my-evolution/e-summary-mail.c
index dda2fa6ed4..b024e42c4f 100644
--- a/my-evolution/e-summary-mail.c
+++ b/my-evolution/e-summary-mail.c
@@ -18,6 +18,7 @@
#include <libgnome/gnome-defs.h>
#include <libgnome/gnome-i18n.h>
+#include <libgnome/gnome-util.h> /* gnome_util_prepend_user_home */
#include <gtk/gtksignal.h>
#include <bonobo/bonobo-exception.h>
#include <bonobo/bonobo-listener.h>
@@ -98,7 +99,7 @@ e_summary_mail_generate_html (ESummary *summary)
g_return_if_fail (IS_E_SUMMARY (summary));
mail = summary->mail;
- string = g_string_new ("<dl><dt><img src=\"ico-mail.png\" "
+ string = g_string_new ("<dl><dt><img src=\"myevo-mail-summary.png\" "
"align=\"middle\" alt=\"\" width=\"48\" "
"height=\"48\"> <b><a href=\"evolution:/local/Inbox\">");
s = e_utf8_from_locale_string (_("Mail summary"));
@@ -183,6 +184,29 @@ new_folder_cb (EvolutionStorageListener *listener,
}
static void
+update_folder_cb (EvolutionStorageListener *listener,
+ const char *path,
+ const char *display_name,
+ ESummary *summary)
+{
+ char *evolution_dir;
+ char *proto;
+ char *uri;
+
+ evolution_dir = gnome_util_prepend_user_home ("evolution/local");
+
+ proto = g_strconcat ("file://", evolution_dir, NULL);
+ uri = e_path_to_physical (proto, path);
+ printf ("uri in update: %s\n", uri);
+
+ e_summary_mail_get_info (summary->mail, uri, summary->mail->listener);
+
+ g_free (uri);
+ g_free (evolution_dir);
+ g_free (proto);
+}
+
+static void
remove_folder_cb (EvolutionStorageListener *listener,
const char *path,
ESummary *summary)
@@ -265,7 +289,9 @@ e_summary_mail_register_storage (ESummary *summary,
GTK_SIGNAL_FUNC (new_folder_cb), summary);
gtk_signal_connect (GTK_OBJECT (mail->storage_listener), "removed-folder",
GTK_SIGNAL_FUNC (remove_folder_cb), summary);
- }
+ gtk_signal_connect (GTK_OBJECT (mail->storage_listener), "update_folder",
+ GTK_SIGNAL_FUNC (update_folder_cb), summary);
+ }
listener = mail->storage_listener;
corba_listener = evolution_storage_listener_corba_objref (listener);
@@ -278,10 +304,11 @@ e_summary_mail_register_storage (ESummary *summary,
CORBA_exception_free (&ev);
g_free (mail);
- return TRUE;
+ return FALSE;
}
CORBA_exception_free (&ev);
+
return TRUE;
}
@@ -289,14 +316,13 @@ static gboolean
e_summary_mail_register_storages (ESummary *summary,
GNOME_Evolution_Shell corba_shell)
{
- GNOME_Evolution_LocalStorage local_storage;
+ GNOME_Evolution_Storage local_storage;
CORBA_Environment ev;
g_return_val_if_fail (summary != NULL, FALSE);
g_return_val_if_fail (IS_E_SUMMARY (summary), FALSE);
CORBA_exception_init (&ev);
-
local_storage = GNOME_Evolution_Shell_getLocalStorage (corba_shell, &ev);
if (BONOBO_EX (&ev)) {
g_warning ("Exception getting local storage: %s",
@@ -305,11 +331,12 @@ e_summary_mail_register_storages (ESummary *summary,
return FALSE;
}
-
- e_summary_mail_register_storage (summary, local_storage);
-
CORBA_exception_free (&ev);
- return TRUE;
+
+ if (e_summary_mail_register_storage (summary, local_storage))
+ return TRUE;
+ else
+ return FALSE;
}
void