+ GList *child_list = imap_scan_subtree(item->folder, item, FALSE);
+ if (child_list) {
+ GList *cur;
+ int r = -1;
+ gchar *child_folder = input_dialog_combo(_("Subscribe"),
+ _("Choose a subfolder to subscribe to: "),
+ _("All of them"), child_list, TRUE);
+ if (child_folder && strcmp(child_folder, _("All of them"))) {
+ r = imap_subscribe(item->folder, NULL, child_folder, TRUE);
+ } else if (child_folder) {
+ for (cur = child_list; cur; cur = cur->next)
+ r = imap_subscribe(item->folder, NULL, (gchar *)cur->data, TRUE);
+ }
+ g_free(child_folder);
+ for (cur = child_list; cur; cur = cur->next)
+ g_free((gchar *)cur->data);
+ if (r == 0)
+ folderview_rescan_tree(item->folder, FALSE);
+ } else {
+ alertpanel_notice(_("This folder is already subscribed to and "
+ "has no subfolders. To "