[eog: 4/11] image: add method to check for xmp info




commit c66332db15cf05f356c7c4100ebc52af9b3a52d9
Author: Peter Eisenmann <p3732 getgoogleoff me>
Date:   Sun Aug 15 02:08:21 2021 +0200

    image: add method to check for xmp info

 src/eog-image.c            | 22 ++++++++++++++++++++++
 src/eog-image.h            |  2 ++
 src/eog-metadata-sidebar.c |  2 ++
 3 files changed, 26 insertions(+)
---
diff --git a/src/eog-image.c b/src/eog-image.c
index de444b31..fc5368c3 100644
--- a/src/eog-image.c
+++ b/src/eog-image.c
@@ -2185,6 +2185,28 @@ eog_image_get_xmp_info (EogImage *img)
 
        return data;
 }
+
+/**
+ * eog_image_has_xmp_info:
+ * @img: a #EogImage
+ *
+ * Returns: whether @img has XMP info
+ **/
+gboolean
+eog_image_has_xmp_info (EogImage *img)
+{
+       gboolean has_xmp_info;
+
+       g_return_val_if_fail (EOG_IS_IMAGE (img), FALSE);
+
+       EogImagePrivate *priv = img->priv;
+
+       g_mutex_lock (&priv->status_mutex);
+       has_xmp_info = (priv->xmp != NULL);
+       g_mutex_unlock (&priv->status_mutex);
+
+       return has_xmp_info;
+}
 #endif
 
 /**
diff --git a/src/eog-image.h b/src/eog-image.h
index 2c7fb9d1..45e7f939 100644
--- a/src/eog-image.h
+++ b/src/eog-image.h
@@ -169,6 +169,8 @@ ExifData*      eog_image_get_exif_info            (EogImage   *img);
 #endif
 
 #ifdef HAVE_EXEMPI
+gboolean          eog_image_has_xmp_info             (EogImage   *img);
+
 gpointer          eog_image_get_xmp_info             (EogImage   *img);
 #endif
 
diff --git a/src/eog-metadata-sidebar.c b/src/eog-metadata-sidebar.c
index 2ee1ef66..92e13ad6 100644
--- a/src/eog-metadata-sidebar.c
+++ b/src/eog-metadata-sidebar.c
@@ -339,6 +339,7 @@ _folder_label_clicked_cb (GtkLabel *label, const gchar *uri, gpointer user_data)
        g_object_unref (file);
 }
 
+#ifdef HAVE_METADATA
 static void
 eog_metadata_sidebar_show_details_cb (GtkButton *button, EogMetadataSidebar *sidebar)
 {
@@ -354,6 +355,7 @@ eog_metadata_sidebar_show_details_cb (GtkButton *button, EogMetadataSidebar *sid
 
        gtk_widget_show (priv->details_dialog);
 }
+#endif /* HAVE_METADATA */
 
 static void
 eog_metadata_sidebar_set_parent_window (EogMetadataSidebar *sidebar,


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