int
main (int argc, char **argv)
{
        const char *uri;  
	const char *field;
	const char *value;
	NautilusFile *file;
	NautilusFileAttributes attributes;

	gtk_init (&argc, &argv);	

	if (argc < 3) {
		usage (argv[0]);
	}

	uri = argv[1];
	field = argv[2];
 	value = argv[3];

	file = nautilus_file_get_by_uri (uri);

	attributes = nautilus_mime_actions_get_full_file_attributes ();
	nautilus_file_call_when_ready (file, attributes, ready_callback, NULL);

	while (!ready) {
		gtk_main_iteration ();
	}

	if (strcmp (field, "default_action_type") == 0) {
		puts ("default_action_type");
		nautilus_mime_set_default_action_type_for_file (file, str_to_action_type (value));
	} else if (strcmp (field, "default_application") == 0) {
		puts ("default_application");
		nautilus_mime_set_default_application_for_file (file, value);
	} else if (strcmp (field, "default_component") == 0) {
		puts ("default_component");
		nautilus_mime_set_default_component_for_file (file, value);
	} else if (strcmp (field, "short_list_applicationss") == 0) {
		puts ("short_list_applications");
		nautilus_mime_set_short_list_applications_for_file 
			(file, comma_separated_str_to_str_list (value));
	} else if (strcmp (field, "short_list_components") == 0) {
		puts ("short_list_components");
		nautilus_mime_set_short_list_components_for_file
			(file, comma_separated_str_to_str_list (value));
	} else if (strcmp (field, "add_to_all_applicationss") == 0) {
		puts ("add_to_all_applications");
		nautilus_mime_extend_all_applications_for_file
			(file, comma_separated_str_to_str_list (value));
	} else if (strcmp (field, "remove_from_all_applications") == 0) {
		puts ("remove_from_all_applications");
		nautilus_mime_remove_from_all_applications_for_file 
			(file, comma_separated_str_to_str_list (value));

	} else {
		usage (argv[0]);
	}

	return 0;
}
Exemplo n.º 2
0
int
main (int    argc,
      char **argv)
{
    const char *uri;
    GAppInfo *default_application;
    GList *all_applications;
    NautilusFile *file;
    NautilusFileAttributes attributes;

    gtk_init (&argc, &argv);

    if (argc != 2)
    {
        fprintf (stderr, "Usage: %s uri\n", *argv);
        return 1;
    }

    uri = argv[1];
    file = nautilus_file_get_by_uri (uri);

    attributes = nautilus_mime_actions_get_full_file_attributes ();
    nautilus_file_call_when_ready (file, attributes, ready_callback, NULL);

    while (!ready)
    {
        gtk_main_iteration ();
    }

    default_application = nautilus_mime_get_default_application_for_file (file);
    puts ("Default Application");
    print_application (default_application);
    puts ("");

    all_applications = nautilus_mime_get_applications_for_file (file);
    puts ("All Applications");
    print_application_list (all_applications);
    puts ("");

    return 0;
}