diff options
-rw-r--r-- | mail/ChangeLog | 9 | ||||
-rw-r--r-- | mail/subscribe-dialog.c | 12 |
2 files changed, 17 insertions, 4 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index e955c86300..65d0c0d8bb 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,5 +1,14 @@ 2000-10-10 Chris Toshok <toshok@helixcode.com> + * subscribe-dialog.c (folder_toggle_cb): umm.. duh :) only + subscribe if it's not subscribed, and vice versa. + (subscribe_folder_foreach): make sure to call + e_tree_model_node_changed. + (unsubscribe_folder_foreach): make sure to call + e_tree_model_node_changed. + +2000-10-10 Chris Toshok <toshok@helixcode.com> + * mail-ops.c (setup_scan_subfolders): add a ref to input->storage here so that the ref/unref pattern more closely matches other mail-ops. also, this keeps the storage from being freed when we 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); } |