X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpsppire-data-editor.c;h=1070f5c2871caef36db153d9b48aca7667497ad3;hb=503f53bfdde87fc40466dadb77bc04cee0be2567;hp=2a05538db148b938848ce7c8aeb58bbd36280453;hpb=ae027d5df3f9a6d9368dd6d13f3bf52142dd3c06;p=pspp diff --git a/src/ui/gui/psppire-data-editor.c b/src/ui/gui/psppire-data-editor.c index 2a05538db1..1070f5c287 100644 --- a/src/ui/gui/psppire-data-editor.c +++ b/src/ui/gui/psppire-data-editor.c @@ -24,6 +24,7 @@ #include #include "psppire-data-store.h" #include +#include #include "helper.h" #include @@ -380,9 +381,15 @@ psppire_data_editor_set_property (GObject *object, g_object_ref (de->data_store); for (i = 0 ; i < 4 ; ++i ) - g_object_set (de->data_sheet[i], - "model", de->data_store, - NULL); + { + g_object_set (de->data_sheet[i], + "model", de->data_store, + NULL); + + g_signal_connect_swapped (de->data_store->dict, "filter-changed", + G_CALLBACK (gtk_widget_queue_draw), + de->data_sheet[i]); + } g_signal_connect (de->data_store->dict, "backend-changed", G_CALLBACK (new_variables_callback), de); @@ -737,7 +744,9 @@ update_data_ref_entry (const PsppireSheet *sheet, gchar *text = g_strdup_printf ("%d: %s", row + FIRST_CASE_NUMBER, var_get_name (var)); - gchar *s = pspp_locale_to_utf8 (text, -1, 0); + gchar *s = recode_string (UTF8, + psppire_dict_encoding (data_store->dict), + text, -1); g_free (text); @@ -856,11 +865,10 @@ init_data_sheet (PsppireDataEditor *de) de->vaxis[0] = psppire_axis_impl_new (); de->vaxis[1] = psppire_axis_impl_new (); - /* Txoxovhere's only one horizontal axis, since the + /* There's only one horizontal axis, since the column widths are parameters of the variables */ de->haxis = psppire_axis_impl_new (); - de->split = TRUE; de->paned = gtk_xpaned_new (); @@ -1457,13 +1465,19 @@ static gboolean on_switch_page (PsppireDataEditor *de, GtkNotebookPage *p, gint pagenum, gpointer data) { - if ( pagenum != PSPPIRE_DATA_EDITOR_DATA_VIEW ) + switch (pagenum) { + case PSPPIRE_DATA_EDITOR_DATA_VIEW: + gtk_widget_grab_focus (de->data_vbox); + on_select_range (de); + break; + case PSPPIRE_DATA_EDITOR_VARIABLE_VIEW: + gtk_widget_grab_focus (de->var_sheet); emit_selected_signal (de); - return TRUE; - } - - on_select_range (de); + break; + default: + break; + }; return TRUE; }