static FileMimeInfo get_file_mime_info (CajaFileInfo *file) { FileMimeInfo file_mime_info; int i; file_mime_info.is_archive = FALSE; file_mime_info.is_derived_archive = FALSE; file_mime_info.is_compressed_archive = FALSE; for (i = 0; archive_mime_types[i].mime_type != NULL; i++) if (caja_file_info_is_mime_type (file, archive_mime_types[i].mime_type)) { char *mime_type; char *content_type_mime_file; char *content_type_mime_compare; mime_type = caja_file_info_get_mime_type (file); content_type_mime_file = g_content_type_from_mime_type (mime_type); content_type_mime_compare = g_content_type_from_mime_type (archive_mime_types[i].mime_type); file_mime_info.is_archive = TRUE; file_mime_info.is_compressed_archive = archive_mime_types[i].is_compressed; if ((content_type_mime_file != NULL) && (content_type_mime_compare != NULL)) file_mime_info.is_derived_archive = ! g_content_type_equals (content_type_mime_file, content_type_mime_compare); g_free (mime_type); g_free (content_type_mime_file); g_free (content_type_mime_compare); return file_mime_info; } return file_mime_info; }
static gboolean file_is_sound (CajaFileInfo *file_info) { gchar *scheme; gint i; GError *error = NULL; /* Is this a file? */ scheme = caja_file_info_get_uri_scheme (file_info); if (strcmp (scheme, "file") != 0) { g_free (scheme); return FALSE; } g_free (scheme); for (i = 0; mime_types[i] != NULL; i++) if (caja_file_info_is_mime_type (file_info, mime_types[i])) return TRUE; /* Check for mp3 & mp2 support */ if (nsc_gstreamer_supports_mp3 (&error)) { if (caja_file_info_is_mime_type (file_info, "audio/mpeg")) return TRUE; else if (caja_file_info_is_mime_type (file_info, "audio/mp2")) return TRUE; } else { g_error_free (error); error = NULL; } /* Check for aac suppport */ if (nsc_gstreamer_supports_aac (&error)) { if (caja_file_info_is_mime_type (file_info, "audio/mp4")) return TRUE; } else { g_error_free (error); error = NULL; } /* Check for Musepack support */ if (nsc_gstreamer_supports_musepack (&error)) { if (caja_file_info_is_mime_type (file_info, "audio/x-musepack")) return TRUE; } else { g_error_free (error); error = NULL; } /* Check for wma support */ if (nsc_gstreamer_supports_wma (&error)) { if (caja_file_info_is_mime_type (file_info, "audio/x-ms-wma")) return TRUE; } else { g_error_free (error); error = NULL; } return FALSE; }
gboolean fm_ditem_page_should_show (GList *files) { CajaFileInfo *info; if (!files || files->next) { return FALSE; } info = CAJA_FILE_INFO (files->data); if (!caja_file_info_is_mime_type (info, "application/x-desktop")) { return FALSE; } return TRUE; }