allows creation of mbox folder item from any files.
[claws.git] / src / folderview.c
index 9336837c5871ded7554b650bc7689aa8d7add69a..280f183051c4c335916b2e9f862bea2476bf8e48 100644 (file)
@@ -1253,6 +1253,8 @@ static void folderview_button_pressed(GtkWidget *ctree, GdkEventButton *event,
                                update_tree = rescan_tree = TRUE;
                        else if (item->stype == F_NORMAL)
                                rename_folder = delete_folder = folder_property = folder_scoring = TRUE;
+                       else if (item->stype == F_INBOX)
+                               folder_property = folder_scoring = TRUE;
                } else if (FOLDER_TYPE(folder) == F_NEWS) {
                        if (item->parent != NULL)
                                delete_folder = folder_scoring = TRUE;
@@ -1529,11 +1531,13 @@ static void folderview_new_folder_cb(FolderView *folderview, guint action,
                                  _("NewFolder"));
        if (!new_folder) return;
 
-       if (strchr(new_folder, G_DIR_SEPARATOR) != NULL) {
-               alertpanel_error(_("`%c' can't be included in folder name."),
-                                G_DIR_SEPARATOR);
-               g_free(new_folder);
-               return;
+       if (item->folder->type != F_MBOX) {
+               if (strchr(new_folder, G_DIR_SEPARATOR) != NULL) {
+                       alertpanel_error(_("`%c' can't be included in folder name."),
+                                        G_DIR_SEPARATOR);
+                       g_free(new_folder);
+                       return;
+               }
        }
 
        /* find whether the directory already exists */
@@ -1545,8 +1549,13 @@ static void folderview_new_folder_cb(FolderView *folderview, guint action,
        }
 
        new_item = item->folder->create_folder(item->folder, item, new_folder);
+       if (!new_item) {
+               alertpanel_error(_("The folder `%s' could not be created."), 
+                                new_folder);
+               g_free(new_folder);
+               return;
+       } 
        g_free(new_folder);
-       if (!new_item) return;
 
        gtk_clist_freeze(GTK_CLIST(ctree));