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;
}
Пример #2
0
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);
}
Пример #4
0
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;
}
Пример #5
0
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;
}
Пример #6
0
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;
}