static void select_quark_explorer(Quark *q) { GUI *gui = gui_from_quark(q); if (gui->eui) { TreeItem *item = quark_get_udata(q); TreeClearSelection(gui->eui->tree); TreeHighlightItem(gui->eui->tree, item); TreeScrollToItem(gui->eui->tree, item); } }
int save_project(GProject *gp, char *fn) { GrFILE *grf; Quark *project = gproject_get_top(gp); GUI *gui = gui_from_quark(project); int noask_save; static int save_unsupported = FALSE; int retval; if (!project || !fn) { return RETURN_FAILURE; } if (fn && strstr(fn, ".agr")) { errmsg("Cowardly refusing to overwrite an agr file"); return RETURN_FAILURE; } if (!save_unsupported && !yesno("The current format may be unsupported by the final release. Continue?", "Yeah, I'm brave!", NULL, "doc/UsersGuide.html#unsupported_format")) { return RETURN_FAILURE; } save_unsupported = TRUE; noask_save = gui->noask; if (strings_are_equal(gproject_get_docname(gp), fn)) { /* If saving under the same name, don't warn about overwriting */ gui->noask = TRUE; } grf = grfile_openw(fn); if (!grf) { return RETURN_FAILURE; } gui->noask = noask_save; retval = gproject_save(gp, grf); grfile_free(grf); return retval; }