[gimp] plug-ins: in metadata-viewer improve how we show XMP tags.



commit baaa1380cfc5659ad673f1540d61b027df4bac49
Author: Jacob Boerema <jgboerema gmail com>
Date:   Fri Sep 24 15:22:49 2021 -0400

    plug-ins: in metadata-viewer improve how we show XMP tags.
    
    XMP tags that have multiple values (usually of type XMpBag or XmpSeq) were
    shown on one line. Which, especially for long text values, could make it
    difficult to see the separate values for that tag.
    
    Let's do the same as we do for IPTC tags that can occur multiple times and
    show each value on a separate line.

 plug-ins/metadata/metadata-viewer.c | 23 +++++++++++++++++------
 1 file changed, 17 insertions(+), 6 deletions(-)
---
diff --git a/plug-ins/metadata/metadata-viewer.c b/plug-ins/metadata/metadata-viewer.c
index a1bf3483bf..b09857adcf 100644
--- a/plug-ins/metadata/metadata-viewer.c
+++ b/plug-ins/metadata/metadata-viewer.c
@@ -626,12 +626,23 @@ metadata_dialog_append_tags (GExiv2Metadata  *metadata,
         }
       else
         {
-          value = metadata_dialog_format_tag_value (metadata, tag,
-                                                    /* truncate = */ TRUE);
-          metadata_dialog_add_tag (store, iter,
-                                   tag_column, value_column,
-                                   tag, value);
-          g_free (value);
+          if (g_str_has_prefix (tag, "Xmp.") &&
+              g_strcmp0 (gexiv2_metadata_get_tag_type (tag), "XmpText") != 0)
+            {
+              metadata_dialog_add_multiple_values (GEXIV2_METADATA (metadata),
+                                                   tag, store,
+                                                   tag_column,
+                                                   value_column);
+            }
+          else
+            {
+              value = metadata_dialog_format_tag_value (metadata, tag,
+                                                        /* truncate = */ TRUE);
+              metadata_dialog_add_tag (store, iter,
+                                       tag_column, value_column,
+                                       tag, value);
+              g_free (value);
+            }
         }
     }
 }


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