Mercurial > geeqie.yaz
diff src/pan-view.c @ 1288:10073464e6aa
use metadata_read_* functions where possible
switch exiv2 to utf8 charset
support for exiv2 formatting that depends on other tags:
http://dev.robotbattle.com/bugs/view.php?id=0000516
author | nadvornik |
---|---|
date | Sat, 07 Feb 2009 19:01:21 +0000 |
parents | 8b89e3ff286b |
children | 4a3ae0e6f1eb |
line wrap: on
line diff
--- a/src/pan-view.c Fri Feb 06 23:49:03 2009 +0000 +++ b/src/pan-view.c Sat Feb 07 19:01:21 2009 +0000 @@ -18,6 +18,7 @@ #include "dnd.h" #include "editors.h" #include "exif.h" +#include "metadata.h" #include "fullscreen.h" #include "history_list.h" #include "img-view.h" @@ -1434,13 +1435,10 @@ static void pan_info_add_exif(PanTextAlignment *ta, FileData *fd) { - ExifData *exif; GList *work; gint i; if (!fd) return; - exif = exif_read_fd(fd); - if (!exif) return; pan_text_alignment_add(ta, NULL, NULL); @@ -1449,11 +1447,11 @@ gchar *label; gchar *desc; gchar *text; - gchar *utf8_text; if (ExifUIList[i].current == EXIF_UI_OFF) continue; - text = exif_get_data_as_text(exif, ExifUIList[i].key); + text = metadata_read_string(fd, ExifUIList[i].key, METADATA_FORMATTED); + if (ExifUIList[i].current == EXIF_UI_IFSET && (!text || !*text)) { g_free(text); @@ -1463,11 +1461,9 @@ desc = exif_get_description_by_key(ExifUIList[i].key); label = g_strdup_printf("%s:", desc); g_free(desc); - utf8_text = utf8_validate_or_convert(text); + pan_text_alignment_add(ta, label, text); + g_free(label); g_free(text); - pan_text_alignment_add(ta, label, utf8_text); - g_free(label); - g_free(utf8_text); } work = g_list_last(history_list_get_by_key("exif_extras")); @@ -1480,20 +1476,15 @@ name = work->data; work = work->prev; - text = exif_get_data_as_text(exif, name); + text = metadata_read_string(fd, name, METADATA_FORMATTED); if (text) { gchar *label = g_strdup_printf("%s:", name); - gchar *utf8_text = utf8_validate_or_convert(text); - + pan_text_alignment_add(ta, label, text); + g_free(label); g_free(text); - pan_text_alignment_add(ta, label, utf8_text); - g_free(label); - g_free(utf8_text); } } - - exif_free_fd(fd, exif); } static void pan_info_update(PanWindow *pw, PanItem *pi)