mirror of https://github.com/GNOME/gimp.git
app: port the pluginrc code from filename to GFile
This commit is contained in:
parent
53b5822926
commit
f146d454e8
|
@ -52,9 +52,9 @@
|
|||
|
||||
static void gimp_plug_in_manager_search (GimpPlugInManager *manager,
|
||||
GimpInitStatusFunc status_callback);
|
||||
static gchar * gimp_plug_in_manager_get_pluginrc (GimpPlugInManager *manager);
|
||||
static GFile * gimp_plug_in_manager_get_pluginrc (GimpPlugInManager *manager);
|
||||
static void gimp_plug_in_manager_read_pluginrc (GimpPlugInManager *manager,
|
||||
const gchar *pluginrc,
|
||||
GFile *file,
|
||||
GimpInitStatusFunc status_callback);
|
||||
static void gimp_plug_in_manager_query_new (GimpPlugInManager *manager,
|
||||
GimpContext *context,
|
||||
|
@ -85,7 +85,7 @@ gimp_plug_in_manager_restore (GimpPlugInManager *manager,
|
|||
GimpInitStatusFunc status_callback)
|
||||
{
|
||||
Gimp *gimp;
|
||||
gchar *pluginrc;
|
||||
GFile *pluginrc;
|
||||
GSList *list;
|
||||
GError *error = NULL;
|
||||
|
||||
|
@ -128,7 +128,7 @@ gimp_plug_in_manager_restore (GimpPlugInManager *manager,
|
|||
if (manager->write_pluginrc)
|
||||
{
|
||||
if (gimp->be_verbose)
|
||||
g_print ("Writing '%s'\n", gimp_filename_to_utf8 (pluginrc));
|
||||
g_print ("Writing '%s'\n", gimp_file_get_utf8_name (pluginrc));
|
||||
|
||||
if (! plug_in_rc_write (manager->plug_in_defs, pluginrc, &error))
|
||||
{
|
||||
|
@ -140,7 +140,7 @@ gimp_plug_in_manager_restore (GimpPlugInManager *manager,
|
|||
manager->write_pluginrc = FALSE;
|
||||
}
|
||||
|
||||
g_free (pluginrc);
|
||||
g_object_unref (pluginrc);
|
||||
|
||||
/* create locale and help domain lists */
|
||||
for (list = manager->plug_in_defs; list; list = list->next)
|
||||
|
@ -246,28 +246,33 @@ gimp_plug_in_manager_search (GimpPlugInManager *manager,
|
|||
g_free (path);
|
||||
}
|
||||
|
||||
static gchar *
|
||||
static GFile *
|
||||
gimp_plug_in_manager_get_pluginrc (GimpPlugInManager *manager)
|
||||
{
|
||||
Gimp *gimp = manager->gimp;
|
||||
gchar *pluginrc;
|
||||
GFile *pluginrc;
|
||||
|
||||
if (gimp->config->plug_in_rc_path)
|
||||
{
|
||||
pluginrc = gimp_config_path_expand (gimp->config->plug_in_rc_path,
|
||||
TRUE, NULL);
|
||||
gchar *path;
|
||||
|
||||
if (! g_path_is_absolute (pluginrc))
|
||||
path = gimp_config_path_expand (gimp->config->plug_in_rc_path,
|
||||
TRUE, NULL);
|
||||
|
||||
if (! g_path_is_absolute (path))
|
||||
{
|
||||
gchar *str = g_build_filename (gimp_directory (), pluginrc, NULL);
|
||||
gchar *str = g_build_filename (gimp_directory (), path, NULL);
|
||||
|
||||
g_free (pluginrc);
|
||||
pluginrc = str;
|
||||
g_free (path);
|
||||
path = str;
|
||||
}
|
||||
|
||||
pluginrc = g_file_new_for_path (path);
|
||||
g_free (path);
|
||||
}
|
||||
else
|
||||
{
|
||||
pluginrc = gimp_personal_rc_file ("pluginrc");
|
||||
pluginrc = gimp_personal_rc_gfile ("pluginrc");
|
||||
}
|
||||
|
||||
return pluginrc;
|
||||
|
@ -276,17 +281,17 @@ gimp_plug_in_manager_get_pluginrc (GimpPlugInManager *manager)
|
|||
/* read the pluginrc file for cached data */
|
||||
static void
|
||||
gimp_plug_in_manager_read_pluginrc (GimpPlugInManager *manager,
|
||||
const gchar *pluginrc,
|
||||
GFile *pluginrc,
|
||||
GimpInitStatusFunc status_callback)
|
||||
{
|
||||
GSList *rc_defs;
|
||||
GError *error = NULL;
|
||||
|
||||
status_callback (_("Resource configuration"),
|
||||
gimp_filename_to_utf8 (pluginrc), 0.0);
|
||||
gimp_file_get_utf8_name (pluginrc), 0.0);
|
||||
|
||||
if (manager->gimp->be_verbose)
|
||||
g_print ("Parsing '%s'\n", gimp_filename_to_utf8 (pluginrc));
|
||||
g_print ("Parsing '%s'\n", gimp_file_get_utf8_name (pluginrc));
|
||||
|
||||
rc_defs = plug_in_rc_parse (manager->gimp, pluginrc, &error);
|
||||
|
||||
|
|
|
@ -96,9 +96,9 @@ enum
|
|||
|
||||
|
||||
GSList *
|
||||
plug_in_rc_parse (Gimp *gimp,
|
||||
const gchar *filename,
|
||||
GError **error)
|
||||
plug_in_rc_parse (Gimp *gimp,
|
||||
GFile *file,
|
||||
GError **error)
|
||||
{
|
||||
GScanner *scanner;
|
||||
GEnumClass *enum_class;
|
||||
|
@ -108,10 +108,10 @@ plug_in_rc_parse (Gimp *gimp,
|
|||
GTokenType token;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_GIMP (gimp), NULL);
|
||||
g_return_val_if_fail (filename != NULL, NULL);
|
||||
g_return_val_if_fail (G_IS_FILE (file), NULL);
|
||||
g_return_val_if_fail (error == NULL || *error == NULL, NULL);
|
||||
|
||||
scanner = gimp_scanner_new_file (filename, error);
|
||||
scanner = gimp_scanner_new_gfile (file, error);
|
||||
|
||||
if (! scanner)
|
||||
return NULL;
|
||||
|
@ -225,14 +225,14 @@ plug_in_rc_parse (Gimp *gimp,
|
|||
g_set_error (error,
|
||||
GIMP_CONFIG_ERROR, GIMP_CONFIG_ERROR_VERSION,
|
||||
_("Skipping '%s': wrong GIMP protocol version."),
|
||||
gimp_filename_to_utf8 (filename));
|
||||
gimp_file_get_utf8_name (file));
|
||||
}
|
||||
else if (file_version != PLUG_IN_RC_FILE_VERSION)
|
||||
{
|
||||
g_set_error (error,
|
||||
GIMP_CONFIG_ERROR, GIMP_CONFIG_ERROR_VERSION,
|
||||
_("Skipping '%s': wrong pluginrc file format version."),
|
||||
gimp_filename_to_utf8 (filename));
|
||||
gimp_file_get_utf8_name (file));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -783,21 +783,21 @@ plug_in_has_init_deserialize (GScanner *scanner,
|
|||
/* serialize functions */
|
||||
|
||||
gboolean
|
||||
plug_in_rc_write (GSList *plug_in_defs,
|
||||
const gchar *filename,
|
||||
GError **error)
|
||||
plug_in_rc_write (GSList *plug_in_defs,
|
||||
GFile *file,
|
||||
GError **error)
|
||||
{
|
||||
GimpConfigWriter *writer;
|
||||
GEnumClass *enum_class;
|
||||
GSList *list;
|
||||
|
||||
writer = gimp_config_writer_new_file (filename,
|
||||
FALSE,
|
||||
"GIMP pluginrc\n\n"
|
||||
"This file can safely be removed and "
|
||||
"will be automatically regenerated by "
|
||||
"querying the installed plugins.",
|
||||
error);
|
||||
writer = gimp_config_writer_new_gfile (file,
|
||||
FALSE,
|
||||
"GIMP pluginrc\n\n"
|
||||
"This file can safely be removed and "
|
||||
"will be automatically regenerated by "
|
||||
"querying the installed plugins.",
|
||||
error);
|
||||
if (!writer)
|
||||
return FALSE;
|
||||
|
||||
|
|
|
@ -22,12 +22,12 @@
|
|||
#define __PLUG_IN_RC_H__
|
||||
|
||||
|
||||
GSList * plug_in_rc_parse (Gimp *gimp,
|
||||
const gchar *filename,
|
||||
GError **error);
|
||||
gboolean plug_in_rc_write (GSList *plug_in_defs,
|
||||
const gchar *filename,
|
||||
GError **error);
|
||||
GSList * plug_in_rc_parse (Gimp *gimp,
|
||||
GFile *file,
|
||||
GError **error);
|
||||
gboolean plug_in_rc_write (GSList *plug_in_defs,
|
||||
GFile *file,
|
||||
GError **error);
|
||||
|
||||
|
||||
#endif /* __PLUG_IN_RC_H__ */
|
||||
|
|
Loading…
Reference in New Issue