X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpsppire-data-window.c;h=40e41dccca4bc544dbc51d56d4e326d264170d19;hb=0b73a96649162980c523c316f512d677fdd1b6d9;hp=cdd00dca1d46c6efb6bd8892295f29ae8bcb0b9a;hpb=23a109b05ec5e76c4f629338dcaafedbf1e8954b;p=pspp-builds.git diff --git a/src/ui/gui/psppire-data-window.c b/src/ui/gui/psppire-data-window.c index cdd00dca..40e41dcc 100644 --- a/src/ui/gui/psppire-data-window.c +++ b/src/ui/gui/psppire-data-window.c @@ -337,6 +337,8 @@ open_data_file (const gchar *file_name, PsppireDataWindow *de) psppire_window_set_filename (PSPPIRE_WINDOW (de), file_name); add_most_recent (file_name); } + + psppire_window_set_unsaved (PSPPIRE_WINDOW (de), FALSE); } @@ -454,6 +456,8 @@ save_file (PsppireDataWindow *de) ds_destroy (&file_name); execute_syntax (sss); + + psppire_window_set_unsaved (PSPPIRE_WINDOW (de), FALSE); } @@ -1000,7 +1004,11 @@ on_switch_sheet (GtkNotebook *notebook, } - +static void +set_unsaved (gpointer w) +{ + psppire_window_set_unsaved (PSPPIRE_WINDOW (w), TRUE); +} static void psppire_data_window_init (PsppireDataWindow *de) @@ -1021,6 +1029,17 @@ psppire_data_window_init (PsppireDataWindow *de) de->data_editor = PSPPIRE_DATA_EDITOR (psppire_data_editor_new (the_var_store, the_data_store)); + g_signal_connect_swapped (the_data_store, "case-changed", + G_CALLBACK (set_unsaved), de); + + g_signal_connect_swapped (the_data_store, "case-inserted", + G_CALLBACK (set_unsaved), de); + + g_signal_connect_swapped (the_data_store, "cases-deleted", + G_CALLBACK (set_unsaved), de); + + dataset_set_callback (the_dataset, set_unsaved, de); + connect_help (de->xml); g_object_ref (menubar);