aboutsummaryrefslogtreecommitdiffstats
path: root/mail/subscribe-dialog.c
diff options
context:
space:
mode:
Diffstat (limited to 'mail/subscribe-dialog.c')
-rw-r--r--mail/subscribe-dialog.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/mail/subscribe-dialog.c b/mail/subscribe-dialog.c
index 22a12b0b92..b645dcf32d 100644
--- a/mail/subscribe-dialog.c
+++ b/mail/subscribe-dialog.c
@@ -198,8 +198,10 @@ subscribe_folder_foreach (int model_row, gpointer closure)
printf ("subscribe: row %d, node_data %p\n", model_row,
e_tree_model_node_get_data (sc->folder_model, node));
- if (!camel_store_folder_subscribed (sc->store, info->name))
+ if (!camel_store_folder_subscribed (sc->store, info->name)) {
subscribe_folder_info (sc, info);
+ e_tree_model_node_changed (sc->folder_model, node);
+ }
}
static void
@@ -221,8 +223,10 @@ unsubscribe_folder_foreach (int model_row, gpointer closure)
printf ("unsubscribe: row %d, node_data %p\n", model_row,
e_tree_model_node_get_data (sc->folder_model, node));
- if (camel_store_folder_subscribed (sc->store, info->name))
+ if (camel_store_folder_subscribed (sc->store, info->name)) {
unsubscribe_folder_info (sc, info);
+ e_tree_model_node_changed (sc->folder_model, node);
+ }
}
@@ -518,9 +522,9 @@ folder_toggle_cb (ETable *table,
CamelFolderInfo *info = e_tree_model_node_get_data (sc->folder_model, node);
if (camel_store_folder_subscribed (sc->store, info->name))
- subscribe_folder_info (sc, info);
- else
unsubscribe_folder_info (sc, info);
+ else
+ subscribe_folder_info (sc, info);
e_tree_model_node_changed (sc->folder_model, node);
}