static FileMimeInfo get_file_mime_info (NautilusFileInfo *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 (nautilus_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 = nautilus_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; }
gboolean fm_ditem_page_should_show (GList *files) { NautilusFileInfo *info; if (!files || files->next) { return FALSE; } info = NAUTILUS_FILE_INFO (files->data); if (!nautilus_file_info_is_mime_type (info, "application/x-desktop")) { return FALSE; } return TRUE; }
static GList * totem_properties_get_pages (NautilusPropertyPageProvider *provider, GList *files) { NautilusFileInfo *file; char *uri; GtkWidget *page, *label; NautilusPropertyPage *property_page; guint i; gboolean found; /* only add properties page if a single file is selected */ if (files == NULL || files->next != NULL) return NULL; file = files->data; /* only add the properties page to these mime types */ found = FALSE; for (i = 0; mime_types[i] != NULL; i++) { if (nautilus_file_info_is_mime_type (file, mime_types[i])) { found = TRUE; break; } } if (found == FALSE) return NULL; /* okay, make the page, init'ing the backend first if necessary */ if (backend_inited == FALSE) { gst_init (NULL, NULL); backend_inited = TRUE; } uri = nautilus_file_info_get_uri (file); label = gtk_label_new (_("Audio/Video")); page = totem_properties_view_new (uri, label); g_free (uri); gtk_container_set_border_width (GTK_CONTAINER (page), 6); property_page = nautilus_property_page_new ("video-properties", label, page); return g_list_prepend (NULL, property_page); }
static GList * fm_ditem_page_get_pages (NautilusPropertyPageProvider *provider, GList *files) { GList *pages; NautilusPropertyPage *page; NautilusFileInfo *info; char *uri; GtkWidget *box; GtkWidget *label; if (!files || files->next) { return NULL; } info = NAUTILUS_FILE_INFO (files->data); if (!nautilus_file_info_is_mime_type (info, "application/x-desktop")) { return NULL; } box = gtk_vbox_new (FALSE, 6); label = gtk_label_new (""); g_object_set_data (G_OBJECT (box), "label", label); uri = nautilus_file_info_get_uri (info); fm_ditem_page_create_begin (FM_DITEM_PAGE (provider), uri, box); g_free (uri); page = nautilus_property_page_new ("Desktop Item Page", label, box); pages = g_list_prepend (NULL, page); return pages; }
static GList *gnome_mplayer_properties_get_pages(NautilusPropertyPageProvider * provider, GList * files) { GList *pages = NULL; NautilusFileInfo *file; GtkWidget *page, *label; NautilusPropertyPage *property_page; guint i; gboolean found = FALSE; gchar *uri; /* only add properties page if a single file is selected */ if (files == NULL || files->next != NULL) return pages; file = files->data; /* only add the properties page to these mime types */ for (i = 0; i < G_N_ELEMENTS(mime_types); i++) { if (nautilus_file_info_is_mime_type(file, mime_types[i])) { found = TRUE; break; } } if (found) { uri = nautilus_file_info_get_uri(file); label = gtk_label_new(dgettext(GETTEXT_PACKAGE, "Audio/Video")); page = gtk_table_new(20, 2, FALSE); gtk_container_set_border_width(GTK_CONTAINER(page), 6); if (get_properties(page, uri)) { gtk_widget_show_all(page); property_page = nautilus_property_page_new("video-properties", label, page); pages = g_list_prepend(pages, property_page); } g_free(uri); } return pages; }
static FileMimeInfo get_file_mime_info (NautilusFileInfo *file) { FileMimeInfo file_mime_info; gsize i; file_mime_info.is_directory = FALSE; file_mime_info.is_file = FALSE; for (i = 0; easytag_mime_types[i].mime_type != NULL; i++) { if (nautilus_file_info_is_mime_type (file, easytag_mime_types[i].mime_type)) { file_mime_info.is_directory = easytag_mime_types[i].is_directory; file_mime_info.is_file = easytag_mime_types[i].is_file; return file_mime_info; } } return file_mime_info; }