static void render_file (GString *target, HFRenderInfo *info, G_GNUC_UNUSED char const *args) { if (info->sheet != NULL && info->sheet->workbook != NULL) { char *name = go_basename_from_uri ( go_doc_get_uri (GO_DOC (info->sheet->workbook))); g_string_append (target, name); g_free (name); } else g_string_append (target, _("File Name")); }
static void render_path (GString *target, HFRenderInfo *info, G_GNUC_UNUSED char const *args) { if (info->sheet != NULL && info->sheet->workbook != NULL) { char *path = go_dirname_from_uri ( go_doc_get_uri (GO_DOC (info->sheet->workbook)), TRUE); g_string_append (target, path); g_free (path); } else g_string_append (target, _("Path ")); }
static gboolean cb_workbook_uri (Workbook * wb, gpointer closure) { struct wb_uri_closure *dat = closure; char const *wb_uri = go_doc_get_uri (GO_DOC (wb)); if (wb_uri && strcmp (wb_uri, dat->uri) == 0) { dat->wb = wb; return FALSE; } return TRUE; }
gboolean dialog_autosave_prompt (WBCGtk *wbcg) { char const *uri = go_doc_get_uri ( wb_control_get_doc (GNM_WBC (wbcg))); GtkWidget *dialog = gtk_message_dialog_new (wbcg_toplevel (wbcg), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, _("Do you want to save the workbook %s?"), uri); gint result = gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog); return result == GTK_RESPONSE_YES; }