/* Callback for data_save_as action. Prompt for a filename and save */
static void
-data_save_as_dialog (GtkAction *action, PsppireDataWindow *de)
+data_save_as_dialog (PsppireDataWindow *de)
{
GtkWidget *button_sys;
GtkWidget *dialog =
If there's an existing file name, then just save,
otherwise prompt for a file name, then save */
static void
-data_save (GtkAction *action, PsppireDataWindow *de)
+data_save (PsppireDataWindow *de)
{
if (de->file_name)
save_file (de);
else
- data_save_as_dialog (action, de);
+ data_save_as_dialog (de);
}
psppire_window_set_unsaved (PSPPIRE_WINDOW (w), TRUE);
}
+/* Callback for the "delete" action (clicking the x on the top right
+ hand corner of the window) */
+static gboolean
+on_delete (GtkWidget *w, GdkEvent *event, gpointer user_data)
+{
+ PsppireDataWindow *dw = PSPPIRE_DATA_WINDOW (user_data);
+
+ return FALSE;
+}
+
+
static void
psppire_data_window_init (PsppireDataWindow *de)
{
"stock-id", "gtk-save",
NULL);
- g_signal_connect (action_data_save, "activate",
- G_CALLBACK (data_save), de);
+ g_signal_connect_swapped (action_data_save, "activate",
+ G_CALLBACK (data_save), de);
}
"stock-id", "gtk-save-as",
NULL);
- g_signal_connect (action_data_save_as, "activate",
+ g_signal_connect_swapped (action_data_save_as, "activate",
G_CALLBACK (data_save_as_dialog), de);
}
"varsheet-row-menu", de->var_sheet_variable_popup_menu,
NULL);
+ g_signal_connect (de, "delete-event", G_CALLBACK (on_delete), de);
+
+
gtk_widget_show (GTK_WIDGET (de->data_editor));
gtk_widget_show (box);
}