X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Frecode-dialog.c;h=05984dd44b368af9684b167fd66b0420ff0881f4;hb=refs%2Fbuilds%2F20121115031953%2Fpspp;hp=5bdee0bb9e12984a15767b4e8cc4417df9dae304;hpb=e7035a9f2cbdd6b630b7816ae01dc337ae9ece66;p=pspp diff --git a/src/ui/gui/recode-dialog.c b/src/ui/gui/recode-dialog.c index 5bdee0bb9e..05984dd44b 100644 --- a/src/ui/gui/recode-dialog.c +++ b/src/ui/gui/recode-dialog.c @@ -37,7 +37,6 @@ #include #include "helper.h" #include -#include #include "psppire-val-chooser.h" @@ -551,6 +550,14 @@ on_change_clicked (GObject *obj, gpointer data) } +static void +focus_value_entry (GtkWidget *w, struct recode_dialog *rd) +{ + if ( gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (w))) + gtk_widget_grab_focus (rd->new_value_entry); +} + + /* Callback for the new_value_entry and new_value_togglebutton widgets. It's used to enable/disable the acr. */ static void @@ -612,9 +619,6 @@ recode_dialog (PsppireDataWindow *de, gboolean diff) GtkWidget *output_variable_box = get_widget_assert (builder,"frame4"); - PsppireVarStore *vs = NULL; - g_object_get (de->data_editor, "var-store", &vs, NULL); - rd.change_button = get_widget_assert (builder, "change-button"); rd.varmap = NULL; rd.dialog = get_widget_assert (builder, "recode-dialog"); @@ -623,7 +627,7 @@ recode_dialog (PsppireDataWindow *de, gboolean diff) rd.new_name_entry = get_widget_assert (builder, "dest-name-entry"); rd.new_label_entry = get_widget_assert (builder, "dest-label-entry"); - g_object_get (vs, "dictionary", &rd.dict, NULL); + g_object_get (de->data_editor, "dictionary", &rd.dict, NULL); rd.value_map = gtk_list_store_new (2, old_value_get_type (), @@ -714,6 +718,9 @@ recode_dialog (PsppireDataWindow *de, gboolean diff) g_signal_connect_swapped (rd.toggle[BUTTON_NEW_VALUE], "toggled", G_CALLBACK (set_acr), &rd); + g_signal_connect_after (rd.toggle[BUTTON_NEW_VALUE], "toggled", + G_CALLBACK (focus_value_entry), &rd); + g_signal_connect_swapped (rd.new_value_entry, "changed", G_CALLBACK (set_acr), &rd);