fix menu item reference
[claws.git] / src / plugins / mailmbox / plugin_gtk.c
index 9f0e4b8e9203c24c9d65153aa06feafd52c46abf..6ab2a33a182d3e695561840ddebca090c157e371 100644 (file)
@@ -112,7 +112,7 @@ void plugin_gtk_done(void)
 
        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;
 }
 
@@ -198,13 +198,19 @@ static void add_mailbox(GtkAction *action, gpointer callback_data)
                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."));
@@ -251,6 +257,9 @@ static void new_folder_cb(GtkAction *action, gpointer data)
                return;
        }
 
+       if (!folder_local_name_ok(new_folder))
+               return;
+
        name = trim_string(new_folder, 32);
        AUTORELEASE_STR(name, {g_free(name); return;});
 
@@ -362,7 +371,7 @@ static void move_folder_cb(GtkAction *action, gpointer data)
        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;
 
@@ -378,7 +387,7 @@ static void copy_folder_cb(GtkAction *action, gpointer data)
        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;
 
@@ -418,6 +427,9 @@ static void rename_folder_cb(GtkAction *action, gpointer data)
                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)) {