fix bug 2986, 'Down and Delete buttons have same hotkey in filtering config' and...
[claws.git] / src / prefs_filtering_action.c
index 597b9b94c2ccb887c681dae63691d081c158c047..92bc5b5e2da6ed755b83bebe984feed6f8640de0 100644 (file)
@@ -488,14 +488,22 @@ static void prefs_filtering_action_create(void)
        gtk_table_attach(GTK_TABLE(table), hbox1, 1, 2, 1, 2, 
                         GTK_FILL | GTK_EXPAND, GTK_SHRINK, 0, 0);
 
+#if !GTK_CHECK_VERSION(2, 24, 0)
        account_combo = gtk_combo_box_new_text ();
+#else
+       account_combo = gtk_combo_box_text_new ();
+#endif
        gtk_size_group_add_widget(size_action, account_combo);
 
        for (accounts = account_get_list() ; accounts != NULL;
             accounts = accounts->next) {
                PrefsAccount *ac = (PrefsAccount *)accounts->data;
                gchar *name = g_strdup(ac->account_name);
+#if !GTK_CHECK_VERSION(2, 24, 0)
                gtk_combo_box_append_text(GTK_COMBO_BOX(account_combo), (gpointer) name);
+#else
+               gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(account_combo), (gpointer) name);
+#endif
                g_free(name);
        }
 
@@ -533,14 +541,22 @@ static void prefs_filtering_action_create(void)
        gtk_box_pack_start(GTK_BOX(hbox1), color_optmenu, FALSE, FALSE, 0);
 #endif
 
+#if !GTK_CHECK_VERSION(2, 24, 0)
        tags_combo = gtk_combo_box_new_text ();
+#else
+       tags_combo = gtk_combo_box_text_new ();
+#endif
        gtk_size_group_add_widget(size_action, tags_combo);
 
        for (tmp = tags = tags_get_list() ; tmp != NULL;
             tmp = tmp->next) {
                gchar *name = g_strdup(tags_get_tag(GPOINTER_TO_INT(tmp->data)));
 
+#if !GTK_CHECK_VERSION(2, 24, 0)
                gtk_combo_box_append_text(GTK_COMBO_BOX(tags_combo), (gpointer) name);
+#else
+               gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(tags_combo), (gpointer) name);
+#endif
                g_free(name);
        }
        g_slist_free(tags);
@@ -554,14 +570,14 @@ static void prefs_filtering_action_create(void)
        gtk_table_attach(GTK_TABLE(table), hbox1, 2, 3, 2, 3, 
                        GTK_FILL, GTK_SHRINK, 0, 0);
 
-       dest_btn = gtk_button_new_with_label (_("Select ..."));
+       dest_btn = gtk_button_new_with_label (_("Select..."));
        gtk_box_pack_start (GTK_BOX (hbox1), dest_btn, FALSE, FALSE, 0);
        g_signal_connect (G_OBJECT (dest_btn), "clicked",
                          G_CALLBACK(prefs_filtering_action_select_dest),
                          NULL);
 
 #ifndef USE_NEW_ADDRBOOK
-       addressbook_btn = gtk_button_new_with_label (_("Select ..."));
+       addressbook_btn = gtk_button_new_with_label (_("Select..."));
        gtk_box_pack_start (GTK_BOX (hbox1), addressbook_btn, FALSE, FALSE, 0);
        g_signal_connect (G_OBJECT (addressbook_btn), "clicked",
                          G_CALLBACK(prefs_filtering_action_select_addressbook),
@@ -591,13 +607,15 @@ static void prefs_filtering_action_create(void)
        g_signal_connect(G_OBJECT(reg_btn), "clicked",
                         G_CALLBACK(prefs_filtering_action_register_cb), NULL);
 
-       subst_btn = gtkut_get_replace_btn(_("Replace"));
+       subst_btn = gtkut_get_replace_btn(_("_Replace"));
        gtk_box_pack_start(GTK_BOX(btn_hbox), subst_btn, FALSE, TRUE, 0);
        g_signal_connect(G_OBJECT(subst_btn), "clicked",
                         G_CALLBACK(prefs_filtering_action_substitute_cb),
                         NULL);
 
-       del_btn = gtk_button_new_from_stock(GTK_STOCK_DELETE);
+       del_btn = gtk_button_new_with_mnemonic (_("Re_move"));
+       gtk_button_set_image(GTK_BUTTON(del_btn),
+                       gtk_image_new_from_stock(GTK_STOCK_REMOVE,GTK_ICON_SIZE_BUTTON));
        gtk_box_pack_start(GTK_BOX(btn_hbox), del_btn, FALSE, TRUE, 0);
        g_signal_connect(G_OBJECT(del_btn), "clicked",
                         G_CALLBACK(prefs_filtering_action_delete_cb), NULL);
@@ -966,7 +984,11 @@ static FilteringAction * prefs_filtering_action_dialog_to_action(gboolean alert)
                break;
        case ACTION_SET_TAG:
        case ACTION_UNSET_TAG:
+#if !GTK_CHECK_VERSION(2, 24, 0)
                destination = gtk_combo_box_get_active_text(GTK_COMBO_BOX(filtering_action.tags_combo));
+#else
+               destination = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(filtering_action.tags_combo));
+#endif
                if (!destination || *destination == '\0') {
                        if (alert)
                                 alertpanel_error(_("Tag name is empty."));
@@ -1247,7 +1269,8 @@ static gchar *exec_desc_strings[] = {
 
 static DescriptionWindow exec_desc_win = { 
        NULL,
-        NULL, 
+        NULL,
+       TRUE,
         2,
         N_("Filtering Action: 'Execute'"),
        N_("'Execute' allows you to send a message or message element "
@@ -1308,10 +1331,12 @@ static void prefs_filtering_action_enable_widget(GtkWidget* widget, const gboole
                        gtk_combo_box_set_active(GTK_COMBO_BOX(widget), 0);
                else if(GTK_IS_SPIN_BUTTON(widget))
                        gtk_spin_button_set_value(GTK_SPIN_BUTTON(widget), 0);
-               else if(GTK_IS_ENTRY(widget)) {
+               else if(GTK_IS_ENTRY(widget))
                        gtk_entry_set_text(GTK_ENTRY(widget), "");
-               } else if(GTK_IS_CMOPTION_MENU(widget))
+#if !GTK_CHECK_VERSION(3, 0, 0)
+               else if(GTK_IS_CMOPTION_MENU(widget))
                        gtk_cmoption_menu_set_history(GTK_CMOPTION_MENU(widget), 0);
+#endif
                
                gtk_widget_set_sensitive(widget, TRUE);
                gtk_widget_show(widget);