Empty changelog
parent
fe553c035a
commit
9560b08e04
|
@ -1628,7 +1628,9 @@ moo_app_tempnam (MooApp *app)
|
|||
|
||||
for (i = 0; i < 1000; ++i)
|
||||
{
|
||||
basename = g_strdup_printf ("%08x", g_random_int ());
|
||||
basename = g_strdup_printf ("%s-%08x",
|
||||
app->priv->info->short_name,
|
||||
g_random_int ());
|
||||
dirname = g_build_filename (g_get_tmp_dir (), basename, NULL);
|
||||
g_free (basename);
|
||||
|
||||
|
@ -1649,7 +1651,7 @@ moo_app_tempnam (MooApp *app)
|
|||
|
||||
for (i = 0; i < 1000; ++i)
|
||||
{
|
||||
basename = g_strdup_printf ("%08x", g_random_int ());
|
||||
basename = g_strdup_printf ("%08x.tmp", g_random_int ());
|
||||
filename = g_build_filename (app->priv->tmpdir, basename, NULL);
|
||||
g_free (basename);
|
||||
|
||||
|
|
|
@ -28,19 +28,24 @@ static GSList *UNTITLED = NULL;
|
|||
static GHashTable *UNTITLED_NO = NULL;
|
||||
|
||||
|
||||
static gboolean moo_edit_load_default (MooEditLoader *loader,
|
||||
MooEdit *edit,
|
||||
const char *file,
|
||||
const char *encoding,
|
||||
GError **error);
|
||||
static gboolean moo_edit_reload_default (MooEditLoader *loader,
|
||||
MooEdit *edit,
|
||||
GError **error);
|
||||
static gboolean moo_edit_save_default (MooEditSaver *saver,
|
||||
MooEdit *edit,
|
||||
const char *file,
|
||||
const char *encoding,
|
||||
GError **error);
|
||||
static gboolean moo_edit_load_default (MooEditLoader *loader,
|
||||
MooEdit *edit,
|
||||
const char *file,
|
||||
const char *encoding,
|
||||
GError **error);
|
||||
static gboolean moo_edit_reload_default (MooEditLoader *loader,
|
||||
MooEdit *edit,
|
||||
GError **error);
|
||||
static gboolean moo_edit_save_default (MooEditSaver *saver,
|
||||
MooEdit *edit,
|
||||
const char *file,
|
||||
const char *encoding,
|
||||
GError **error);
|
||||
static gboolean moo_edit_save_copy_default (MooEditSaver *saver,
|
||||
MooEdit *edit,
|
||||
const char *file,
|
||||
const char *encoding,
|
||||
GError **error);
|
||||
|
||||
static void block_buffer_signals (MooEdit *edit);
|
||||
static void unblock_buffer_signals (MooEdit *edit);
|
||||
|
@ -74,6 +79,7 @@ MooEditSaver *moo_edit_saver_get_default (void)
|
|||
default_saver = g_new0 (MooEditSaver, 1);
|
||||
default_saver->ref_count = 1;
|
||||
default_saver->save = moo_edit_save_default;
|
||||
default_saver->save_copy = moo_edit_save_copy_default;
|
||||
}
|
||||
|
||||
return default_saver;
|
||||
|
@ -179,6 +185,31 @@ gboolean moo_edit_save (MooEditSaver *saver,
|
|||
}
|
||||
|
||||
|
||||
gboolean
|
||||
moo_edit_save_copy (MooEditSaver *saver,
|
||||
MooEdit *edit,
|
||||
const char *filename,
|
||||
const char *encoding,
|
||||
GError **error)
|
||||
{
|
||||
char *filename_copy, *encoding_copy;
|
||||
gboolean result;
|
||||
|
||||
g_return_val_if_fail (saver != NULL, FALSE);
|
||||
g_return_val_if_fail (MOO_IS_EDIT (edit), FALSE);
|
||||
g_return_val_if_fail (filename != NULL, FALSE);
|
||||
|
||||
filename_copy = g_strdup (filename);
|
||||
encoding_copy = g_strdup (encoding);
|
||||
|
||||
result = saver->save_copy (saver, edit, filename_copy, encoding_copy, error);
|
||||
|
||||
g_free (filename_copy);
|
||||
g_free (encoding_copy);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
/***************************************************************************/
|
||||
/* File loading
|
||||
*/
|
||||
|
@ -461,11 +492,12 @@ static gboolean do_write (MooEdit *edit,
|
|||
GError **error);
|
||||
|
||||
|
||||
static gboolean moo_edit_save_default (G_GNUC_UNUSED MooEditSaver *saver,
|
||||
MooEdit *edit,
|
||||
const char *filename,
|
||||
const char *encoding,
|
||||
GError **error)
|
||||
static gboolean
|
||||
moo_edit_save_default (G_GNUC_UNUSED MooEditSaver *saver,
|
||||
MooEdit *edit,
|
||||
const char *filename,
|
||||
const char *encoding,
|
||||
GError **error)
|
||||
{
|
||||
g_return_val_if_fail (MOO_IS_EDIT (edit), FALSE);
|
||||
g_return_val_if_fail (filename && filename[0], FALSE);
|
||||
|
@ -485,6 +517,19 @@ static gboolean moo_edit_save_default (G_GNUC_UNUSED MooEditSaver *saver,
|
|||
}
|
||||
|
||||
|
||||
static gboolean
|
||||
moo_edit_save_copy_default (G_GNUC_UNUSED MooEditSaver *saver,
|
||||
MooEdit *edit,
|
||||
const char *filename,
|
||||
const char *encoding,
|
||||
GError **error)
|
||||
{
|
||||
g_return_val_if_fail (MOO_IS_EDIT (edit), FALSE);
|
||||
g_return_val_if_fail (filename && filename[0], FALSE);
|
||||
return do_write (edit, filename, encoding ? encoding : "UTF8", error);
|
||||
}
|
||||
|
||||
|
||||
static gboolean do_write (MooEdit *edit,
|
||||
const char *filename,
|
||||
const char *encoding,
|
||||
|
|
|
@ -41,11 +41,16 @@ struct _MooEditSaver
|
|||
{
|
||||
guint ref_count;
|
||||
|
||||
gboolean (*save) (MooEditSaver *saver,
|
||||
MooEdit *edit,
|
||||
const char *file,
|
||||
const char *encoding,
|
||||
GError **error);
|
||||
gboolean (*save) (MooEditSaver *saver,
|
||||
MooEdit *edit,
|
||||
const char *file,
|
||||
const char *encoding,
|
||||
GError **error);
|
||||
gboolean (*save_copy) (MooEditSaver *saver,
|
||||
MooEdit *edit,
|
||||
const char *file,
|
||||
const char *encoding,
|
||||
GError **error);
|
||||
};
|
||||
|
||||
|
||||
|
@ -70,6 +75,11 @@ gboolean moo_edit_save (MooEditSaver *saver,
|
|||
const char *file,
|
||||
const char *encoding,
|
||||
GError **error);
|
||||
gboolean moo_edit_save_copy (MooEditSaver *saver,
|
||||
MooEdit *edit,
|
||||
const char *file,
|
||||
const char *encoding,
|
||||
GError **error);
|
||||
|
||||
|
||||
G_END_DECLS
|
||||
|
|
|
@ -1377,6 +1377,29 @@ out:
|
|||
}
|
||||
|
||||
|
||||
gboolean
|
||||
moo_editor_save_copy (MooEditor *editor,
|
||||
MooEdit *doc,
|
||||
const char *filename,
|
||||
const char *encoding,
|
||||
GError **error)
|
||||
{
|
||||
WindowInfo *info;
|
||||
MooEditSaver *saver;
|
||||
|
||||
g_return_val_if_fail (MOO_IS_EDITOR (editor), FALSE);
|
||||
g_return_val_if_fail (filename != NULL, FALSE);
|
||||
|
||||
info = window_list_find_doc (editor, doc);
|
||||
g_return_val_if_fail (info != NULL, FALSE);
|
||||
|
||||
saver = get_saver (editor, doc);
|
||||
g_return_val_if_fail (saver != NULL, FALSE);
|
||||
|
||||
return moo_edit_save_copy (saver, doc, filename, encoding, error);
|
||||
}
|
||||
|
||||
|
||||
static MooEditLoader*
|
||||
get_loader (MooEditor *editor,
|
||||
MooEdit *doc)
|
||||
|
|
|
@ -107,6 +107,11 @@ void moo_editor_set_window_type (MooEditor *editor,
|
|||
void moo_editor_set_edit_type (MooEditor *editor,
|
||||
GType type);
|
||||
|
||||
gboolean moo_editor_save_copy (MooEditor *editor,
|
||||
MooEdit *doc,
|
||||
const char *filename,
|
||||
const char *encoding,
|
||||
GError **error);
|
||||
|
||||
#ifdef MOOEDIT_COMPILATION
|
||||
void _moo_edit_window_insert_doc (MooEditWindow *window,
|
||||
|
|
Loading…
Reference in New Issue