[gimp] app: change filename in gimp_text_buffer_load() and _save() to GFile
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] app: change filename in gimp_text_buffer_load() and _save() to GFile
- Date: Wed, 2 Jul 2014 13:13:56 +0000 (UTC)
commit 9f0e27307e3e2f3146965097f46725fd8e3db1a6
Author: Michael Natterer <mitch gimp org>
Date: Wed Jul 2 15:10:53 2014 +0200
app: change filename in gimp_text_buffer_load() and _save() to GFile
app/actions/error-console-commands.c | 12 ++++++------
app/actions/text-editor-commands.c | 14 +++++++-------
app/widgets/gimptextbuffer.c | 30 ++++++++++++++++++------------
app/widgets/gimptextbuffer.h | 4 ++--
4 files changed, 33 insertions(+), 27 deletions(-)
---
diff --git a/app/actions/error-console-commands.c b/app/actions/error-console-commands.c
index d5f5b12..36703cd 100644
--- a/app/actions/error-console-commands.c
+++ b/app/actions/error-console-commands.c
@@ -145,25 +145,25 @@ error_console_save_response (GtkWidget *dialog,
{
if (response_id == GTK_RESPONSE_OK)
{
+ GFile *file;
GError *error = NULL;
- gchar *filename;
- filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
+ file = gtk_file_chooser_get_file (GTK_FILE_CHOOSER (dialog));
if (! gimp_text_buffer_save (GIMP_TEXT_BUFFER (console->text_buffer),
- filename,
+ file,
console->save_selection, &error))
{
gimp_message (console->gimp, G_OBJECT (dialog), GIMP_MESSAGE_ERROR,
_("Error writing file '%s':\n%s"),
- gimp_filename_to_utf8 (filename),
+ gimp_file_get_utf8_name (file),
error->message);
g_clear_error (&error);
- g_free (filename);
+ g_object_unref (file);
return;
}
- g_free (filename);
+ g_object_unref (file);
}
gtk_widget_destroy (dialog);
diff --git a/app/actions/text-editor-commands.c b/app/actions/text-editor-commands.c
index 8dd7442..9bece54 100644
--- a/app/actions/text-editor-commands.c
+++ b/app/actions/text-editor-commands.c
@@ -131,25 +131,25 @@ text_editor_load_response (GtkWidget *dialog,
if (response_id == GTK_RESPONSE_OK)
{
GtkTextBuffer *buffer;
- gchar *filename;
+ GFile *file;
GError *error = NULL;
- buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (editor->view));
- filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
+ buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (editor->view));
+ file = gtk_file_chooser_get_file (GTK_FILE_CHOOSER (dialog));
- if (! gimp_text_buffer_load (GIMP_TEXT_BUFFER (buffer), filename, &error))
+ if (! gimp_text_buffer_load (GIMP_TEXT_BUFFER (buffer), file, &error))
{
gimp_message (editor->ui_manager->gimp, G_OBJECT (dialog),
GIMP_MESSAGE_ERROR,
_("Could not open '%s' for reading: %s"),
- gimp_filename_to_utf8 (filename),
+ gimp_file_get_utf8_name (file),
error->message);
g_clear_error (&error);
- g_free (filename);
+ g_object_unref (file);
return;
}
- g_free (filename);
+ g_object_unref (file);
}
gtk_widget_hide (dialog);
diff --git a/app/widgets/gimptextbuffer.c b/app/widgets/gimptextbuffer.c
index 41e8901..5f32e7e 100644
--- a/app/widgets/gimptextbuffer.c
+++ b/app/widgets/gimptextbuffer.c
@@ -1400,21 +1400,24 @@ gimp_text_buffer_get_iter_at_index (GimpTextBuffer *buffer,
gboolean
gimp_text_buffer_load (GimpTextBuffer *buffer,
- const gchar *filename,
+ GFile *file,
GError **error)
{
- FILE *file;
+ gchar *path;
+ FILE *f;
gchar buf[2048];
gint remaining = 0;
GtkTextIter iter;
g_return_val_if_fail (GIMP_IS_TEXT_BUFFER (buffer), FALSE);
- g_return_val_if_fail (filename != NULL, FALSE);
+ g_return_val_if_fail (G_IS_FILE (file), FALSE);
g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
- file = g_fopen (filename, "r");
+ path = g_file_get_path (file);
+ f = g_fopen (path, "r");
+ g_free (file);
- if (! file)
+ if (! f)
{
g_set_error_literal (error, G_FILE_ERROR,
g_file_error_from_errno (errno),
@@ -1427,13 +1430,13 @@ gimp_text_buffer_load (GimpTextBuffer *buffer,
gimp_text_buffer_set_text (buffer, NULL);
gtk_text_buffer_get_end_iter (GTK_TEXT_BUFFER (buffer), &iter);
- while (! feof (file))
+ while (! feof (f))
{
const char *leftover;
gint count;
gint to_read = sizeof (buf) - remaining - 1;
- count = fread (buf + remaining, 1, to_read, file);
+ count = fread (buf + remaining, 1, to_read, f);
buf[count + remaining] = '\0';
g_utf8_validate (buf, count + remaining, &leftover);
@@ -1451,9 +1454,9 @@ gimp_text_buffer_load (GimpTextBuffer *buffer,
if (remaining)
g_message (_("Invalid UTF-8 data in file '%s'."),
- gimp_filename_to_utf8 (filename));
+ gimp_file_get_utf8_name (file));
- fclose (file);
+ fclose (f);
gtk_text_buffer_end_user_action (GTK_TEXT_BUFFER (buffer));
@@ -1462,20 +1465,23 @@ gimp_text_buffer_load (GimpTextBuffer *buffer,
gboolean
gimp_text_buffer_save (GimpTextBuffer *buffer,
- const gchar *filename,
+ GFile *file,
gboolean selection_only,
GError **error)
{
GtkTextIter start_iter;
GtkTextIter end_iter;
+ gchar *path;
gint fd;
gchar *text_contents;
g_return_val_if_fail (GIMP_IS_TEXT_BUFFER (buffer), FALSE);
- g_return_val_if_fail (filename != NULL, FALSE);
+ g_return_val_if_fail (G_IS_FILE (file), FALSE);
g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
- fd = g_open (filename, O_WRONLY | O_CREAT | O_APPEND, 0666);
+ path = g_file_get_path (file);
+ fd = g_open (path, O_WRONLY | O_CREAT | O_APPEND, 0666);
+ g_free (path);
if (fd == -1)
{
diff --git a/app/widgets/gimptextbuffer.h b/app/widgets/gimptextbuffer.h
index 410eed2..1cc8f4e 100644
--- a/app/widgets/gimptextbuffer.h
+++ b/app/widgets/gimptextbuffer.h
@@ -156,10 +156,10 @@ void gimp_text_buffer_get_iter_at_index (GimpTextBuffer *buffer,
gboolean layout_index);
gboolean gimp_text_buffer_load (GimpTextBuffer *buffer,
- const gchar *filename,
+ GFile *file,
GError **error);
gboolean gimp_text_buffer_save (GimpTextBuffer *buffer,
- const gchar *filename,
+ GFile *file,
gboolean selection_only,
GError **error);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]