static GtkActionEntry mainwindow_add_mailbox[] = {{
"File/AddMailbox/Mbox",
- NULL, N_("mbox (etPan!)..."), NULL, NULL, G_CALLBACK(add_mailbox)
+ NULL, "mbox...", NULL, NULL, G_CALLBACK(add_mailbox)
}};
static guint main_menu_id = 0;
folderview_unregister_popup(&claws_mailmbox_popup);
- MENUITEM_REMUI_MANAGER(mainwin->ui_manager,mainwin->action_group, "File/AddMailbox/RSSyl", main_menu_id);
+ MENUITEM_REMUI_MANAGER(mainwin->ui_manager,mainwin->action_group, "File/AddMailbox/Mbox", main_menu_id);
main_menu_id = 0;
}
#define SET_SENS(name, sens) \
cm_menu_set_sensitive_full(ui_manager, "Popup/"name, sens)
- SET_SENS("FolderViewPopup/CreateNewFolder", item->stype != F_INBOX);
- SET_SENS("FolderViewPopup/RenameFolder", item->stype == F_NORMAL && folder_item_parent(item) != NULL);
- SET_SENS("FolderViewPopup/MoveFolder", folder_is_normal && folder_item_parent(item) != NULL);
- SET_SENS("FolderViewPopup/DeleteFolder", item->stype == F_NORMAL && folder_item_parent(item) != NULL);
+ SET_SENS("FolderViewPopup/CreateNewFolder", item && item->stype != F_INBOX);
+ SET_SENS("FolderViewPopup/RenameFolder", item && item->stype == F_NORMAL && folder_item_parent(item) != NULL);
+ SET_SENS("FolderViewPopup/MoveFolder", folder_is_normal && folder_item_parent(item) != NULL);
+ SET_SENS("FolderViewPopup/DeleteFolder", item && item->stype == F_NORMAL && folder_item_parent(item) != NULL);
- SET_SENS("FolderViewPopup/CheckNewMessages", folder_item_parent(item) == NULL);
- SET_SENS("FolderViewPopup/CheckNewFolders", folder_item_parent(item) == NULL);
- SET_SENS("FolderViewPopup/RebuildTree", folder_item_parent(item) == NULL);
+ SET_SENS("FolderViewPopup/CheckNewMessages", folder_item_parent(item) == NULL);
+ SET_SENS("FolderViewPopup/CheckNewFolders", folder_item_parent(item) == NULL);
+ SET_SENS("FolderViewPopup/RebuildTree", folder_item_parent(item) == NULL);
- SET_SENS("FolderViewPopup/RemoveMailbox", folder_item_parent(item) == NULL);
+ SET_SENS("FolderViewPopup/RemoveMailbox", folder_item_parent(item) == NULL);
#undef SET_SENS
}
"Mail");
if (!path) return;
if (folder_find_from_path(path)) {
- alertpanel_error(_("The mailbox `%s' already exists."), path);
+ alertpanel_error(_("The mailbox '%s' already exists."), path);
g_free(path);
return;
}
basename = g_path_get_basename(path);
+
+ if (!folder_local_name_ok(basename)) {
+ g_free(path);
+ g_free(basename);
+ return;
+ }
+
folder = folder_new(folder_get_class_from_string("mailmbox"),
!strcmp(path, "Mail") ? _("Mailbox") : basename,
path);
- g_free(basename);
+ g_free(basename);
g_free(path);
-
if (folder->klass->create_tree(folder) < 0) {
alertpanel_error(_("Creation of the mailbox failed.\n"
"Maybe some files already exist, or you don't have the permission to write there."));
static void new_folder_cb(GtkAction *action, gpointer data)
{
FolderView *folderview = (FolderView *)data;
- GtkCMCTree *ctree = GTK_CMCTREE(folderview->ctree);
FolderItem *item;
FolderItem *new_item;
gchar *new_folder;
if (!folderview->selected) return;
- item = gtk_cmctree_node_get_row_data(ctree, folderview->selected);
+ item = folderview_get_selected_item(folderview);
g_return_if_fail(item != NULL);
g_return_if_fail(item->folder != NULL);
if (p == NULL)
p = strchr(new_folder, '.');
if (p) {
- alertpanel_error(_("`%c' can't be included in folder name."),
+ alertpanel_error(_("'%c' can't be included in folder name."),
p[0]);
return;
}
+ if (!folder_local_name_ok(new_folder))
+ return;
+
name = trim_string(new_folder, 32);
AUTORELEASE_STR(name, {g_free(name); return;});
p = g_strconcat(item->path ? item->path : "", ".", new_folder, NULL);
if (folder_find_child_item_by_name(item, p)) {
g_free(p);
- alertpanel_error(_("The folder `%s' already exists."), name);
+ alertpanel_error(_("The folder '%s' already exists."), name);
return;
}
g_free(p);
new_item = folder_create_folder(item, new_folder);
if (!new_item) {
- alertpanel_error(_("Can't create the folder `%s'."), name);
+ alertpanel_error(_("Can't create the folder '%s'."), name);
return;
}
name = trim_string(item->folder->name, 32);
message = g_strdup_printf
- (_("Really remove the mailbox `%s' ?\n"
+ (_("Really remove the mailbox '%s'?\n"
"(The messages are NOT deleted from the disk)"), name);
avalue = alertpanel_full(_("Remove mailbox"), message,
GTK_STOCK_CANCEL, _("_Remove"), NULL, FALSE,
FolderItem *item;
gchar *message, *name;
AlertValue avalue;
- gchar *old_path;
gchar *old_id;
item = folderview_get_selected_item(folderview);
name = trim_string(item->name, 32);
AUTORELEASE_STR(name, {g_free(name); return;});
message = g_strdup_printf
- (_("All folder(s) and message(s) under `%s' will be deleted.\n"
+ (_("All folder(s) and message(s) under '%s' will be deleted.\n"
"Do you really want to delete?"), name);
avalue = alertpanel_full(_("Delete folder"), message,
GTK_STOCK_CANCEL, GTK_STOCK_DELETE, NULL, FALSE,
g_free(message);
if (avalue != G_ALERTALTERNATE) return;
- Xstrdup_a(old_path, item->path, return);
old_id = folder_item_get_identifier(item);
if (folderview->opened == folderview->selected ||
}
if (item->folder->klass->remove_folder(item->folder, item) < 0) {
- alertpanel_error(_("Can't remove the folder `%s'."), name);
+ alertpanel_error(_("Can't remove the folder '%s'."), name);
if (folderview->opened == folderview->selected)
summary_show(folderview->summaryview,
folderview->summaryview->folder_item);
if (!from_folder || from_folder->folder->klass != claws_mailmbox_get_class())
return;
- to_folder = foldersel_folder_sel(from_folder->folder, FOLDER_SEL_MOVE, NULL, FALSE);
+ to_folder = foldersel_folder_sel(NULL, FOLDER_SEL_MOVE, NULL, FALSE);
if (!to_folder)
return;
if (!from_folder || from_folder->folder->klass != claws_mailmbox_get_class())
return;
- to_folder = foldersel_folder_sel(from_folder->folder, FOLDER_SEL_MOVE, NULL, FALSE);
+ to_folder = foldersel_folder_sel(NULL, FOLDER_SEL_MOVE, NULL, FALSE);
if (!to_folder)
return;
gchar *new_folder;
gchar *name;
gchar *message;
- gchar *old_path;
gchar *old_id;
gchar *new_id;
gchar *p;
g_return_if_fail(item->folder != NULL);
name = trim_string(item->name, 32);
- message = g_strdup_printf(_("Input new name for `%s':"), name);
+ message = g_strdup_printf(_("Input new name for '%s':"), name);
new_folder = input_dialog(_("Rename folder"), message, item->name);
g_free(message);
g_free(name);
if (p == NULL)
p = strchr(new_folder, '.');
if (p) {
- alertpanel_error(_("`%c' can't be included in folder name."),
+ alertpanel_error(_("'%c' can't be included in folder name."),
p[0]);
return;
}
+ if (!folder_local_name_ok(new_folder))
+ return;
+
parent = folder_item_parent(item);
p = g_strconcat(parent->path ? parent->path : "", ".", new_folder, NULL);
if (folder_find_child_item_by_name(parent, p)) {
name = trim_string(new_folder, 32);
- alertpanel_error(_("The folder `%s' already exists."), name);
+ alertpanel_error(_("The folder '%s' already exists."), name);
g_free(name);
return;
}
- Xstrdup_a(old_path, item->path, {g_free(new_folder); return;});
-
old_id = folder_item_get_identifier(item);
if (folder_item_rename(item, new_folder) < 0) {