G_MODULE_EXPORT int delete_event(GtkWidget *widget, GdkEvent *event, EDITOR *e) { if (e->is_changed) { switch (ask_about_saving(e)) { case GS_YES: /* exit saving */ break; case GS_NO: /* exit without saving */ break; case GS_CANCEL: return TRUE; } } editors_all = g_list_remove(editors_all, e); do_exit(e); return FALSE; }
static int app_delete_cb(GtkWidget *widget, GdkEvent *event, gpointer data) { if (editor_is_dirty((EDITOR *)data)) { switch (ask_about_saving((EDITOR *)data)) { case GS_YES: /* exit saving */ break; case GS_NO: /* exit without saving */ break; case GS_CANCEL: return TRUE; break; } } editors_all = g_list_remove(editors_all, (EDITOR *)data); do_exit((EDITOR *)data); return FALSE; }
G_MODULE_EXPORT void action_new_activate_cb(GtkWidget *widget, EDITOR *e) { /* for studypad only */ gchar *filename = NULL; if (e->is_changed) ask_about_saving(e); filename = g_strdup_printf("%s/%s", settings.gSwordDir, "studypad.spt"); _load_file(e, filename); if (e->filename) g_free(e->filename); e->filename = g_strdup(_("Untitled document")); xml_set_value("Xiphos", "studypad", "lastfile", e->filename); settings.studypadfilename = xml_get_value("studypad", "lastfile"); change_window_title(e->window, e->filename); e->is_changed = TRUE; }