+2011-04-08 [colin] 3.7.8cvs75
+
+ * src/account.c
+ * src/folder.c
+ * src/folder.h
+ * src/folder_item_prefs.c
+ * src/folder_item_prefs.h
+ * src/prefs_account.c
+ Fix bug #2382, "folderitemrc not updated when account
+ name is changed". Indeed, this wasn't done.
+
2011-04-08 [wwp] 3.7.8cvs74
* src/procmime.c
( cvs diff -u -r 1.382.2.569 -r 1.382.2.570 src/compose.c; ) > 3.7.8cvs72.patchset
( cvs diff -u -r 1.2.2.42 -r 1.2.2.43 src/gtk/filesel.c; ) > 3.7.8cvs73.patchset
( cvs diff -u -r 1.49.2.139 -r 1.49.2.140 src/procmime.c; ) > 3.7.8cvs74.patchset
+( cvs diff -u -r 1.61.2.96 -r 1.61.2.97 src/account.c; cvs diff -u -r 1.213.2.200 -r 1.213.2.201 src/folder.c; cvs diff -u -r 1.87.2.63 -r 1.87.2.64 src/folder.h; cvs diff -u -r 1.2.2.36 -r 1.2.2.37 src/folder_item_prefs.c; cvs diff -u -r 1.2.2.23 -r 1.2.2.24 src/folder_item_prefs.h; cvs diff -u -r 1.105.2.165 -r 1.105.2.166 src/prefs_account.c; ) > 3.7.8cvs75.patchset
MICRO_VERSION=8
INTERFACE_AGE=0
BINARY_AGE=0
-EXTRA_VERSION=74
+EXTRA_VERSION=75
EXTRA_RELEASE=
EXTRA_GTK2_VERSION=
folder_set_name(FOLDER(ac_prefs->folder),
ac_prefs->account_name);
folderview_set_all();
+ folder_prefs_save_config_recursive(FOLDER(ac_prefs->folder));
}
account_write_config_all();
return id;
}
+Folder *folder_find_from_identifier(const gchar *identifier)
+{
+ Folder *folder;
+ gpointer d[2];
+ gchar *str;
+ gchar *p;
+ gchar *name;
+ gchar *path;
+ FolderClass *class;
+
+ cm_return_val_if_fail(identifier != NULL, NULL);
+
+ if (*identifier != '#')
+ return NULL;
+
+ Xstrdup_a(str, identifier, return NULL);
+
+ p = strchr(str, '/');
+ if (!p)
+ return NULL;
+ *p = '\0';
+ p++;
+ class = folder_get_class_from_string(&str[1]);
+ if (class == NULL)
+ return NULL;
+
+ name = p;
+ p = strchr(p, '/');
+ if (p)
+ return NULL;
+
+ return folder_find_from_name(name, class);
+}
+
FolderItem *folder_find_item_from_identifier(const gchar *identifier)
{
Folder *folder;
gchar *folder_get_status (GPtrArray *folders,
gboolean full);
+Folder *folder_find_from_identifier (const gchar *identifier);
Folder *folder_find_from_path (const gchar *path);
Folder *folder_find_from_name (const gchar *name,
FolderClass *klass);
tmp_prefs = * item->prefs;
id = folder_item_get_identifier(item);
- debug_print("saving prefs for %s\n", id?id:"(null)");
+ if (id == NULL)
+ return;
+
+ debug_print("saving prefs for %s\n", id);
prefs_write_config(param, id, FOLDERITEM_RC);
g_free(id);
}
-1, folder_item_prefs_save_config_func, NULL);
}
+void folder_prefs_save_config_recursive(Folder *folder)
+{
+ g_node_traverse(folder->node, G_PRE_ORDER, G_TRAVERSE_ALL,
+ -1, folder_item_prefs_save_config_func, NULL);
+}
+
static FolderItemPrefs *folder_item_prefs_clear(FolderItemPrefs *prefs)
{
prefs->enable_default_to = FALSE;
void folder_item_prefs_read_config(FolderItem * item);
void folder_item_prefs_save_config(FolderItem * item);
void folder_item_prefs_save_config_recursive(FolderItem * item);
+void folder_prefs_save_config_recursive(Folder *folder);
FolderItemPrefs *folder_item_prefs_new(void);
void folder_item_prefs_free(FolderItemPrefs * prefs);
void folder_item_prefs_copy_prefs(FolderItem * src, FolderItem * dest);
if (protocol == A_IMAP4 || protocol == A_NNTP)
old_id = g_strdup_printf("#%s/%s",
- protocol == A_IMAP4 ? "imap":"nntp",
+ protocol == A_IMAP4 ? "imap":"news",
tmp_ac_prefs.account_name ? tmp_ac_prefs.account_name : "(null)");
prefs_set_data_from_dialog(basic_param);
if (protocol == A_IMAP4 || protocol == A_NNTP) {
new_id = g_strdup_printf("#%s/%s",
- protocol == A_IMAP4 ? "imap":"nntp",
+ protocol == A_IMAP4 ? "imap":"news",
tmp_ac_prefs.account_name);
if (old_id != NULL && new_id != NULL)
prefs_filtering_rename_path(old_id, new_id);