[gimp] app: some cleanup/refactoring in gimp_param_spec_duplicate()
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] app: some cleanup/refactoring in gimp_param_spec_duplicate()
- Date: Wed, 14 May 2014 21:39:08 +0000 (UTC)
commit 32feb14fe50ce6c9daf75e53757c3edb05806f88
Author: Michael Natterer <mitch gimp org>
Date: Wed May 14 22:50:59 2014 +0200
app: some cleanup/refactoring in gimp_param_spec_duplicate()
app/core/gimpparamspecs-duplicate.c | 95 ++++++++++++++++-------------------
1 files changed, 43 insertions(+), 52 deletions(-)
---
diff --git a/app/core/gimpparamspecs-duplicate.c b/app/core/gimpparamspecs-duplicate.c
index c3ed61a..e52c96e 100644
--- a/app/core/gimpparamspecs-duplicate.c
+++ b/app/core/gimpparamspecs-duplicate.c
@@ -39,75 +39,73 @@
GParamSpec *
gimp_param_spec_duplicate (GParamSpec *pspec)
{
+ GParamSpec *copy = NULL;
+ GParamFlags flags;
+
g_return_val_if_fail (pspec != NULL, NULL);
+ flags = pspec->flags | GIMP_CONFIG_PARAM_SERIALIZE;
+
if (G_IS_PARAM_SPEC_STRING (pspec))
{
GParamSpecString *spec = G_PARAM_SPEC_STRING (pspec);
if (GEGL_IS_PARAM_SPEC_FILE_PATH (pspec))
{
- return gimp_param_spec_config_path (pspec->name,
+ copy = gimp_param_spec_config_path (pspec->name,
g_param_spec_get_nick (pspec),
g_param_spec_get_blurb (pspec),
GIMP_CONFIG_PATH_FILE,
spec->default_value,
- pspec->flags |
- GIMP_CONFIG_PARAM_SERIALIZE);
+ flags);
}
else
{
- static GQuark multiline_quark = 0;
- GParamSpec *new;
+ static GQuark multiline_quark = 0;
if (! multiline_quark)
multiline_quark = g_quark_from_static_string ("multiline");
- new = g_param_spec_string (pspec->name,
- g_param_spec_get_nick (pspec),
- g_param_spec_get_blurb (pspec),
- spec->default_value,
- pspec->flags |
- GIMP_CONFIG_PARAM_SERIALIZE);
+ copy = g_param_spec_string (pspec->name,
+ g_param_spec_get_nick (pspec),
+ g_param_spec_get_blurb (pspec),
+ spec->default_value,
+ flags);
if (GEGL_IS_PARAM_SPEC_MULTILINE (pspec))
{
- g_param_spec_set_qdata (new, multiline_quark,
+ g_param_spec_set_qdata (copy, multiline_quark,
GINT_TO_POINTER (TRUE));
}
-
- return new;
}
}
else if (G_IS_PARAM_SPEC_BOOLEAN (pspec))
{
GParamSpecBoolean *spec = G_PARAM_SPEC_BOOLEAN (pspec);
- return g_param_spec_boolean (pspec->name,
+ copy = g_param_spec_boolean (pspec->name,
g_param_spec_get_nick (pspec),
g_param_spec_get_blurb (pspec),
spec->default_value,
- pspec->flags |
- GIMP_CONFIG_PARAM_SERIALIZE);
+ flags);
}
else if (G_IS_PARAM_SPEC_ENUM (pspec))
{
GParamSpecEnum *spec = G_PARAM_SPEC_ENUM (pspec);
- return g_param_spec_enum (pspec->name,
+ copy = g_param_spec_enum (pspec->name,
g_param_spec_get_nick (pspec),
g_param_spec_get_blurb (pspec),
G_TYPE_FROM_CLASS (spec->enum_class),
spec->default_value,
- pspec->flags |
- GIMP_CONFIG_PARAM_SERIALIZE);
+ flags);
}
else if (GEGL_IS_PARAM_SPEC_DOUBLE (pspec))
{
GeglParamSpecDouble *gspec = GEGL_PARAM_SPEC_DOUBLE (pspec);
GParamSpecDouble *spec = G_PARAM_SPEC_DOUBLE (pspec);
- return gegl_param_spec_double (pspec->name,
+ copy = gegl_param_spec_double (pspec->name,
g_param_spec_get_nick (pspec),
g_param_spec_get_blurb (pspec),
spec->minimum,
@@ -116,41 +114,38 @@ gimp_param_spec_duplicate (GParamSpec *pspec)
gspec->ui_minimum,
gspec->ui_maximum,
gspec->ui_gamma,
- pspec->flags |
- GIMP_CONFIG_PARAM_SERIALIZE);
+ flags);
}
else if (G_IS_PARAM_SPEC_DOUBLE (pspec))
{
GParamSpecDouble *spec = G_PARAM_SPEC_DOUBLE (pspec);
- return g_param_spec_double (pspec->name,
+ copy = g_param_spec_double (pspec->name,
g_param_spec_get_nick (pspec),
g_param_spec_get_blurb (pspec),
spec->minimum,
spec->maximum,
spec->default_value,
- pspec->flags |
- GIMP_CONFIG_PARAM_SERIALIZE);
+ flags);
}
else if (G_IS_PARAM_SPEC_FLOAT (pspec))
{
GParamSpecFloat *spec = G_PARAM_SPEC_FLOAT (pspec);
- return g_param_spec_float (pspec->name,
+ copy = g_param_spec_float (pspec->name,
g_param_spec_get_nick (pspec),
g_param_spec_get_blurb (pspec),
spec->minimum,
spec->maximum,
spec->default_value,
- pspec->flags |
- GIMP_CONFIG_PARAM_SERIALIZE);
+ flags);
}
else if (GEGL_IS_PARAM_SPEC_INT (pspec))
{
GeglParamSpecInt *gspec = GEGL_PARAM_SPEC_INT (pspec);
- GParamSpecInt *spec = G_PARAM_SPEC_INT (pspec);
+ GParamSpecInt *spec = G_PARAM_SPEC_INT (pspec);
- return gegl_param_spec_int (pspec->name,
+ copy = gegl_param_spec_int (pspec->name,
g_param_spec_get_nick (pspec),
g_param_spec_get_blurb (pspec),
spec->minimum,
@@ -159,12 +154,11 @@ gimp_param_spec_duplicate (GParamSpec *pspec)
gspec->ui_minimum,
gspec->ui_maximum,
gspec->ui_gamma,
- pspec->flags |
- GIMP_CONFIG_PARAM_SERIALIZE);
+ flags);
}
else if (GEGL_IS_PARAM_SPEC_SEED (pspec))
{
- return gegl_param_spec_seed (pspec->name,
+ copy = gegl_param_spec_seed (pspec->name,
g_param_spec_get_nick (pspec),
g_param_spec_get_blurb (pspec),
pspec->flags |
@@ -174,27 +168,25 @@ gimp_param_spec_duplicate (GParamSpec *pspec)
{
GParamSpecInt *spec = G_PARAM_SPEC_INT (pspec);
- return g_param_spec_int (pspec->name,
+ copy = g_param_spec_int (pspec->name,
g_param_spec_get_nick (pspec),
g_param_spec_get_blurb (pspec),
spec->minimum,
spec->maximum,
spec->default_value,
- pspec->flags |
- GIMP_CONFIG_PARAM_SERIALIZE);
+ flags);
}
else if (G_IS_PARAM_SPEC_UINT (pspec))
{
GParamSpecUInt *spec = G_PARAM_SPEC_UINT (pspec);
- return g_param_spec_uint (pspec->name,
+ copy = g_param_spec_uint (pspec->name,
g_param_spec_get_nick (pspec),
g_param_spec_get_blurb (pspec),
spec->minimum,
spec->maximum,
spec->default_value,
- pspec->flags |
- GIMP_CONFIG_PARAM_SERIALIZE);
+ flags);
}
else if (GIMP_IS_PARAM_SPEC_RGB (pspec))
{
@@ -206,13 +198,12 @@ gimp_param_spec_duplicate (GParamSpec *pspec)
gimp_value_get_rgb (&value, &color);
g_value_unset (&value);
- return gimp_param_spec_rgb (pspec->name,
+ copy = gimp_param_spec_rgb (pspec->name,
g_param_spec_get_nick (pspec),
g_param_spec_get_blurb (pspec),
gimp_param_spec_rgb_has_alpha (pspec),
&color,
- pspec->flags |
- GIMP_CONFIG_PARAM_SERIALIZE);
+ flags);
}
else if (GEGL_IS_PARAM_SPEC_COLOR (pspec))
{
@@ -235,23 +226,23 @@ gimp_param_spec_duplicate (GParamSpec *pspec)
g_value_unset (&value);
- return gimp_param_spec_rgb (pspec->name,
+ copy = gimp_param_spec_rgb (pspec->name,
g_param_spec_get_nick (pspec),
g_param_spec_get_blurb (pspec),
TRUE,
&gimp_color,
- pspec->flags |
- GIMP_CONFIG_PARAM_SERIALIZE);
+ flags);
}
else if (G_IS_PARAM_SPEC_OBJECT (pspec) ||
G_IS_PARAM_SPEC_POINTER (pspec))
{
- /* ignore object properties */
- return NULL;
+ /* silently ignore object properties */
+ }
+ else
+ {
+ g_warning ("%s: not supported: %s (%s)\n", G_STRFUNC,
+ g_type_name (G_TYPE_FROM_INSTANCE (pspec)), pspec->name);
}
- g_warning ("%s: not supported: %s (%s)\n", G_STRFUNC,
- g_type_name (G_TYPE_FROM_INSTANCE (pspec)), pspec->name);
-
- return NULL;
+ return copy;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]