[gimp] app: more filename -> GFile
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] app: more filename -> GFile
- Date: Tue, 1 Jul 2014 13:59:30 +0000 (UTC)
commit 651c3d56ffb38d64262f8341be76c322fa856514
Author: Michael Natterer <mitch gimp org>
Date: Tue Jul 1 15:56:39 2014 +0200
app: more filename -> GFile
app/actions/gradients-commands.c | 11 +++++++----
app/core/gimpcurve-load.c | 23 ++++++++++++++---------
app/core/gimpcurve-load.h | 4 ++--
app/core/gimpdatafactory.c | 2 +-
app/core/gimpgradient-save.c | 31 +++++++++++++++++--------------
app/core/gimpgradient-save.h | 2 +-
app/core/gimppalette-import.c | 18 +++++++++---------
app/core/gimppalette-import.h | 2 +-
app/dialogs/palette-import-dialog.c | 9 ++++-----
9 files changed, 56 insertions(+), 46 deletions(-)
---
diff --git a/app/actions/gradients-commands.c b/app/actions/gradients-commands.c
index 9b7f114..7625ecc 100644
--- a/app/actions/gradients-commands.c
+++ b/app/actions/gradients-commands.c
@@ -123,19 +123,22 @@ gradients_save_as_pov_ray_response (GtkWidget *dialog,
{
if (response_id == GTK_RESPONSE_OK)
{
- const gchar *filename;
- GError *error = NULL;
+ GFile *file;
+ GError *error = NULL;
- filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
+ file = gtk_file_chooser_get_file (GTK_FILE_CHOOSER (dialog));
- if (! gimp_gradient_save_pov (gradient, filename, &error))
+ if (! gimp_gradient_save_pov (gradient, file, &error))
{
gimp_message_literal (g_object_get_data (G_OBJECT (dialog), "gimp"),
G_OBJECT (dialog), GIMP_MESSAGE_ERROR,
error->message);
g_clear_error (&error);
+ g_object_unref (file);
return;
}
+
+ g_object_unref (file);
}
gtk_widget_destroy (dialog);
diff --git a/app/core/gimpcurve-load.c b/app/core/gimpcurve-load.c
index 3e157d3..243dfa7 100644
--- a/app/core/gimpcurve-load.c
+++ b/app/core/gimpcurve-load.c
@@ -38,28 +38,33 @@
GList *
-gimp_curve_load (const gchar *filename,
- GError **error)
+gimp_curve_load (GFile *file,
+ GError **error)
{
- FILE *file;
+ gchar *path;
+ FILE *f;
- g_return_val_if_fail (filename != NULL, NULL);
- g_return_val_if_fail (g_path_is_absolute (filename), NULL);
+ g_return_val_if_fail (G_IS_FILE (file), NULL);
+
+ path = g_file_get_path (file);
+
+ g_return_val_if_fail (g_path_is_absolute (path), NULL);
g_return_val_if_fail (error == NULL || *error == NULL, NULL);
- file = g_fopen (filename, "rb");
+ f = g_fopen (path, "rb");
+ g_free (path);
- if (! file)
+ if (! f)
{
g_set_error (error, GIMP_DATA_ERROR, GIMP_DATA_ERROR_OPEN,
_("Could not open '%s' for reading: %s"),
- gimp_filename_to_utf8 (filename), g_strerror (errno));
+ gimp_file_get_utf8_name (file), g_strerror (errno));
return NULL;
}
/* load curves */
- fclose (file);
+ fclose (f);
return NULL;
}
diff --git a/app/core/gimpcurve-load.h b/app/core/gimpcurve-load.h
index b96e512..dd81183 100644
--- a/app/core/gimpcurve-load.h
+++ b/app/core/gimpcurve-load.h
@@ -22,8 +22,8 @@
#define GIMP_CURVE_FILE_EXTENSION ".curve"
-GList * gimp_curve_load (const gchar *filename,
- GError **error);
+GList * gimp_curve_load (GFile *file,
+ GError **error);
#endif /* __GIMP_CURVE_LOAD_H__ */
diff --git a/app/core/gimpdatafactory.c b/app/core/gimpdatafactory.c
index 6086b0b..1ccd343 100644
--- a/app/core/gimpdatafactory.c
+++ b/app/core/gimpdatafactory.c
@@ -390,7 +390,7 @@ gimp_data_factory_data_refresh (GimpDataFactory *factory,
gimp_data_factory_data_foreach (factory, TRUE,
gimp_data_factory_refresh_cache_add, cache);
- /* Now the cache contains a filename => list-of-objects mapping of
+ /* Now the cache contains a GFile => list-of-objects mapping of
* the old objects. So we should now traverse the directory and for
* each file load it only if its mtime is newer.
*
diff --git a/app/core/gimpgradient-save.c b/app/core/gimpgradient-save.c
index 7598541..eb09477 100644
--- a/app/core/gimpgradient-save.c
+++ b/app/core/gimpgradient-save.c
@@ -128,33 +128,36 @@ gimp_gradient_save (GimpData *data,
gboolean
gimp_gradient_save_pov (GimpGradient *gradient,
- const gchar *filename,
+ GFile *file,
GError **error)
{
- FILE *file;
+ gchar *path;
+ FILE *f;
GimpGradientSegment *seg;
gchar buf[G_ASCII_DTOSTR_BUF_SIZE];
gchar color_buf[4][G_ASCII_DTOSTR_BUF_SIZE];
g_return_val_if_fail (GIMP_IS_GRADIENT (gradient), 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, "wb");
+ path = g_file_get_path (file);
+ f = g_fopen (path, "wb");
+ g_free (path);
- if (! file)
+ if (! f)
{
g_set_error (error, GIMP_DATA_ERROR, GIMP_DATA_ERROR_OPEN,
_("Could not open '%s' for writing: %s"),
- gimp_filename_to_utf8 (filename), g_strerror (errno));
+ gimp_file_get_utf8_name (file), g_strerror (errno));
return FALSE;
}
else
{
- fprintf (file, "/* color_map file created by GIMP */\n");
- fprintf (file, "/* http://www.gimp.org/ */\n");
+ fprintf (f, "/* color_map file created by GIMP */\n");
+ fprintf (f, "/* http://www.gimp.org/ */\n");
- fprintf (file, "color_map {\n");
+ fprintf (f, "color_map {\n");
for (seg = gradient->segments; seg; seg = seg->next)
{
@@ -170,7 +173,7 @@ gimp_gradient_save_pov (GimpGradient *gradient,
g_ascii_formatd (color_buf[3], G_ASCII_DTOSTR_BUF_SIZE, "%f",
1.0 - seg->left_color.a);
- fprintf (file, "\t[%s color rgbt <%s, %s, %s, %s>]\n",
+ fprintf (f, "\t[%s color rgbt <%s, %s, %s, %s>]\n",
buf,
color_buf[0], color_buf[1], color_buf[2], color_buf[3]);
@@ -186,7 +189,7 @@ gimp_gradient_save_pov (GimpGradient *gradient,
g_ascii_formatd (color_buf[3], G_ASCII_DTOSTR_BUF_SIZE, "%f",
1.0 - (seg->left_color.a + seg->right_color.a) / 2.0);
- fprintf (file, "\t[%s color rgbt <%s, %s, %s, %s>]\n",
+ fprintf (f, "\t[%s color rgbt <%s, %s, %s, %s>]\n",
buf,
color_buf[0], color_buf[1], color_buf[2], color_buf[3]);
@@ -202,13 +205,13 @@ gimp_gradient_save_pov (GimpGradient *gradient,
g_ascii_formatd (color_buf[3], G_ASCII_DTOSTR_BUF_SIZE, "%f",
1.0 - seg->right_color.a);
- fprintf (file, "\t[%s color rgbt <%s, %s, %s, %s>]\n",
+ fprintf (f, "\t[%s color rgbt <%s, %s, %s, %s>]\n",
buf,
color_buf[0], color_buf[1], color_buf[2], color_buf[3]);
}
- fprintf (file, "} /* color_map */\n");
- fclose (file);
+ fprintf (f, "} /* color_map */\n");
+ fclose (f);
}
return TRUE;
diff --git a/app/core/gimpgradient-save.h b/app/core/gimpgradient-save.h
index ff449fa..866a80a 100644
--- a/app/core/gimpgradient-save.h
+++ b/app/core/gimpgradient-save.h
@@ -24,7 +24,7 @@ gboolean gimp_gradient_save (GimpData *data,
GError **error);
gboolean gimp_gradient_save_pov (GimpGradient *gradient,
- const gchar *filename,
+ GFile *file,
GError **error);
diff --git a/app/core/gimppalette-import.c b/app/core/gimppalette-import.c
index 4f6d91a..0068d25 100644
--- a/app/core/gimppalette-import.c
+++ b/app/core/gimppalette-import.c
@@ -494,30 +494,31 @@ gimp_palette_import_from_drawable (GimpDrawable *drawable,
GimpPalette *
gimp_palette_import_from_file (GimpContext *context,
- const gchar *filename,
+ GFile *file,
const gchar *palette_name,
GError **error)
{
GList *palette_list = NULL;
- GFile *file;
+ gchar *path;
FILE *f;
g_return_val_if_fail (GIMP_IS_CONTEXT (context), NULL);
- g_return_val_if_fail (filename != NULL, NULL);
+ g_return_val_if_fail (G_IS_FILE (file), NULL);
g_return_val_if_fail (palette_name != NULL, NULL);
g_return_val_if_fail (error == NULL || *error == NULL, NULL);
- f = g_fopen (filename, "rb");
+ path = g_file_get_path (file);
+ f = g_fopen (path, "rb");
+ g_free (path);
+
if (! f)
{
g_set_error (error, GIMP_DATA_ERROR, GIMP_DATA_ERROR_OPEN,
_("Could not open '%s' for reading: %s"),
- gimp_filename_to_utf8 (filename), g_strerror (errno));
+ gimp_file_get_utf8_name (file), g_strerror (errno));
return NULL;
}
- file = g_file_new_for_path (filename);
-
switch (gimp_palette_load_detect_format (file, f))
{
case GIMP_PALETTE_FILE_FORMAT_GPL:
@@ -548,11 +549,10 @@ gimp_palette_import_from_file (GimpContext *context,
g_set_error (error,
GIMP_DATA_ERROR, GIMP_DATA_ERROR_READ,
_("Unknown type of palette file: %s"),
- gimp_filename_to_utf8 (filename));
+ gimp_file_get_utf8_name (file));
break;
}
- g_object_unref (file);
fclose (f);
if (palette_list)
diff --git a/app/core/gimppalette-import.h b/app/core/gimppalette-import.h
index 6bb61ce..2597842 100644
--- a/app/core/gimppalette-import.h
+++ b/app/core/gimppalette-import.h
@@ -40,7 +40,7 @@ GimpPalette * gimp_palette_import_from_drawable (GimpDrawable *drawable,
gint threshold,
gboolean selection_only);
GimpPalette * gimp_palette_import_from_file (GimpContext *context,
- const gchar *filename,
+ GFile *file,
const gchar *palette_name,
GError **error);
diff --git a/app/dialogs/palette-import-dialog.c b/app/dialogs/palette-import-dialog.c
index 40138dc..8618bec 100644
--- a/app/dialogs/palette-import-dialog.c
+++ b/app/dialogs/palette-import-dialog.c
@@ -837,16 +837,15 @@ palette_import_make_palette (ImportDialog *dialog)
case FILE_IMPORT:
{
- gchar *filename;
+ GFile *file;
GError *error = NULL;
- filename =
- gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog->file_chooser));
+ file = gtk_file_chooser_get_file (GTK_FILE_CHOOSER (dialog->file_chooser));
palette = gimp_palette_import_from_file (dialog->context,
- filename,
+ file,
palette_name, &error);
- g_free (filename);
+ g_object_unref (file);
if (! palette)
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]