2005-10-10 [colin] 1.9.15cvs28
[claws.git] / src / prefs_matcher.c
index d0b5ac64963f32e05d60851c48ee8ec8e5b1b816..495dddd7a542f4453e1d92e7e1f1cc38a4e44399 100644 (file)
@@ -14,7 +14,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  */
 
 #ifdef HAVE_CONFIG_H
@@ -24,6 +24,7 @@
 #include "defs.h"
 
 #include <glib.h>
+#include <glib/gi18n.h>
 #include <gtk/gtk.h>
 #include <gdk/gdkkeysyms.h>
 #include <stdio.h>
@@ -31,7 +32,6 @@
 #include <string.h>
 #include <errno.h>
 
-#include "intl.h"
 #include "main.h"
 #include "prefs_gtk.h"
 #include "prefs_matcher.h"
@@ -438,7 +438,7 @@ static void prefs_matcher_create(void)
 
        g_list_free(combo_items);
 
-       gtk_widget_set_usize(criteria_combo, 120, -1);
+       gtk_widget_set_size_request(criteria_combo, 120, -1);
        gtk_table_attach(GTK_TABLE(criteria_table), criteria_combo, 0, 1, 1, 2,
                          0, 0, 0, 0);
        criteria_list = GTK_COMBO(criteria_combo)->list;
@@ -459,7 +459,7 @@ static void prefs_matcher_create(void)
 
        header_combo = gtk_combo_new();
        gtk_widget_show(header_combo);
-       gtk_widget_set_usize(header_combo, 96, -1);
+       gtk_widget_set_size_request(header_combo, 96, -1);
        gtkut_combo_set_items(GTK_COMBO (header_combo),
                              "Subject", "From", "To", "Cc", "Reply-To",
                              "Sender", "X-ML-Name", "X-List", "X-Sequence",
@@ -480,7 +480,7 @@ static void prefs_matcher_create(void)
 
        value_entry = gtk_entry_new();
        gtk_widget_show(value_entry);
-       gtk_widget_set_usize(value_entry, 200, -1);
+       gtk_widget_set_size_request(value_entry, 200, -1);
        gtk_table_attach(GTK_TABLE(criteria_table), value_entry, 2, 3, 1, 2,
                         GTK_FILL | GTK_SHRINK | GTK_EXPAND, 0, 0, 0);
 
@@ -513,7 +513,7 @@ static void prefs_matcher_create(void)
 
        predicate_combo = gtk_combo_new();
        gtk_widget_show(predicate_combo);
-       gtk_widget_set_usize(predicate_combo, 120, -1);
+       gtk_widget_set_size_request(predicate_combo, 120, -1);
        predicate_list = GTK_COMBO(predicate_combo)->list;
        gtk_entry_set_editable(GTK_ENTRY(GTK_COMBO(predicate_combo)->entry),
                               FALSE);
@@ -535,7 +535,7 @@ static void prefs_matcher_create(void)
 
        predicate_flag_combo = gtk_combo_new();
        gtk_widget_hide(predicate_flag_combo);
-       gtk_widget_set_usize(predicate_flag_combo, 120, -1);
+       gtk_widget_set_size_request(predicate_flag_combo, 120, -1);
        predicate_flag_list = GTK_COMBO(predicate_flag_combo)->list;
        gtk_entry_set_editable(GTK_ENTRY(GTK_COMBO(predicate_flag_combo)->entry), FALSE);
 
@@ -568,7 +568,7 @@ static void prefs_matcher_create(void)
        arrow = gtk_arrow_new(GTK_ARROW_DOWN, GTK_SHADOW_OUT);
        gtk_widget_show(arrow);
        gtk_box_pack_start(GTK_BOX(reg_hbox), arrow, FALSE, FALSE, 0);
-       gtk_widget_set_usize(arrow, -1, 16);
+       gtk_widget_set_size_request(arrow, -1, 16);
 
        btn_hbox = gtk_hbox_new(TRUE, 4);
        gtk_widget_show(btn_hbox);
@@ -587,7 +587,7 @@ static void prefs_matcher_create(void)
                         G_CALLBACK(prefs_matcher_substitute_cb),
                         NULL);
 
