[gimp/metadata-browser: 19/44] Don't set and create data structures.
- From: Roman Joost <romanofski src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp/metadata-browser: 19/44] Don't set and create data structures.
- Date: Wed, 12 Sep 2012 23:08:21 +0000 (UTC)
commit 8404195a57ef1692acec773b21e6ccc76da52650
Author: Roman Joost <roman bromeco de>
Date: Sun Sep 25 16:49:04 2011 +1000
Don't set and create data structures.
Use the API of the XMPModel to set scalar values. This will not alter
the raw values. The XMPModel will have to keep track and merge changes
if the raw data is exported.
plug-ins/metadata/gimpxmpmodelwidget.c | 46 +++++++------------------------
1 files changed, 11 insertions(+), 35 deletions(-)
---
diff --git a/plug-ins/metadata/gimpxmpmodelwidget.c b/plug-ins/metadata/gimpxmpmodelwidget.c
index 6b6fc41..272cd5d 100644
--- a/plug-ins/metadata/gimpxmpmodelwidget.c
+++ b/plug-ins/metadata/gimpxmpmodelwidget.c
@@ -314,45 +314,21 @@ void
gimp_xmp_model_widget_changed (GimpXmpModelWidget *widget,
const gchar *value)
{
- const gchar **current_value;
GimpXmpModelWidgetPrivate *priv = GIMP_XMP_MODEL_WIDGET_GET_PRIVATE (widget);
- XMPType type = xmp_model_find_xmptype_by (priv->xmp_model,
- priv->schema_uri,
- priv->property_name);
- current_value = xmp_model_get_raw_property_value (priv->xmp_model,
- priv->schema_uri,
- priv->property_name);
- switch (type)
- {
- case XMP_TYPE_LANG_ALT:
- if (current_value == NULL)
- {
- current_value = g_new (const gchar *, 2);
- current_value[0] = "x-default";
- current_value[1] = g_strdup (value);
- }
- else
- {
- current_value[1] = g_strdup (value);
- }
- g_signal_handlers_block_by_func (priv->xmp_model,
- gimp_xmp_model_widget_xmpmodel_changed,
- widget);
- xmp_model_set_property (priv->xmp_model,
- type,
- priv->schema_uri,
- priv->property_name,
- current_value);
- g_signal_handlers_unblock_by_func (priv->xmp_model,
- gimp_xmp_model_widget_xmpmodel_changed,
- widget);
- break;
+ g_signal_handlers_block_by_func (priv->xmp_model,
+ gimp_xmp_model_widget_xmpmodel_changed,
+ widget);
- default:
- break;
- }
+ xmp_model_set_scalar_property (priv->xmp_model,
+ priv->schema_uri,
+ priv->property_name,
+ value);
+
+ g_signal_handlers_unblock_by_func (priv->xmp_model,
+ gimp_xmp_model_widget_xmpmodel_changed,
+ widget);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]