aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog9
-rw-r--r--mail/subscribe-dialog.c12
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);
}