Mercurial > pidgin.yaz
changeset 25359:ba083e5f633b
Remove all the special-casing in the GNOME URL handler registration.
author | Richard Laager <rlaager@wiktel.com> |
---|---|
date | Tue, 02 Dec 2008 18:47:38 +0000 |
parents | f1d814126801 |
children | 7524f9a084ff |
files | pidgin/gtkutils.c |
diffstat | 1 files changed, 9 insertions(+), 21 deletions(-) [+] |
line wrap: on
line diff
--- a/pidgin/gtkutils.c Tue Dec 02 18:47:33 2008 +0000 +++ b/pidgin/gtkutils.c Tue Dec 02 18:47:38 2008 +0000 @@ -3625,22 +3625,9 @@ start += sizeof("/desktop/gnome/url-handlers/") - 1; - /* It would be nice if this was tracked in gconf. */ - if (!strcmp(start, "ftp") || - !strcmp(start, "gopher") || - !strcmp(start, "http") || - !strcmp(start, "https")) - protocol = g_strdup_printf("%s://", start); - else - protocol = g_strdup_printf("%s:", start); - - /* We need to free this later. */ + protocol = g_strdup_printf("%s:", start); gnome_url_handlers = g_list_prepend(gnome_url_handlers, protocol); - - if (!strcmp(protocol, "mailto:")) - gtk_imhtml_class_register_protocol(protocol, url_clicked_cb, copy_email_address); - else - gtk_imhtml_class_register_protocol(protocol, url_clicked_cb, link_context_menu); + gtk_imhtml_class_register_protocol(protocol, url_clicked_cb, link_context_menu); } start = c + 1; } @@ -3652,17 +3639,18 @@ void pidgin_utils_init(void) { - gtk_imhtml_class_register_protocol("open://", open_dialog, dummy); - - /* If we're under GNOME, try registering the system URL handlers. */ - if (purple_running_gnome() && register_gnome_url_handlers()) - return; - gtk_imhtml_class_register_protocol("http://", url_clicked_cb, link_context_menu); gtk_imhtml_class_register_protocol("https://", url_clicked_cb, link_context_menu); gtk_imhtml_class_register_protocol("ftp://", url_clicked_cb, link_context_menu); gtk_imhtml_class_register_protocol("gopher://", url_clicked_cb, link_context_menu); gtk_imhtml_class_register_protocol("mailto:", url_clicked_cb, copy_email_address); + + /* Example custom URL handler. */ + gtk_imhtml_class_register_protocol("open://", open_dialog, dummy); + + /* If we're under GNOME, try registering the system URL handlers. */ + if (purple_running_gnome()) + register_gnome_url_handlers(); } void pidgin_utils_uninit(void)