[gimp/metadata-browser: 9/13] Use the new set_property value.



commit eea610b9eff44bc59f6344a2c7bcf5ce878cae8b
Author: Roman Joost <roman bromeco de>
Date:   Tue Sep 6 20:32:18 2011 +1000

    Use the new set_property value.
    
    We can't set the scalar value, as the value we're manipulating is not of
    type TEXT

 plug-ins/metadata/gimpxmpmodelwidget.c |   38 +++++++++++++++++++++++++++----
 1 files changed, 33 insertions(+), 5 deletions(-)
---
diff --git a/plug-ins/metadata/gimpxmpmodelwidget.c b/plug-ins/metadata/gimpxmpmodelwidget.c
index 02a4dab..b287fbd 100644
--- a/plug-ins/metadata/gimpxmpmodelwidget.c
+++ b/plug-ins/metadata/gimpxmpmodelwidget.c
@@ -314,12 +314,40 @@ void
 gimp_xmp_model_widget_changed (GimpXmpModelWidget *widget,
                                const gchar        *value)
 {
-  GimpXmpModelWidgetPrivate *priv = GIMP_XMP_MODEL_WIDGET_GET_PRIVATE (widget);
+  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);
+       }
+      xmp_model_set_property (priv->xmp_model,
+                              type,
+                              priv->schema_uri,
+                              priv->property_name,
+                              current_value);
+      break;
+
+    default:
+      break;
+   }
 
-  xmp_model_set_scalar_property (priv->xmp_model,
-                                 priv->schema_uri,
-                                 priv->property_name,
-                                 value);
 }
 
 /**



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]