static void statusbar_set_date (GtkStatusbar *statusbar, EomThumbView *view) { EomImage *image; gchar *date = NULL; gchar time_buffer[32]; ExifData *exif_data; if (eom_thumb_view_get_n_selected (view) == 0) { return; } image = eom_thumb_view_get_first_selected_image (view); gtk_statusbar_pop (statusbar, 0); if (!eom_image_has_data (image, EOM_IMAGE_DATA_EXIF)) { if (!eom_image_load (image, EOM_IMAGE_DATA_EXIF, NULL, NULL)) { gtk_widget_hide (GTK_WIDGET (statusbar)); } } exif_data = eom_image_get_exif_info (image); if (exif_data) { date = eom_exif_util_format_date (eom_exif_data_get_value (exif_data, EXIF_TAG_DATE_TIME_ORIGINAL, time_buffer, 32)); eom_exif_data_free (exif_data); } if (date) { gtk_statusbar_push (statusbar, 0, date); gtk_widget_show (GTK_WIDGET (statusbar)); g_free (date); } else { gtk_widget_hide (GTK_WIDGET (statusbar)); } }
static void eom_exif_set_label (GtkWidget *w, ExifData *exif_data, gint tag_id) { gchar exif_buffer[512]; const gchar *buf_ptr; gchar *label_text = NULL; if (exif_data) { buf_ptr = eom_exif_util_get_value (exif_data, tag_id, exif_buffer, 512); if (tag_id == EXIF_TAG_DATE_TIME_ORIGINAL && buf_ptr) label_text = eom_exif_util_format_date (buf_ptr); else label_text = eom_util_make_valid_utf8 (buf_ptr); } gtk_label_set_text (GTK_LABEL (w), label_text); g_free (label_text); }