2006-09-16 [paul] 2.4.0cvs190
[claws.git] / src / account.c
index 44d83d5f01451f824e51407d9435576d8e4e2769..0c01275ee36903a639ae66774baf50d97597d9d3 100644 (file)
@@ -50,6 +50,7 @@
 #include "customheader.h"
 #include "remotefolder.h"
 #include "manual.h"
+#include "filtering.h"
 
 enum {
        ACCOUNT_IS_DEFAULT,             /* GDK_TYPE_PIXMAP! */
@@ -696,11 +697,13 @@ static void account_edit_create(void)
        gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
 
        label = gtk_label_new
-               (_("New messages will be checked in this order. Check the boxes\n"
-                  "on the 'G' column to enable message retrieval by 'Get Mail'."));
+               (_("Using 'Get Mail' will retrieve messages from your Accounts "
+                  "in the order given, the checkbox in the 'G' column indicates "
+                  "which accounts will be included."));
        gtk_widget_show (label);
        gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 4);
        gtk_label_set_justify(GTK_LABEL(label), GTK_JUSTIFY_LEFT);
+       gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
 
        hbox = gtk_hbox_new (FALSE, 8);
        gtk_widget_show (hbox);
@@ -728,11 +731,7 @@ static void account_edit_create(void)
        g_signal_connect (G_OBJECT(add_btn), "clicked",
                          G_CALLBACK (account_add), NULL);
 
-#if GTK_CHECK_VERSION(2, 6, 0)
        edit_btn = gtk_button_new_from_stock (GTK_STOCK_EDIT);
-#else
-       edit_btn = gtk_button_new_from_stock(GTK_STOCK_PROPERTIES);
-#endif
        gtk_widget_show (edit_btn);
        gtk_box_pack_start (GTK_BOX (vbox2), edit_btn, FALSE, FALSE, 4);
        g_signal_connect (G_OBJECT(edit_btn), "clicked",
@@ -1003,6 +1002,7 @@ static void account_delete(GtkWidget *widget, gpointer data)
        gchar buf[BUFFSIZE];
        GList *list;
        Folder *folder;
+       GSList *cur;
  
        ac_prefs = account_list_view_get_selected_account(edit_account.list_view);
        if (ac_prefs == NULL)
@@ -1039,6 +1039,22 @@ static void account_delete(GtkWidget *widget, gpointer data)
                                account_delete_references_func,
                                GINT_TO_POINTER(ac_prefs->account_id));
        }
+
+       debug_print("Removing filter rules relative to this account...\n");
+       for(cur = filtering_rules ; cur != NULL ;) {
+               FilteringProp * prop = (FilteringProp *) cur->data;
+
+               if (prop && (prop->account_id == ac_prefs->account_id)) {
+                       /* get next item before we kill the current one */
+                       cur = g_slist_next(cur);
+
+                       /* unallocate filteringprop and unchain it from the list */
+                       filteringprop_free(prop);
+                       filtering_rules = g_slist_remove(filtering_rules, prop);
+               } else {
+                       cur = g_slist_next(cur);
+               }
+       }
 }
 
 static void account_up(GtkWidget *widget, gpointer data)
@@ -1394,7 +1410,7 @@ static GtkWidget *account_list_view_create(void)
        list_view = GTK_TREE_VIEW(gtk_tree_view_new_with_model(GTK_TREE_MODEL(store)));
        g_object_unref(G_OBJECT(store));
 
-       gtk_tree_view_set_rules_hint(list_view, prefs_common.enable_rules_hint);
+       gtk_tree_view_set_rules_hint(list_view, prefs_common.use_stripes_everywhere);
        gtk_tree_view_set_reorderable(list_view, TRUE);
        
        selector = gtk_tree_view_get_selection(list_view);
@@ -1429,13 +1445,17 @@ static void account_create_list_view_columns(GtkWidget *list_view)
 {
        GtkTreeViewColumn *column;
        GtkCellRenderer *renderer;
+       GtkTooltips *tooltips = gtk_tooltips_new();
 
        renderer = gtk_cell_renderer_pixbuf_new();
        column = gtk_tree_view_column_new_with_attributes
-               ("D", renderer,
+               (Q_("Accounts List Default Column Name|D"), renderer,
                 "pixbuf", ACCOUNT_IS_DEFAULT,
                 NULL);
        gtk_tree_view_append_column(GTK_TREE_VIEW(list_view), column);           
+       gtk_tree_view_column_set_alignment (column, 0.5);
+       gtk_tooltips_set_tip(GTK_TOOLTIPS(tooltips), column->button,
+                       _("Default account"), NULL);
 
        renderer = gtk_cell_renderer_toggle_new();
        g_object_set(renderer, 
@@ -1443,14 +1463,17 @@ static void account_create_list_view_columns(GtkWidget *list_view)
                     "activatable", TRUE,
                      NULL);
        column = gtk_tree_view_column_new_with_attributes
-               ("G", renderer,
+               (Q_("Accounts List Get Column Name|G"), renderer,
                 "active", ACCOUNT_ENABLE_GET_ALL,
                 NULL);
        gtk_tree_view_append_column(GTK_TREE_VIEW(list_view), column);          
+       gtk_tree_view_column_set_alignment (column, 0.5);
+       gtk_tooltips_set_tip(GTK_TOOLTIPS(tooltips), column->button,
+                       _("'Get Mail' retrieves mail from the checked accounts"), NULL);
        g_signal_connect(G_OBJECT(renderer), "toggled",                      
                         G_CALLBACK(account_get_all_toggled),
                         list_view);
-       
+
        renderer = gtk_cell_renderer_text_new();
        column = gtk_tree_view_column_new_with_attributes
                (_("Name"), renderer,