X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=src%2Fui%2Fgui%2Fdata-editor.c;h=f7df21c752e746bec52f647f672db0082e387fba;hb=5ee84736663824fe12474b78dace867e42893a14;hp=169671033a2c74ad916c9670bb83d66948862525;hpb=f82952d22e200e1b35cea23545857a2cf2f02c66;p=pspp-builds.git diff --git a/src/ui/gui/data-editor.c b/src/ui/gui/data-editor.c index 16967103..f7df21c7 100644 --- a/src/ui/gui/data-editor.c +++ b/src/ui/gui/data-editor.c @@ -22,7 +22,6 @@ #include #include "window-manager.h" -#include #include "psppire-data-editor.h" @@ -49,6 +48,7 @@ #include "examine-dialog.h" #include "dict-display.h" #include "regression-dialog.h" +#include "text-data-import-dialog.h" #include "oneway-anova-dialog.h" #include "t-test-independent-samples-dialog.h" @@ -62,7 +62,7 @@ #include "syntax-editor.h" #include #include -#include +#include #include "window-manager.h" #include "psppire-data-store.h" @@ -320,7 +320,7 @@ new_data_editor (void) de->toggle_value_labels = gtk_toggle_action_new ("toggle-value-labels", - _("Labels"), + _("_Labels"), _("Show/hide value labels"), "pspp-value-labels"); @@ -374,7 +374,7 @@ new_data_editor (void) de->insert_variable = gtk_action_new ("insert-variable", - _("Insert Variable"), + _("Insert _Variable"), _("Create a new variable at the current position"), "pspp-insert-variable"); @@ -393,7 +393,7 @@ new_data_editor (void) de->insert_case = gtk_action_new ("insert-case", - _("Insert Case"), + _("Insert Ca_se"), _("Create a new case at the current position"), "pspp-insert-case"); @@ -414,7 +414,7 @@ new_data_editor (void) de->invoke_goto_dialog = gtk_action_new ("goto-case-dialog", - _("Goto Case"), + _("_Goto Case"), _("Jump to a Case in the Data Sheet"), "gtk-jump-to"); @@ -434,7 +434,7 @@ new_data_editor (void) de->invoke_weight_cases_dialog = gtk_action_new ("weight-cases-dialog", - _("Weights"), + _("_Weights"), _("Weight cases by variable"), "pspp-weight-cases"); @@ -444,7 +444,7 @@ new_data_editor (void) de->invoke_transpose_dialog = gtk_action_new ("transpose-dialog", - _("Transpose"), + _("_Transpose"), _("Transpose the cases with the variables"), NULL); @@ -456,7 +456,7 @@ new_data_editor (void) de->invoke_split_file_dialog = gtk_action_new ("split-file-dialog", - _("Split"), + _("S_plit"), _("Split the active file"), "pspp-split-file"); @@ -467,7 +467,7 @@ new_data_editor (void) de->invoke_sort_cases_dialog = gtk_action_new ("sort-cases-dialog", - _("Sort"), + _("_Sort"), _("Sort cases in the active file"), "pspp-sort-cases"); @@ -476,7 +476,7 @@ new_data_editor (void) de->invoke_select_cases_dialog = gtk_action_new ("select-cases-dialog", - _("Select Cases"), + _("Select _Cases"), _("Select cases from the active file"), "pspp-select-cases"); @@ -486,7 +486,7 @@ new_data_editor (void) de->invoke_compute_dialog = gtk_action_new ("compute-dialog", - _("Compute"), + _("_Compute"), _("Compute new values for a variable"), "pspp-compute"); @@ -534,7 +534,7 @@ new_data_editor (void) de->invoke_comments_dialog = gtk_action_new ("commments-dialog", - _("Data File Comments"), + _("Data File _Comments"), _("Commentary text for the data file"), NULL); @@ -543,7 +543,7 @@ new_data_editor (void) de->invoke_find_dialog = gtk_action_new ("find-dialog", - _("Find"), + _("_Find"), _("Find Case"), "gtk-find"); @@ -583,7 +583,7 @@ new_data_editor (void) de->invoke_variable_info_dialog = gtk_action_new ("variable-info-dialog", - _("Variables"), + _("_Variables"), _("Jump to Variable"), "pspp-goto-variable"); @@ -703,6 +703,11 @@ new_data_editor (void) G_CALLBACK (open_syntax_window), e->window); + g_signal_connect_swapped (get_widget_assert (de->xml,"file_import-text"), + "activate", + G_CALLBACK (gtk_action_activate), + de->invoke_text_import_assistant); + g_signal_connect_swapped (get_widget_assert (de->xml,"file_save"), "activate", G_CALLBACK (gtk_action_activate), @@ -1001,7 +1006,7 @@ data_view_activate (GtkCheckMenuItem *menuitem, gpointer data) { struct data_editor *de = data; - gtk_notebook_set_page (GTK_NOTEBOOK (de->data_editor), PSPPIRE_DATA_EDITOR_DATA_VIEW); + gtk_notebook_set_current_page (GTK_NOTEBOOK (de->data_editor), PSPPIRE_DATA_EDITOR_DATA_VIEW); } @@ -1010,7 +1015,7 @@ variable_view_activate (GtkCheckMenuItem *menuitem, gpointer data) { struct data_editor *de = data; - gtk_notebook_set_page (GTK_NOTEBOOK (de->data_editor), PSPPIRE_DATA_EDITOR_VARIABLE_VIEW); + gtk_notebook_set_current_page (GTK_NOTEBOOK (de->data_editor), PSPPIRE_DATA_EDITOR_VARIABLE_VIEW); } @@ -1224,6 +1229,15 @@ register_data_editor_actions (struct data_editor *de) g_signal_connect (de->action_data_new, "activate", G_CALLBACK (new_file), de); + + de->invoke_text_import_assistant = + gtk_action_new ("file_import-text", + _("_Import Text Data"), + _("Import text data file"), + ""); + + g_signal_connect (de->invoke_text_import_assistant, "activate", + G_CALLBACK (text_data_import_assistant), de); } /* Returns true if NAME has a suffix which might denote a PSPP file */ @@ -1263,8 +1277,8 @@ save_file (struct data_editor *de) g_assert (de->file_name); - ds_init_cstr (&file_name, de->file_name); - gen_quoted_string (&file_name); + ds_init_empty (&file_name); + syntax_gen_string (&file_name, ss_cstr (de->file_name)); if ( de->save_as_portable ) { @@ -1361,6 +1375,11 @@ data_save_as_dialog (GtkAction *action, struct data_editor *de) de->save_as_portable = ! gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button_sys)); + if ( de->save_as_portable) + append_filename_suffix (de, ".por"); + else + append_filename_suffix (de, ".sav"); + save_file (de); window_set_name_from_filename (e, de->file_name); @@ -1399,9 +1418,8 @@ open_data_file (const gchar *file_name, struct data_editor *de) struct getl_interface *sss; struct string filename; - ds_init_cstr (&filename, file_name); - - gen_quoted_string (&filename); + ds_init_empty (&filename); + syntax_gen_string (&filename, ss_cstr (file_name)); sss = create_syntax_string_source ("GET FILE=%s.", ds_cstr (&filename)); @@ -1493,9 +1511,6 @@ create_data_sheet_variable_popup_menu (struct data_editor *de) GtkWidget *clear_variable = gtk_menu_item_new_with_label (_("Clear")); - gtk_action_connect_proxy (de->insert_variable, - insert_variable ); - gtk_action_connect_proxy (de->delete_variables, clear_variable ); @@ -1526,6 +1541,11 @@ create_data_sheet_variable_popup_menu (struct data_editor *de) G_CALLBACK (psppire_data_editor_sort_descending), de->data_editor); + g_signal_connect_swapped (G_OBJECT (insert_variable), "activate", + G_CALLBACK (gtk_action_activate), + de->insert_variable); + + gtk_menu_shell_append (GTK_MENU_SHELL (menu), sort_descending); gtk_widget_show_all (menu); @@ -1546,16 +1566,16 @@ create_data_sheet_cases_popup_menu (struct data_editor *de) gtk_menu_item_new_with_label (_("Clear")); - gtk_action_connect_proxy (de->insert_case, - insert_case); - - gtk_action_connect_proxy (de->delete_cases, delete_case); gtk_menu_shell_append (GTK_MENU_SHELL (menu), insert_case); + g_signal_connect_swapped (G_OBJECT (insert_case), "activate", + G_CALLBACK (gtk_action_activate), + de->insert_case); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), gtk_separator_menu_item_new ());