2006-06-28 [wwp] 2.3.1cvs31
[claws.git] / src / prefs_folder_item.c
index f96b7259d2b356cc949d78b669e49153e843315d..a5904278b253bf3f8a1f9516dd1e6daece28eb7f 100644 (file)
@@ -76,7 +76,7 @@ struct _FolderItemGeneralPage
        GtkWidget *checkbtn_newmailcheck;
        GtkWidget *checkbtn_offlinesync;
 
-       /* appy to sub folders */
+       /* apply to sub folders */
        GtkWidget *simplify_subject_rec_checkbtn;
        GtkWidget *folder_chmod_rec_checkbtn;
        GtkWidget *folder_color_rec_checkbtn;
@@ -139,7 +139,7 @@ void prefs_folder_item_general_create_widget_func(PrefsPage * page_,
                                                   gpointer data)
 {
        FolderItemGeneralPage *page = (FolderItemGeneralPage *) page_;
-       FolderItem *item = (FolderItem *) data, *parent;
+       FolderItem *item = (FolderItem *) data;
        guint rowcount;
 
 
@@ -152,7 +152,6 @@ void prefs_folder_item_general_create_widget_func(PrefsPage * page_,
        GtkWidget *dummy_chkbtn;
        GtkWidget *menuitem;
        SpecialFolderItemType type;
-       gboolean type_apply_to_sub = TRUE;
        
        GtkWidget *checkbtn_simplify_subject;
        GtkWidget *entry_simplify_subject;
@@ -191,17 +190,17 @@ void prefs_folder_item_general_create_widget_func(PrefsPage * page_,
        folder_type = gtk_option_menu_new ();
        gtk_widget_show (folder_type);
 
-       parent = item;
        type = F_NORMAL;
-       while (parent && (type = parent->stype) == F_NORMAL) {
-               parent = folder_item_parent(parent);
-       }
-
-       if (type == F_INBOX && (parent = folder_item_parent(item)) != NULL
-       &&  folder_item_parent(parent) != NULL) {
-               type = F_NORMAL;
-               type_apply_to_sub = FALSE;
-       }
+       if (item->stype == F_INBOX)
+               type = F_INBOX;
+       else if (folder_has_parent_of_type(item, F_OUTBOX))
+               type = F_OUTBOX;
+       else if (folder_has_parent_of_type(item, F_DRAFT))
+               type = F_DRAFT;
+       else if (folder_has_parent_of_type(item, F_QUEUE))
+               type = F_QUEUE;
+       else if (folder_has_parent_of_type(item, F_TRASH))
+               type = F_TRASH;
 
        folder_type_menu = gtk_menu_new ();
 
@@ -216,16 +215,14 @@ void prefs_folder_item_general_create_widget_func(PrefsPage * page_,
        gtk_option_menu_set_history(GTK_OPTION_MENU(folder_type), type);
 
        dummy_chkbtn = gtk_check_button_new();
-       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dummy_chkbtn), type_apply_to_sub);
+       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dummy_chkbtn), type != F_INBOX);
        gtk_widget_set_sensitive(dummy_chkbtn, FALSE);
 
-       if (((parent = folder_item_parent(item)) != NULL
-       &&  folder_item_parent(parent) == NULL)
-       &&  item->stype == F_NORMAL) {
+       if (type == item->stype && type == F_NORMAL)
                gtk_widget_set_sensitive(folder_type, TRUE);
-       } else {
+       else
                gtk_widget_set_sensitive(folder_type, FALSE);
-       }
+
        label = gtk_label_new(_("Folder type:"));
        gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
        gtk_table_attach(GTK_TABLE(table), label, 0, 1, 
@@ -394,7 +391,7 @@ void prefs_folder_item_general_destroy_widget_func(PrefsPage *page_)
 /** \brief  Save the prefs in page to folder.
  *
  *  If the folder is not the one  specified in page->item, then only those properties 
- *  that have the relevant 'appy to sub folders' button checked are saved
+ *  that have the relevant 'apply to sub folders' button checked are saved
  */
 static void general_save_folder_prefs(FolderItem *folder, FolderItemGeneralPage *page)
 {
@@ -772,7 +769,7 @@ void prefs_folder_item_compose_destroy_widget_func(PrefsPage *page_)
 /** \brief  Save the prefs in page to folder.
  *
  *  If the folder is not the one  specified in page->item, then only those properties 
- *  that have the relevant 'appy to sub folders' button checked are saved
+ *  that have the relevant 'apply to sub folders' button checked are saved
  */
 static void compose_save_folder_prefs(FolderItem *folder, FolderItemComposePage *page)
 {