Index: src/gth-exif-data-viewer.c
===================================================================
RCS file: /cvs/gnome/gthumb/src/gth-exif-data-viewer.c,v
retrieving revision 1.32
diff -u -p -r1.32 gth-exif-data-viewer.c
--- src/gth-exif-data-viewer.c	5 Dec 2006 18:34:07 -0000	1.32
+++ src/gth-exif-data-viewer.c	5 Dec 2006 22:18:59 -0000
@@ -46,18 +46,28 @@
 
 typedef enum {
 	GTH_METADATA_CATEGORY_FILE = 0,
-	GTH_METADATA_CATEGORY_EXIF_CAMERA,
 	GTH_METADATA_CATEGORY_EXIF_IMAGE,
 	GTH_METADATA_CATEGORY_EXIF_THUMBNAIL,
-	GTH_METADATA_CATEGORY_EXIF_CONDITIONS,
-	GTH_METADATA_CATEGORY_MAKERNOTE,
-	GTH_METADATA_CATEGORY_GPS,
+	GTH_METADATA_CATEGORY_EXIF_EXIF,
+	GTH_METADATA_CATEGORY_EXIF_MAKERNOTE,
+	GTH_METADATA_CATEGORY_EXIF_GPS,
+	GTH_METADATA_CATEGORY_EXIF_INTEROPERABILITY,
 	GTH_METADATA_CATEGORY_OTHER,
 	GTH_METADATA_CATEGORIES
 } GthMetadataCategory;
 
 
-static char *metadata_category_name[GTH_METADATA_CATEGORIES] = { N_("Filesystem Data"), N_("Camera"), N_("Image Data"), N_("Embedded Thumbnail"), N_("Image Taking Conditions"), N_("Maker Notes"), N_("GPS Coordinates"), N_("Other") };
+static char *metadata_category_name[GTH_METADATA_CATEGORIES] = 
+{
+	N_("File"),
+	N_("Image"),
+	N_("Thumbnail"),
+	N_("Exif"),
+	N_("Maker Notes"),
+	N_("GPS"),
+	N_("Interoperability"),
+	N_("Other")
+};
 
 
 /* The mapping between exif tags and categories was taken (and modified)
@@ -367,6 +377,8 @@ tag_is_present_in_category (GthExifDataV
 			    GthMetadataCategory  category,
 			    const char          *tag_name)
 {
+	return FALSE;
+	
 	GtkTreeModel *model = GTK_TREE_MODEL (edv->priv->image_exif_model);
 	GtkTreePath  *category_path;
 	GtkTreeIter   category_iter, iter;
@@ -458,6 +470,21 @@ tag_category (ExifTag  tag,
 	      int     *position)
 {
 	GthMetadataCategory category;
+	
+	switch (ifd) {
+	case EXIF_IFD_0:
+		return GTH_METADATA_CATEGORY_EXIF_IMAGE;
+	case EXIF_IFD_1:
+		return GTH_METADATA_CATEGORY_EXIF_THUMBNAIL;
+	case EXIF_IFD_EXIF:
+		return GTH_METADATA_CATEGORY_EXIF_EXIF;
+	case EXIF_IFD_GPS:
+		return GTH_METADATA_CATEGORY_EXIF_GPS;
+	case EXIF_IFD_INTEROPERABILITY:
+		return GTH_METADATA_CATEGORY_EXIF_INTEROPERABILITY;
+	default:
+		return GTH_METADATA_CATEGORY_OTHER;
+	}
 
 	/* Data in IFD1 is for the embedded thumbnail. Keep it separate. */
        	if (ifd == EXIF_IFD_1)
@@ -466,7 +493,7 @@ tag_category (ExifTag  tag,
 	/* Go straight to the GPS category if this is in a GPS IFD, to
 	   avoid the tag ID overlap problem. Otherwise, start at the
 	   first exif tag category. */
-	if (ifd == EXIF_IFD_GPS)
+	/*if (ifd == EXIF_IFD_GPS)
 		category = GTH_METADATA_CATEGORY_GPS;
 	else
 		category = 1;
@@ -483,7 +510,7 @@ tag_category (ExifTag  tag,
 		}
 	}
 
-	return GTH_METADATA_CATEGORY_OTHER;
+	return GTH_METADATA_CATEGORY_OTHER;*/
 }
 
 
@@ -599,7 +626,7 @@ update_exif_data (GthExifDataViewer *edv
                 	                	continue;
 
 	      	                       	utf8_name = g_strdup (value);
-                	               	if (tag_is_present_in_category (edv, GTH_METADATA_CATEGORY_MAKERNOTE, utf8_name)) {
+                	               	if (tag_is_present_in_category (edv, GTH_METADATA_CATEGORY_EXIF_MAKERNOTE, utf8_name)) {
                         	               	g_free (utf8_name);
                                 	       	continue;
 	                               	}
@@ -615,7 +642,7 @@ update_exif_data (GthExifDataViewer *edv
                                         	continue;
 	                        	}
 
-					add_to_exif_display_list (edv, GTH_METADATA_CATEGORY_MAKERNOTE, utf8_name, utf8_value, k);
+					add_to_exif_display_list (edv, GTH_METADATA_CATEGORY_EXIF_MAKERNOTE, utf8_name, utf8_value, k);
 
 	   	                        g_free (utf8_name);
 		                        g_free (utf8_value);
