X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fmenu-actions.c;h=fb62f8a52cf81774c699a2dfba96e0235144a615;hb=0fa141762183890ebd139ccd9264f08db9011539;hp=4fe162c762a5139c522221b7cd909975b7707a10;hpb=03660262a395494be666ae271d7d08408d34007d;p=pspp diff --git a/src/ui/gui/menu-actions.c b/src/ui/gui/menu-actions.c index 4fe162c762..fb62f8a52c 100644 --- a/src/ui/gui/menu-actions.c +++ b/src/ui/gui/menu-actions.c @@ -262,9 +262,10 @@ on_open1_activate (GtkMenuItem *menuitem, /* Re initialise HANDLE, by interrogating the user for a new file name */ -static void +static gboolean recreate_save_handle(struct file_handle **handle) { + gint response; GtkWidget *dialog; GtkWidget *data_editor = get_widget_assert(xml, "data_editor"); @@ -276,7 +277,9 @@ recreate_save_handle(struct file_handle **handle) GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, NULL); - if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT) + response = gtk_dialog_run (GTK_DIALOG (dialog)); + + if (response == GTK_RESPONSE_ACCEPT) { char *file_name = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog)); @@ -285,7 +288,8 @@ recreate_save_handle(struct file_handle **handle) if ( *handle ) fh_free(*handle); - *handle = fh_create_file (handle_name, file_name, fh_default_properties()); + *handle = fh_create_file (handle_name, file_name, + fh_default_properties()); psppire_set_window_title(basename(file_name)); @@ -293,6 +297,8 @@ recreate_save_handle(struct file_handle **handle) } gtk_widget_destroy (dialog); + + return ( response == GTK_RESPONSE_ACCEPT ) ; } void @@ -303,7 +309,10 @@ on_save1_activate (GtkMenuItem *menuitem, PsppireDataStore *data_store ; if ( ! psppire_handle ) - recreate_save_handle(&psppire_handle); + { + if ( ! recreate_save_handle(&psppire_handle) ) + return; + } data_sheet = GTK_SHEET(get_widget_assert(xml, "data_sheet")); data_store = PSPPIRE_DATA_STORE(gtk_sheet_get_model(data_sheet)); @@ -321,7 +330,9 @@ on_save_as1_activate (GtkMenuItem *menuitem, GtkSheet *data_sheet ; PsppireDataStore *data_store ; - recreate_save_handle(&psppire_handle); + if ( ! recreate_save_handle(&psppire_handle) ) + return ; + if ( ! psppire_handle ) return ; @@ -353,6 +364,8 @@ on_clear_activate (GtkMenuItem *menuitem, switch (page) { + case PAGE_VAR_SHEET: + break; case PAGE_DATA_SHEET: { GtkSheet *data_sheet = GTK_SHEET(get_widget_assert(xml, "data_sheet")); @@ -398,87 +411,6 @@ on_clear_activate (GtkMenuItem *menuitem, } -void -on_insert1_activate (GtkMenuItem *menuitem, - gpointer user_data) -{ - GtkNotebook *notebook = GTK_NOTEBOOK(get_widget_assert(xml, "notebook1")); - gint page = -1; - - page = gtk_notebook_get_current_page(notebook); - - switch (page) - { - case PAGE_DATA_SHEET: -#if 0 - { - GtkSheet *data_sheet = GTK_SHEET(get_widget_assert(xml, "data_sheet")); - PsppireDataStore *data_store = - PSPPIRE_DATA_STORE(gtk_sheet_get_model(data_sheet)); - - psppire_case_array_insert_case(data_store->cases, - data_sheet->range.row0, - blank_case, the_dictionary); - } - break; -#endif - case PAGE_VAR_SHEET: - { - GtkSheet *var_sheet = - GTK_SHEET(get_widget_assert(xml, "variable_sheet")); - - PsppireVarStore *var_store = - PSPPIRE_VAR_STORE(gtk_sheet_get_model(var_sheet)); - - psppire_dict_insert_variable(var_store->dict, var_sheet->range.row0, 0); - } - break; - } -} - -#if 0 -void -on_delete1_activate (GtkMenuItem *menuitem, - gpointer user_data) -{ - gint page = -1; - GtkWidget *notebook = get_widget_assert(xml, "notebook1"); - - page = gtk_notebook_get_current_page(GTK_NOTEBOOK(notebook)); - switch ( page) - { -#if 0 - case PAGE_DATA_SHEET: - { - GtkSheet *data_sheet = GTK_SHEET(get_widget_assert(xml, "data_sheet")); - PsppireDataStore *data_store = - PSPPIRE_DATA_STORE(gtk_sheet_get_model(data_sheet)); - - psppire_case_array_delete_cases(data_store->cases, - data_sheet->range.row0, - 1 + data_sheet->range.rowi - - data_sheet->range.row0 ); - } - break; -#endif - case PAGE_VAR_SHEET: - { - GtkSheet *var_sheet = - GTK_SHEET(get_widget_assert(xml, "variable_sheet")); - - PsppireVarStore *var_store = - PSPPIRE_VAR_STORE(gtk_sheet_get_model(var_sheet)); - - psppire_dict_delete_variables(var_store->dict, - var_sheet->range.row0, - 1 + var_sheet->range.rowi - - var_sheet->range.row0 ); - } - break; - } -} -#endif - void on_about1_activate(GtkMenuItem *menuitem, gpointer user_data) @@ -758,7 +690,7 @@ insert_case(void) gtk_sheet_get_active_cell(data_sheet, &row, &col); - psppire_case_file_insert_case(data_store->case_file, row); + psppire_data_store_insert_new_case(data_store, row); } void