[gimp] libgimpbase: remove gimp_personal_rc_file()
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] libgimpbase: remove gimp_personal_rc_file()
- Date: Sat, 21 Sep 2019 16:09:55 +0000 (UTC)
commit 1bca89163d6c2c8593d8748d9977498fa6d56706
Author: Michael Natterer <mitch gimp org>
Date: Sat Sep 21 18:08:13 2019 +0200
libgimpbase: remove gimp_personal_rc_file()
and port its remaining users to gimp_directory_file().
app/gui/splash.c | 47 ++----
app/menus/menus.c | 16 ++-
app/tests/gimp-test-session-utils.c | 60 ++++----
app/widgets/gimppropwidgets.c | 8 +-
app/widgets/gimptemplateeditor.c | 17 ++-
libgimpbase/gimpbase.def | 1 -
libgimpbase/gimpenv.c | 21 +--
libgimpbase/gimpenv.h | 19 ++-
.../fractal-explorer/fractal-explorer-dialogs.c | 6 +-
plug-ins/gfig/gfig-dialog.c | 6 +-
plug-ins/gimpressionist/utils.c | 6 +-
plug-ins/gradient-flare/gradient-flare.c | 20 +--
plug-ins/imagemap/imap_preferences.c | 160 ++++++++++++---------
13 files changed, 186 insertions(+), 201 deletions(-)
---
diff --git a/app/gui/splash.c b/app/gui/splash.c
index 151c84d48f..74520ac826 100644
--- a/app/gui/splash.c
+++ b/app/gui/splash.c
@@ -90,15 +90,10 @@ static GdkPixbufAnimation *
gint max_height,
gboolean be_verbose);
static GdkPixbufAnimation *
- splash_image_load_from_path (const gchar *filename,
+ splash_image_load_from_file (GFile *file,
gint max_width,
gint max_height,
gboolean be_verbose);
-static GdkPixbufAnimation *
- splash_image_load_from_file (GFile *file,
- gint max_width,
- gint max_height,
- gboolean be_verbose);
static GdkPixbufAnimation *
splash_image_pick_from_dirs (GList *dirs,
gint max_width,
@@ -485,7 +480,6 @@ splash_image_load (Gimp *gimp,
gboolean be_verbose)
{
GdkPixbufAnimation *animation = NULL;
- gchar *filename;
GFile *file;
GList *list;
@@ -500,18 +494,16 @@ splash_image_load (Gimp *gimp,
return animation;
/* File "gimp-splash.png" in personal configuration directory. */
- filename = gimp_personal_rc_file ("gimp-splash.png");
- animation = splash_image_load_from_path (filename,
+ file = gimp_directory_file ("gimp-splash.png", NULL);
+ animation = splash_image_load_from_file (file,
max_width, max_height,
be_verbose);
- g_free (filename);
+ g_object_unref (file);
if (animation)
return animation;
/* Random image under splashes/ directory in personal config dir. */
- filename = gimp_personal_rc_file ("splashes");
- file = g_file_new_for_path (filename);
- g_free (filename);
+ file = gimp_directory_file ("splashes", NULL);
list = NULL;
list = g_list_prepend (list, file);
animation = splash_image_pick_from_dirs (list,
@@ -522,19 +514,16 @@ splash_image_load (Gimp *gimp,
return animation;
/* Release splash image. */
- filename = g_build_filename (gimp_data_directory (),
- "images", "gimp-splash.png", NULL);
- animation = splash_image_load_from_path (filename,
+ file = gimp_data_directory_file ("images", "gimp-splash.png", NULL);
+ animation = splash_image_load_from_file (file,
max_width, max_height,
be_verbose);
- g_free (filename);
+ g_object_unref (file);
if (animation)
return animation;
/* Random release image in installed splashes/ directory. */
- filename = g_build_filename (gimp_data_directory (), "splashes", NULL);
- file = g_file_new_for_path (filename);
- g_free (filename);
+ file = gimp_data_directory_file ("splashes", NULL);
list = NULL;
list = g_list_prepend (list, file);
animation = splash_image_pick_from_dirs (list,
@@ -545,24 +534,6 @@ splash_image_load (Gimp *gimp,
return animation;
}
-static GdkPixbufAnimation *
-splash_image_load_from_path (const gchar *filename,
- gint max_width,
- gint max_height,
- gboolean be_verbose)
-{
- GdkPixbufAnimation *animation;
- GFile *file;
-
- file = g_file_new_for_path (filename);
- animation = splash_image_load_from_file (file,
- max_width, max_height,
- be_verbose);
- g_object_unref (file);
-
- return animation;
-}
-
static GdkPixbufAnimation *
splash_image_load_from_file (GFile *file,
gint max_width,
diff --git a/app/menus/menus.c b/app/menus/menus.c
index 79a3f25caf..4ca8b4b843 100644
--- a/app/menus/menus.c
+++ b/app/menus/menus.c
@@ -414,23 +414,28 @@ menus_exit (Gimp *gimp)
void
menus_restore (Gimp *gimp)
{
+ GFile *file;
gchar *filename;
g_return_if_fail (GIMP_IS_GIMP (gimp));
- filename = gimp_personal_rc_file ("menurc");
+ file = gimp_directory_file ("menurc", NULL);
if (gimp->be_verbose)
- g_print ("Parsing '%s'\n", gimp_filename_to_utf8 (filename));
+ g_print ("Parsing '%s'\n", gimp_file_get_utf8_name (file));
+ filename = g_file_get_path (file);
gtk_accel_map_load (filename);
g_free (filename);
+
+ g_object_unref (file);
}
void
menus_save (Gimp *gimp,
gboolean always_save)
{
+ GFile *file;
gchar *filename;
g_return_if_fail (GIMP_IS_GIMP (gimp));
@@ -438,14 +443,17 @@ menus_save (Gimp *gimp,
if (menurc_deleted && ! always_save)
return;
- filename = gimp_personal_rc_file ("menurc");
+ file = gimp_directory_file ("menurc", NULL);
if (gimp->be_verbose)
- g_print ("Writing '%s'\n", gimp_filename_to_utf8 (filename));
+ g_print ("Writing '%s'\n", gimp_file_get_utf8_name (file));
+ filename = g_file_get_path (file);
gtk_accel_map_save (filename);
g_free (filename);
+ g_object_unref (file);
+
menurc_deleted = FALSE;
}
diff --git a/app/tests/gimp-test-session-utils.c b/app/tests/gimp-test-session-utils.c
index e5b0b01ab9..ffc9f0fc3a 100644
--- a/app/tests/gimp-test-session-utils.c
+++ b/app/tests/gimp-test-session-utils.c
@@ -42,30 +42,34 @@
typedef struct
{
- gchar *filename;
+ GFile *file;
gchar *md5;
GTimeVal modtime;
} GimpTestFileState;
static gboolean
-gimp_test_get_file_state_verbose (const gchar *filename,
+gimp_test_get_file_state_verbose (GFile *file,
GimpTestFileState *filestate)
{
gboolean success = TRUE;
- filestate->filename = g_strdup (filename);
+ filestate->file = g_object_ref (file);
/* Get checksum */
if (success)
{
+ gchar *filename;
gchar *contents = NULL;
gsize length = 0;
+ filename = g_file_get_path (file);
success = g_file_get_contents (filename,
&contents,
&length,
NULL);
+ g_free (filename);
+
if (success)
{
filestate->md5 = g_compute_checksum_for_string (G_CHECKSUM_MD5,
@@ -79,7 +83,6 @@ gimp_test_get_file_state_verbose (const gchar *filename,
/* Get modification time */
if (success)
{
- GFile *file = g_file_new_for_path (filename);
GFileInfo *info = g_file_query_info (file,
G_FILE_ATTRIBUTE_TIME_MODIFIED, 0,
NULL, NULL);
@@ -93,25 +96,25 @@ gimp_test_get_file_state_verbose (const gchar *filename,
{
success = FALSE;
}
-
- g_object_unref (file);
}
if (! success)
- g_printerr ("Failed to get initial file info for '%s'\n", filename);
+ g_printerr ("Failed to get initial file info for '%s'\n",
+ gimp_file_get_utf8_name (file));
return success;
}
static gboolean
-gimp_test_file_state_changes (const gchar *filename,
+gimp_test_file_state_changes (GFile *file,
GimpTestFileState *state1,
GimpTestFileState *state2)
{
if (state1->modtime.tv_sec == state2->modtime.tv_sec &&
state1->modtime.tv_usec == state2->modtime.tv_usec)
{
- g_printerr ("A new '%s' was not created\n", filename);
+ g_printerr ("A new '%s' was not created\n",
+ gimp_file_get_utf8_name (file));
return FALSE;
}
@@ -120,13 +123,14 @@ gimp_test_file_state_changes (const gchar *filename,
char *diff_argv[5] = {
"diff",
"-u",
- state1->filename,
- state2->filename,
+ g_file_get_path (state1->file),
+ g_file_get_path (state2->file),
NULL
};
g_printerr ("'%s' was changed but should not have been. Reason, using "
- "`diff -u $expected $actual`\n", filename);
+ "`diff -u $expected $actual`\n",
+ gimp_file_get_utf8_name (file));
g_spawn_sync (NULL /*working_directory*/,
diff_argv,
@@ -139,6 +143,9 @@ gimp_test_file_state_changes (const gchar *filename,
NULL /*exist_status*/,
NULL /*error*/);
+ g_free (diff_argv[2]);
+ g_free (diff_argv[3]);
+
return FALSE;
}
@@ -171,8 +178,8 @@ gimp_test_session_load_and_write_session_files (const gchar *loaded_sessionrc,
GimpTestFileState initial_dockrc_state = { NULL, NULL, { 0, 0 } };
GimpTestFileState final_sessionrc_state = { NULL, NULL, { 0, 0 } };
GimpTestFileState final_dockrc_state = { NULL, NULL, { 0, 0 } };
- gchar *sessionrc_filename = NULL;
- gchar *dockrc_filename = NULL;
+ GFile *sessionrc_file = NULL;
+ GFile *dockrc_file = NULL;
/* Make sure to run this before we use any GIMP functions */
gimp_test_utils_set_gimp3_directory ("GIMP_TESTING_ABS_TOP_SRCDIR",
@@ -183,13 +190,13 @@ gimp_test_session_load_and_write_session_files (const gchar *loaded_sessionrc,
* the read file, which is why we check the MD5 of the -expected
* variant
*/
- sessionrc_filename = gimp_personal_rc_file (expected_sessionrc);
- dockrc_filename = gimp_personal_rc_file (expected_dockrc);
+ sessionrc_file = gimp_directory_file (expected_sessionrc, NULL);
+ dockrc_file = gimp_directory_file (expected_dockrc, NULL);
/* Remember the modtimes and MD5s */
- g_assert (gimp_test_get_file_state_verbose (sessionrc_filename,
+ g_assert (gimp_test_get_file_state_verbose (sessionrc_file,
&initial_sessionrc_state));
- g_assert (gimp_test_get_file_state_verbose (dockrc_filename,
+ g_assert (gimp_test_get_file_state_verbose (dockrc_file,
&initial_dockrc_state));
/* Use specific input files when restoring the session */
@@ -215,18 +222,19 @@ gimp_test_session_load_and_write_session_files (const gchar *loaded_sessionrc,
g_unsetenv ("GIMP_TESTING_SESSIONRC_NAME");
g_unsetenv ("GIMP_TESTING_DOCKRC_NAME");
- g_free (sessionrc_filename);
- g_free (dockrc_filename);
- sessionrc_filename = gimp_personal_rc_file ("sessionrc");
- dockrc_filename = gimp_personal_rc_file ("dockrc");
+ g_object_unref (sessionrc_file);
+ g_object_unref (dockrc_file);
+
+ sessionrc_file = gimp_directory_file ("sessionrc", NULL);
+ dockrc_file = gimp_directory_file ("dockrc", NULL);
/* Exit. This includes writing sessionrc and dockrc*/
gimp_exit (gimp, TRUE);
/* Now get the new modtimes and MD5s */
- g_assert (gimp_test_get_file_state_verbose (sessionrc_filename,
+ g_assert (gimp_test_get_file_state_verbose (sessionrc_file,
&final_sessionrc_state));
- g_assert (gimp_test_get_file_state_verbose (dockrc_filename,
+ g_assert (gimp_test_get_file_state_verbose (dockrc_file,
&final_dockrc_state));
/* If things have gone our way, GIMP will have deserialized
@@ -235,10 +243,10 @@ gimp_test_session_load_and_write_session_files (const gchar *loaded_sessionrc,
* to make sure that their content remains the same we compare their
* MD5
*/
- g_assert (gimp_test_file_state_changes ("sessionrc",
+ g_assert (gimp_test_file_state_changes (g_file_new_for_path ("sessionrc"),
&initial_sessionrc_state,
&final_sessionrc_state));
- g_assert (gimp_test_file_state_changes ("dockrc",
+ g_assert (gimp_test_file_state_changes (g_file_new_for_path ("dockrc"),
&initial_dockrc_state,
&final_dockrc_state));
}
diff --git a/app/widgets/gimppropwidgets.c b/app/widgets/gimppropwidgets.c
index 81d187e34f..afc5b76d9c 100644
--- a/app/widgets/gimppropwidgets.c
+++ b/app/widgets/gimppropwidgets.c
@@ -1628,11 +1628,11 @@ gimp_prop_profile_combo_box_new (GObject *config,
}
else
{
- gchar *filename;
+ GFile *file;
- filename = gimp_personal_rc_file ("profilerc");
- combo = gimp_color_profile_combo_box_new (dialog, filename);
- g_free (filename);
+ file = gimp_directory_file ("profilerc", NULL);
+ combo = gimp_color_profile_combo_box_new (dialog, file);
+ g_object_unref (file);
}
gimp_color_profile_combo_box_set_active_file (GIMP_COLOR_PROFILE_COMBO_BOX (combo),
diff --git a/app/widgets/gimptemplateeditor.c b/app/widgets/gimptemplateeditor.c
index 834988558b..75e9e8f6b4 100644
--- a/app/widgets/gimptemplateeditor.c
+++ b/app/widgets/gimptemplateeditor.c
@@ -799,12 +799,11 @@ gimp_template_editor_template_notify (GimpTemplate *template,
! strcmp (param_spec->name, "precision"))
{
GtkListStore *profile_store;
- GFile *profile;
- gchar *filename;
+ GFile *file;
- filename = gimp_personal_rc_file ("profilerc");
- profile_store = gimp_color_profile_store_new (filename);
- g_free (filename);
+ file = gimp_directory_file ("profilerc", NULL);
+ profile_store = gimp_color_profile_store_new (file);
+ g_object_unref (file);
gimp_color_profile_store_add_defaults (GIMP_COLOR_PROFILE_STORE (profile_store),
private->gimp->config->color_management,
@@ -817,13 +816,13 @@ gimp_template_editor_template_notify (GimpTemplate *template,
g_object_unref (profile_store);
g_object_get (template,
- "color-profile", &profile,
+ "color-profile", &file,
NULL);
gimp_color_profile_combo_box_set_active_file (GIMP_COLOR_PROFILE_COMBO_BOX (private->profile_combo),
- profile, NULL);
+ file, NULL);
- if (profile)
- g_object_unref (profile);
+ if (file)
+ g_object_unref (file);
}
}
diff --git a/libgimpbase/gimpbase.def b/libgimpbase/gimpbase.def
index 1e5156c119..88dbb641c3 100644
--- a/libgimpbase/gimpbase.def
+++ b/libgimpbase/gimpbase.def
@@ -151,7 +151,6 @@ EXPORTS
gimp_pdb_error_handler_get_type
gimp_pdb_proc_type_get_type
gimp_pdb_status_type_get_type
- gimp_personal_rc_file
gimp_pixels_to_units
gimp_pixpipe_params_build
gimp_pixpipe_params_free
diff --git a/libgimpbase/gimpenv.c b/libgimpbase/gimpenv.c
index 4e09ab3db9..7af87009f2 100644
--- a/libgimpbase/gimpenv.c
+++ b/libgimpbase/gimpenv.c
@@ -736,7 +736,7 @@ gimp_child_file (const gchar *parent,
* @...: a %NULL terminated list of the remaining elements of the path
* to the file.
*
- * Returns a #GFile in the user's GIMP directory, or the data
+ * Returns a #GFile in the user's GIMP directory, or the GIMP
* directory itself if @first_element is %NULL.
*
* See also: gimp_directory().
@@ -915,25 +915,6 @@ gimp_plug_in_directory_file (const gchar *first_element,
return file;
}
-/**
- * gimp_personal_rc_file:
- * @basename: The basename of a rc_file.
- *
- * Returns the name of a file in the user-specific GIMP settings directory.
- *
- * The returned string is newly allocated and should be freed with
- * g_free() after use. The returned string is in the encoding used for
- * filenames by GLib, which isn't necessarily UTF-8. (On Windows it
- * always is UTF-8.)
- *
- * Returns: The name of a file in the user-specific GIMP settings directory.
- **/
-gchar *
-gimp_personal_rc_file (const gchar *basename)
-{
- return g_build_filename (gimp_directory (), basename, NULL);
-}
-
/**
* gimp_path_runtime_fix:
* @path: A pointer to a string (allocated with g_malloc) that is
diff --git a/libgimpbase/gimpenv.h b/libgimpbase/gimpenv.h
index 78cd6591d9..a9077be055 100644
--- a/libgimpbase/gimpenv.h
+++ b/libgimpbase/gimpenv.h
@@ -26,7 +26,6 @@
#ifndef __GIMP_ENV_H__
#define __GIMP_ENV_H__
-
G_BEGIN_DECLS
/* For information look into the C source or the html documentation */
@@ -69,20 +68,18 @@ GFile * gimp_sysconf_directory_file (const gchar *first_element,
GFile * gimp_plug_in_directory_file (const gchar *first_element,
...) G_GNUC_MALLOC;
-gchar * gimp_personal_rc_file (const gchar *basename) G_GNUC_MALLOC;
-
-GList * gimp_path_parse (const gchar *path,
- gint max_paths,
- gboolean check,
- GList **check_failed);
-gchar * gimp_path_to_str (GList *path) G_GNUC_MALLOC;
-void gimp_path_free (GList *path);
+GList * gimp_path_parse (const gchar *path,
+ gint max_paths,
+ gboolean check,
+ GList **check_failed);
+gchar * gimp_path_to_str (GList *path) G_GNUC_MALLOC;
+void gimp_path_free (GList *path);
-gchar * gimp_path_get_user_writable_dir (GList *path) G_GNUC_MALLOC;
+gchar * gimp_path_get_user_writable_dir (GList *path) G_GNUC_MALLOC;
/* should be considered private, don't use! */
-void gimp_env_init (gboolean plug_in);
+void gimp_env_init (gboolean plug_in);
G_END_DECLS
diff --git a/plug-ins/fractal-explorer/fractal-explorer-dialogs.c
b/plug-ins/fractal-explorer/fractal-explorer-dialogs.c
index e84f70f89c..ddd8a93ff1 100644
--- a/plug-ins/fractal-explorer/fractal-explorer-dialogs.c
+++ b/plug-ins/fractal-explorer/fractal-explorer-dialogs.c
@@ -537,7 +537,7 @@ explorer_dialog (void)
}
else
{
- gchar *gimprc = gimp_personal_rc_file ("gimprc");
+ GFile *gimprc = gimp_directory_file ("gimprc", NULL);
gchar *full_path = gimp_config_build_data_path ("fractalexplorer");
gchar *esc_path = g_strescape (full_path, NULL);
g_free (full_path);
@@ -548,9 +548,9 @@ explorer_dialog (void)
"to your %s file."),
"fractalexplorer-path",
"fractalexplorer-path",
- esc_path, gimp_filename_to_utf8 (gimprc));
+ esc_path, gimp_file_get_utf8_name (gimprc));
- g_free (gimprc);
+ g_object_unref (gimprc);
g_free (esc_path);
}
diff --git a/plug-ins/gfig/gfig-dialog.c b/plug-ins/gfig/gfig-dialog.c
index 2032a8c904..7ce2b6cb7d 100644
--- a/plug-ins/gfig/gfig-dialog.c
+++ b/plug-ins/gfig/gfig-dialog.c
@@ -267,7 +267,7 @@ gfig_dialog (void)
}
else
{
- gchar *gimprc = gimp_personal_rc_file ("gimprc");
+ GFile *gimprc = gimp_directory_file ("gimprc", NULL);
gchar *full_path = gimp_config_build_data_path ("gfig");
gchar *esc_path = g_strescape (full_path, NULL);
g_free (full_path);
@@ -277,9 +277,9 @@ gfig_dialog (void)
"(%s \"%s\")\n"
"to your %s file."),
"gfig-path", "gfig-path", esc_path,
- gimp_filename_to_utf8 (gimprc));
+ gimp_file_get_utf8_name (gimprc));
- g_free (gimprc);
+ g_object_unref (gimprc);
g_free (esc_path);
}
diff --git a/plug-ins/gimpressionist/utils.c b/plug-ins/gimpressionist/utils.c
index 24f95089f2..90002e5226 100644
--- a/plug-ins/gimpressionist/utils.c
+++ b/plug-ins/gimpressionist/utils.c
@@ -132,7 +132,7 @@ parsepath (void)
}
else
{
- gchar *gimprc = gimp_personal_rc_file ("gimprc");
+ GFile *gimprc = gimp_directory_file ("gimprc", NULL);
gchar *full_path = gimp_config_build_data_path ("gimpressionist");
gchar *esc_path = g_strescape (full_path, NULL);
@@ -141,9 +141,9 @@ parsepath (void)
"(%s \"%s\")\n"
"to your %s file."),
"gflare-path", "gflare-path",
- esc_path, gimp_filename_to_utf8 (gimprc));
+ esc_path, gimp_file_get_utf8_name (gimprc));
- g_free (gimprc);
+ g_object_unref (gimprc);
g_free (esc_path);
rc_path = gimp_config_path_expand (full_path, TRUE, NULL);
diff --git a/plug-ins/gradient-flare/gradient-flare.c b/plug-ins/gradient-flare/gradient-flare.c
index f4b5124dfa..12f82a6fac 100644
--- a/plug-ins/gradient-flare/gradient-flare.c
+++ b/plug-ins/gradient-flare/gradient-flare.c
@@ -967,7 +967,7 @@ gflare_run (GimpProcedure *procedure,
}
else
{
- gchar *gimprc = gimp_personal_rc_file ("gimprc");
+ GFile *gimprc = gimp_directory_file ("gimprc", NULL);
gchar *full_path = gimp_config_build_data_path ("gflare");
gchar *esc_path = g_strescape (full_path, NULL);
g_free (full_path);
@@ -977,9 +977,9 @@ gflare_run (GimpProcedure *procedure,
"(%s \"%s\")\n"
"to your %s file."),
"gflare-path", "gflare-path",
- esc_path, gimp_filename_to_utf8 (gimprc));
+ esc_path, gimp_file_get_utf8_name (gimprc));
- g_free (gimprc);
+ g_object_unref (gimprc);
g_free (esc_path);
}
@@ -1529,8 +1529,8 @@ gflare_save (GFlare *gflare)
{
if (! message_ok)
{
- gchar *gimprc = gimp_personal_rc_file ("gimprc");
- gchar *dir = gimp_personal_rc_file ("gflare");
+ GFile *gimprc = gimp_directory_file ("gimprc", NULL);
+ GFile *dir = gimp_directory_file ("gflare", NULL);
gchar *gflare_dir;
gflare_dir =
@@ -1541,12 +1541,14 @@ gflare_save (GFlare *gflare)
"(gflare-path \"%s\")\n"
"and make a folder '%s', then you can save "
"your own GFlares into that folder."),
- gflare->name, gimprc, gflare_dir,
- gimp_filename_to_utf8 (dir));
+ gflare->name,
+ gimp_file_get_utf8_name (gimprc),
+ gflare_dir,
+ gimp_file_get_utf8_name (dir));
- g_free (gimprc);
+ g_object_unref (gimprc);
+ g_object_unref (dir);
g_free (gflare_dir);
- g_free (dir);
message_ok = TRUE;
}
diff --git a/plug-ins/imagemap/imap_preferences.c b/plug-ins/imagemap/imap_preferences.c
index 6cef7ed568..22942b94ec 100644
--- a/plug-ins/imagemap/imap_preferences.c
+++ b/plug-ins/imagemap/imap_preferences.c
@@ -167,93 +167,113 @@ parse_line(PreferencesData_t *data, char *line)
gboolean
preferences_load(PreferencesData_t *data)
{
- FILE *in;
- char buf[256];
- gchar *filename;
+ FILE *in;
+ char buf[256];
+ GFile *file;
+ gchar *filename;
+
+ file = gimp_directory_file ("imagemaprc", NULL);
+
+ filename = g_file_get_path (file);
+ in = g_fopen (filename, "rb");
+ g_free (filename);
+
+ g_object_unref (file);
+
+ if (in)
+ {
+ while (fgets (buf, sizeof (buf), in))
+ {
+ if (*buf != '\n' && *buf != '#')
+ {
+ parse_line (data, buf);
+ }
+ }
+
+ fclose (in);
- filename = gimp_personal_rc_file ("imagemaprc");
-
- in = g_fopen(filename, "rb");
- g_free(filename);
- if (in) {
- while (fgets(buf, sizeof(buf), in)) {
- if (*buf != '\n' && *buf != '#') {
- parse_line(data, buf);
- }
- }
- fclose(in);
return TRUE;
- }
- return FALSE;
+ }
+
+ return FALSE;
}
void
preferences_save(PreferencesData_t *data)
{
FILE *out;
+ GFile *file;
gchar *filename;
ColorSelData_t *colors = &data->colors;
- filename = gimp_personal_rc_file ("imagemaprc");
+ file = gimp_directory_file ("imagemaprc", NULL);
+ filename = g_file_get_path (file);
out = g_fopen(filename, "wb");
- if (out) {
- fprintf(out, "# Image map plug-in resource file\n\n");
- if (data->default_map_type == NCSA)
+ g_free (filename);
+
+ if (out)
+ {
+ fprintf(out, "# Image map plug-in resource file\n\n");
+ if (data->default_map_type == NCSA)
fprintf(out, "(default-map-type ncsa)\n");
- else if (data->default_map_type == CERN)
+ else if (data->default_map_type == CERN)
fprintf(out, "(default-map-type cern)\n");
- else
+ else
fprintf(out, "(default-map-type csim)\n");
- fprintf(out, "(prompt-for-area-info %s)\n",
- (data->prompt_for_area_info) ? "yes" : "no");
- fprintf(out, "(require-default-url %s)\n",
- (data->require_default_url) ? "yes" : "no");
- fprintf(out, "(show-area-handle %s)\n",
- (data->show_area_handle) ? "yes" : "no");
- fprintf(out, "(keep-circles-round %s)\n",
- (data->keep_circles_round) ? "yes" : "no");
- fprintf(out, "(show-url-tip %s)\n",
- (data->show_url_tip) ? "yes" : "no");
- fprintf(out, "(use-doublesized %s)\n",
- (data->use_doublesized) ? "yes" : "no");
-
- fprintf(out, "(undo-levels %d)\n", data->undo_levels);
- fprintf(out, "(mru-size %d)\n", data->mru_size);
-
- fprintf(out, "(normal-fg-color %d %d %d)\n",
- ROUND (colors->normal_fg.red * 255.0),
- ROUND (colors->normal_fg.green * 255.0),
- ROUND (colors->normal_fg.blue * 255.0));
- fprintf(out, "(normal-bg-color %d %d %d)\n",
- ROUND (colors->normal_bg.red * 255.0),
- ROUND (colors->normal_bg.green * 255.0),
- ROUND (colors->normal_bg.blue * 255.0));
- fprintf(out, "(selected-fg-color %d %d %d)\n",
- ROUND (colors->selected_fg.red * 255.0),
- ROUND (colors->selected_fg.green * 255.0),
- ROUND (colors->selected_fg.blue * 255.0));
- fprintf(out, "(selected-bg-color %d %d %d)\n",
- ROUND (colors->selected_bg.red * 255.0),
- ROUND (colors->selected_bg.green * 255.0),
- ROUND (colors->selected_bg.blue * 255.0));
- fprintf(out, "(interactive-fg-color %d %d %d)\n",
- ROUND (colors->interactive_fg.red * 255.0),
- ROUND (colors->interactive_fg.green * 255.0),
- ROUND (colors->interactive_fg.blue * 255.0));
- fprintf(out, "(interactive-bg-color %d %d %d)\n",
- ROUND (colors->interactive_bg.red * 255.0),
- ROUND (colors->interactive_bg.green * 255.0),
- ROUND (colors->interactive_bg.blue * 255.0));
-
- mru_write(get_mru(), out);
-
- fclose(out);
- } else {
- do_file_error_dialog( _("Couldn't save resource file:"), filename);
- }
- g_free(filename);
+ fprintf(out, "(prompt-for-area-info %s)\n",
+ (data->prompt_for_area_info) ? "yes" : "no");
+ fprintf(out, "(require-default-url %s)\n",
+ (data->require_default_url) ? "yes" : "no");
+ fprintf(out, "(show-area-handle %s)\n",
+ (data->show_area_handle) ? "yes" : "no");
+ fprintf(out, "(keep-circles-round %s)\n",
+ (data->keep_circles_round) ? "yes" : "no");
+ fprintf(out, "(show-url-tip %s)\n",
+ (data->show_url_tip) ? "yes" : "no");
+ fprintf(out, "(use-doublesized %s)\n",
+ (data->use_doublesized) ? "yes" : "no");
+
+ fprintf(out, "(undo-levels %d)\n", data->undo_levels);
+ fprintf(out, "(mru-size %d)\n", data->mru_size);
+
+ fprintf(out, "(normal-fg-color %d %d %d)\n",
+ ROUND (colors->normal_fg.red * 255.0),
+ ROUND (colors->normal_fg.green * 255.0),
+ ROUND (colors->normal_fg.blue * 255.0));
+ fprintf(out, "(normal-bg-color %d %d %d)\n",
+ ROUND (colors->normal_bg.red * 255.0),
+ ROUND (colors->normal_bg.green * 255.0),
+ ROUND (colors->normal_bg.blue * 255.0));
+ fprintf(out, "(selected-fg-color %d %d %d)\n",
+ ROUND (colors->selected_fg.red * 255.0),
+ ROUND (colors->selected_fg.green * 255.0),
+ ROUND (colors->selected_fg.blue * 255.0));
+ fprintf(out, "(selected-bg-color %d %d %d)\n",
+ ROUND (colors->selected_bg.red * 255.0),
+ ROUND (colors->selected_bg.green * 255.0),
+ ROUND (colors->selected_bg.blue * 255.0));
+ fprintf(out, "(interactive-fg-color %d %d %d)\n",
+ ROUND (colors->interactive_fg.red * 255.0),
+ ROUND (colors->interactive_fg.green * 255.0),
+ ROUND (colors->interactive_fg.blue * 255.0));
+ fprintf(out, "(interactive-bg-color %d %d %d)\n",
+ ROUND (colors->interactive_bg.red * 255.0),
+ ROUND (colors->interactive_bg.green * 255.0),
+ ROUND (colors->interactive_bg.blue * 255.0));
+
+ mru_write(get_mru(), out);
+
+ fclose(out);
+ }
+ else
+ {
+ do_file_error_dialog (_("Couldn't save resource file:"),
+ gimp_file_get_utf8_name (file));
+ }
+
+ g_object_unref (file);
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]