[gimp/metadata-browser: 19/45] 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/45] Don't set and create data structures.
- Date: Tue, 19 Feb 2013 23:41:20 +0000 (UTC)
commit 0f5a5917f9efaf6195f603595e3c804ed82e64fa
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]