static void
vnr_properties_dialog_update_metadata(VnrPropertiesDialog *dialog)
{
    vnr_properties_dialog_clear_metadata(dialog);

    uni_read_exiv2_map(
        VNR_FILE(dialog->vnr_win->file_list->data)->path, 
        vnr_cb_add_metadata, 
        (void*)dialog);
}
void
vnr_properties_dialog_update(VnrPropertiesDialog *dialog)
{
    const gchar *filetype = NULL;
    goffset filesize = 0;
    gchar *filetype_desc = NULL;
    gchar *filesize_str = NULL;

    get_file_info ((gchar*)VNR_FILE(dialog->vnr_win->file_list->data)->path,
                   &filesize, &filetype);

    if(filetype == NULL && filesize == 0)
    {
        vnr_properties_dialog_clear(dialog);
        return;
    }

    vnr_properties_dialog_update_image(dialog);
    vnr_properties_dialog_update_metadata(dialog);

    filesize_str = g_format_size (filesize);

    filetype_desc = g_content_type_get_description (filetype);

    gtk_label_set_text(GTK_LABEL(dialog->name_label),
                       (gchar*)VNR_FILE(dialog->vnr_win->file_list->data)->display_name);

    gtk_label_set_text(GTK_LABEL(dialog->location_label),
                       (gchar*)VNR_FILE(dialog->vnr_win->file_list->data)->path);

    gtk_label_set_text(GTK_LABEL(dialog->type_label), filetype_desc);
    gtk_label_set_text(GTK_LABEL(dialog->size_label), filesize_str);

    g_free(filesize_str);
    g_free((gchar*)filetype);
    g_free(filetype_desc);
}
Beispiel #3
0
VnrFile * vnr_file_new() {
    return VNR_FILE (g_object_new (VNR_TYPE_FILE, NULL));
}