diff options
author | Rebecca Schulman <rebecka@eazel.com> | 2001-01-26 23:16:59 +0000 |
---|---|---|
committer | Rebecca Schulman <rebecka@src.gnome.org> | 2001-01-26 23:16:59 +0000 |
commit | 5dfee0c35d7091873a30c0c63cfcb0b5cec3e6cf (patch) | |
tree | db251215f92aa9ba2d8c49977164757d5d3168f0 /test/test-nautilus-mime-actions.c | |
parent | 2717a5cdd36e86d5c90ecd56ebecc4f9d79dbdbb (diff) | |
download | nautilus-5dfee0c35d7091873a30c0c63cfcb0b5cec3e6cf.tar.gz |
Fix bugs 4094, 4425, 5201 and 4106 about inappopriate applications being
2001-01-27 Rebecca Schulman <rebecka@eazel.com>
Fix bugs 4094, 4425, 5201 and 4106 about inappopriate
applications being offered to view remote files.
This change filters applications that don't support
a uri scheme from a file's short list.
reviewed by: Pavel Cisler <pavel@eazel.com>
* libnautilus-extensions/nautilus-mime-actions.c:
(nautilus_mime_actions_get_minimum_file_attributes),
(nautilus_mime_get_short_list_applications_for_file),
(application_supports_uri_scheme):
Filter out applications from the short list that do not
support the uri scheme for the file in question.
* libnautilus-extensions/nautilus-program-choosing.c:
(nautilus_launch_application):
Change "can_open_uris" to "expects_uris" to go along with
the gnome vfs change
* test/test-nautilus-mime-actions.c: (append_comma_and_scheme),
(format_supported_uri_schemes_for_display), (print_application):
update the tests similarly to the way the gnome-vfs tests were
updated, so that all of the fields of the GnomeVFSMimeApplication
structure are correctly printed.
* libnautilus-extensions/nautilus-glib-extensions.c:
Correct spelling and naming error in a comment
Diffstat (limited to 'test/test-nautilus-mime-actions.c')
-rw-r--r-- | test/test-nautilus-mime-actions.c | 34 |
1 files changed, 32 insertions, 2 deletions
diff --git a/test/test-nautilus-mime-actions.c b/test/test-nautilus-mime-actions.c index 0b6adc1ca..3a4a7866e 100644 --- a/test/test-nautilus-mime-actions.c +++ b/test/test-nautilus-mime-actions.c @@ -32,16 +32,46 @@ static gboolean ready = FALSE; + +static void +append_comma_and_scheme (gpointer scheme, + gpointer user_data) +{ + char **string; + + string = (char **) user_data; + if (strlen (*string) > 0) { + *string = g_strconcat (*string, ", ", scheme, NULL); + } + else { + *string = g_strdup (scheme); + } +} + + +static char * +format_supported_uri_schemes_for_display (GList *supported_uri_schemes) +{ + char *string; + + string = g_strdup (""); + g_list_foreach (supported_uri_schemes, + append_comma_and_scheme, + &string); + return string; +} + static void print_application (GnomeVFSMimeApplication *application) { if (application == NULL) { puts ("(none)"); } else { - printf ("name: %s\ncommand: %s\ncan_open_multiple_files: %s\ncan_open_uris: %s\nrequires_terminal: %s\n", + printf ("name: %s\ncommand: %s\ncan_open_multiple_files: %s\nexpects_uris: %s\nsupported_uri_schemes: %s\nrequires_terminal: %s\n", application->name, application->command, (application->can_open_multiple_files ? "TRUE" : "FALSE"), - (application->can_open_uris ? "TRUE" : "FALSE"), + (application->expects_uris ? "TRUE" : "FALSE"), + format_supported_uri_schemes_for_display (application->supported_uri_schemes), (application->requires_terminal ? "TRUE" : "FALSE")); } } |