-       del_btn = gtk_button_new_from_stock(GTK_STOCK_REMOVE);
+       del_btn = gtk_button_new_from_stock(GTK_STOCK_DELETE);
        gtk_widget_show(del_btn);
        gtk_box_pack_start(GTK_BOX(btn_hbox), del_btn, FALSE, TRUE, 0);
        g_signal_connect(G_OBJECT(del_btn), "clicked",
@@ -603,7 +603,7 @@ static void prefs_matcher_create(void)
 
        bool_op_combo = gtk_combo_new();
        gtk_widget_show(bool_op_combo);
-       gtk_widget_set_usize(bool_op_combo, 50, -1);
+       gtk_widget_set_size_request(bool_op_combo, 50, -1);
        bool_op_list = GTK_COMBO(bool_op_combo)->list;
        gtk_entry_set_editable(GTK_ENTRY(GTK_COMBO(bool_op_combo)->entry),
                               FALSE);
@@ -627,7 +627,7 @@ static void prefs_matcher_create(void)
 
        cond_scrolledwin = gtk_scrolled_window_new(NULL, NULL);
        gtk_widget_show(cond_scrolledwin);
-       gtk_widget_set_usize(cond_scrolledwin, -1, 150);
+       gtk_widget_set_size_request(cond_scrolledwin, -1, 150);
        gtk_box_pack_start(GTK_BOX(cond_hbox), cond_scrolledwin,
                           TRUE, TRUE, 0);
        gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(cond_scrolledwin),
@@ -1288,16 +1288,17 @@ static void prefs_matcher_up(void)
 {
        GtkTreePath *prev, *sel, *try;
        GtkTreeIter isel;
-       GtkListStore *store;
+       GtkListStore *store = NULL;
+       GtkTreeModel *model = NULL;
        GtkTreeIter iprev;
        
        if (!gtk_tree_selection_get_selected
                (gtk_tree_view_get_selection
                        (GTK_TREE_VIEW(matcher.cond_list_view)),
-                (GtkTreeModel **) &store,      
+                &model,        
                 &isel))
                return;
-
+       store = (GtkListStore *)model;
        sel = gtk_tree_model_get_path(GTK_TREE_MODEL(store), &isel);
        if (!sel)
                return;
@@ -1329,17 +1330,18 @@ static void prefs_matcher_up(void)
  */
 static void prefs_matcher_down(void)
 {
-       GtkListStore *store;
+       GtkListStore *store = NULL;
+       GtkTreeModel *model = NULL;
        GtkTreeIter next, sel;
        GtkTreePath *try;
        
        if (!gtk_tree_selection_get_selected
                (gtk_tree_view_get_selection
                        (GTK_TREE_VIEW(matcher.cond_list_view)),
-                (GtkTreeModel **) &store,
+                &model,
                 &sel))
                return;
-
+       store = (GtkListStore *)model;
        try = gtk_tree_model_get_path(GTK_TREE_MODEL(store), &sel);
        if (!try) 
                return;
@@ -1371,7 +1373,7 @@ static void prefs_matcher_set_value_widget(GtkWidget *old_widget,
        gtk_widget_ref(old_widget);
        gtkut_container_remove(GTK_CONTAINER(matcher.criteria_table), old_widget);
        gtk_widget_show(new_widget);
-       gtk_widget_set_usize(new_widget, 200, -1);
+       gtk_widget_set_size_request(new_widget, 200, -1);
        gtk_table_attach(GTK_TABLE(matcher.criteria_table), new_widget, 
                         2, 3, 1, 2, 
                         GTK_FILL | GTK_SHRINK | GTK_EXPAND, 
@@ -1394,7 +1396,10 @@ static void prefs_matcher_criteria_select(GtkList *list,
        old_value = matcher.selected_criteria;
        matcher.selected_criteria = value = get_sel_from_list
                (GTK_LIST(matcher.criteria_list));
-       
+
+       if (old_value == matcher.selected_criteria)
+               return;
+
        /* CLAWS: the value widget is currently either the color label combo box,
         * or a GtkEntry, so kiss for now */
        if (matcher.selected_criteria == CRITERIA_COLORLABEL) { 
@@ -1602,7 +1607,7 @@ static void prefs_matcher_ok(void)
                                if (!matcher_str || strcmp(matcher_str, str) != 0) {
                                        val = alertpanel(_("Entry not saved"),
                                                         _("The entry was not saved\nHave you really finished?"),
-                                                        _("Yes"), _("No"), NULL);
+                                                        GTK_STOCK_YES, GTK_STOCK_NO, NULL);
                                        if (G_ALERTDEFAULT != val) {
                                                g_free(matcher_str);                                             
                                                g_free(str);
@@ -1664,6 +1669,7 @@ static gchar *test_desc_strings[] = {
 };
 
 static DescriptionWindow test_desc_win = { 
+       NULL,
         NULL, 
         2,
         N_("Match Type: 'Test'"),
@@ -1725,7 +1731,7 @@ static GtkWidget *prefs_matcher_list_view_create(void)
        list_view = GTK_TREE_VIEW(gtk_tree_view_new_with_model(model));
        g_object_unref(model);  
        
-       gtk_tree_view_set_rules_hint(list_view, TRUE);
+       gtk_tree_view_set_rules_hint(list_view, prefs_common.enable_rules_hint);
        
        selector = gtk_tree_view_get_selection(list_view);
        gtk_tree_selection_set_mode(selector, GTK_SELECTION_BROWSE);