void stf_init (void) { GSList *suffixes = go_slist_create ( g_strdup ("csv"), g_strdup ("tsv"), g_strdup ("txt"), NULL); GSList *mimes = go_slist_create ( g_strdup ("application/tab-separated-values"), g_strdup ("text/comma-separated-values"), g_strdup ("text/csv"), g_strdup ("text/x-csv"), g_strdup ("text/spreadsheet"), g_strdup ("text/tab-separated-values"), NULL); GSList *mimes_txt = go_slist_create ( g_strdup ("text/plain"), g_strdup ("text/csv"), g_strdup ("text/x-csv"), g_strdup ("text/comma-separated-values"), g_strdup ("text/tab-separated-values"), NULL); GOFileSaver *saver; GOFileOpener *opener; opener = go_file_opener_new_with_enc ( "Gnumeric_stf:stf_csvtab", _("Comma or tab separated values (CSV/TSV)"), suffixes, mimes, csv_tsv_probe, stf_read_workbook_auto_csvtab); go_file_opener_register (opener, 0); g_object_unref (opener); opener = go_file_opener_new_with_enc ( "Gnumeric_stf:stf_assistant", _("Text import (configurable)"), NULL, mimes_txt, NULL, stf_read_workbook); g_object_set (G_OBJECT (opener), "interactive-only", TRUE, NULL); go_file_opener_register (opener, 0); g_object_unref (opener); saver = gnm_stf_file_saver_create ("Gnumeric_stf:stf_assistant"); /* Unlike the opener, the saver doesn't require interaction. */ go_file_saver_register (saver); g_object_unref (saver); saver = go_file_saver_new ( "Gnumeric_stf:stf_csv", "csv", _("Comma separated values (CSV)"), GO_FILE_FL_MANUAL_REMEMBER, stf_write_csv); go_file_saver_set_save_scope (saver, GO_FILE_SAVE_SHEET); go_file_saver_register (saver); g_object_unref (saver); }
/** * gnm_stf_file_saver_create: * @id: * * Returns: (transfer full): the newly allocated #GOFileSaver. **/ GOFileSaver * gnm_stf_file_saver_create (gchar const *id) { GOFileSaver *fs = go_file_saver_new (id, "txt", _("Text (configurable)"), GO_FILE_FL_WRITE_ONLY, gnm_stf_file_saver_save); go_file_saver_set_save_scope (fs, GO_FILE_SAVE_WORKBOOK); g_signal_connect (G_OBJECT (fs), "set-export-options", G_CALLBACK (gnm_stf_fs_set_export_options), NULL); return GO_FILE_SAVER (fs); }