aboutsummaryrefslogtreecommitdiffstats
path: root/my-evolution/e-summary.c
diff options
context:
space:
mode:
Diffstat (limited to 'my-evolution/e-summary.c')
-rw-r--r--my-evolution/e-summary.c36
1 files changed, 31 insertions, 5 deletions
diff --git a/my-evolution/e-summary.c b/my-evolution/e-summary.c
index f5945aeda2..be738d726f 100644
--- a/my-evolution/e-summary.c
+++ b/my-evolution/e-summary.c
@@ -72,6 +72,8 @@
extern char *evolution_dir;
+static GList *all_summaries = NULL;
+
static GtkObjectClass *e_summary_parent_class;
struct _ESummaryMailFolderInfo {
@@ -126,6 +128,8 @@ destroy (GtkObject *object)
return;
}
+ all_summaries = g_list_remove (all_summaries, summary);
+
if (priv->pending_reload_tag) {
gtk_timeout_remove (priv->pending_reload_tag);
priv->pending_reload_tag = 0;
@@ -235,6 +239,16 @@ e_summary_draw (ESummary *summary)
g_string_free (string, TRUE);
}
+void
+e_summary_redraw_all (void)
+{
+ GList *p;
+
+ for (p = all_summaries; p; p = p->next) {
+ e_summary_draw (E_SUMMARY (p->data));
+ }
+}
+
static char *
e_pixmap_file (const char *filename)
{
@@ -539,7 +553,7 @@ e_summary_new (const GNOME_Evolution_Shell shell,
e_summary_add_protocol_listener (summary, "evolution", e_summary_evolution_protocol_listener, summary);
- e_summary_mail_init (summary, shell);
+ e_summary_mail_init (summary);
e_summary_calendar_init (summary);
e_summary_tasks_init (summary);
e_summary_rdf_init (summary);
@@ -547,6 +561,7 @@ e_summary_new (const GNOME_Evolution_Shell shell,
/* e_summary_draw (summary); */
+ all_summaries = g_list_prepend (all_summaries, summary);
return GTK_WIDGET (summary);
}
@@ -720,10 +735,6 @@ e_summary_unset_message (ESummary *summary)
void
e_summary_reconfigure (ESummary *summary)
{
- if (summary->mail != NULL) {
- e_summary_mail_reconfigure (summary);
- }
-
if (summary->rdf != NULL) {
e_summary_rdf_reconfigure (summary);
}
@@ -739,6 +750,21 @@ e_summary_reconfigure (ESummary *summary)
if (summary->tasks != NULL) {
e_summary_tasks_reconfigure (summary);
}
+
+ e_summary_draw (summary);
+}
+
+void
+e_summary_reconfigure_all (void)
+{
+ GList *p;
+
+ /* This is here, because it only needs to be done once for all summaries */
+ e_summary_mail_reconfigure ();
+
+ for (p = all_summaries; p; p = p->next) {
+ e_summary_reconfigure (E_SUMMARY (p->data));
+ }
}
static gint