From 3e5263673b685493531dbe0ab4752add65220955 Mon Sep 17 00:00:00 2001 From: Christophe Fergeau Date: Mon, 14 Jul 2003 20:34:33 +0000 Subject: [PATCH] added a few more mailers only display Evolution once when both evo<=1.2 2003-07-14 Christophe Fergeau * gnome-default-applications-properties-structs.c: added a few more mailers * gnome-default-applications-properties.c: (initialize_default_applications): only display Evolution once when both evo<=1.2 and evo>=1.4 are installed --- capplets/default-applications/ChangeLog | 8 +++++++ ...-default-applications-properties-structs.c | 7 +++++- .../gnome-default-applications-properties.c | 23 ++++++++++++++++--- 3 files changed, 34 insertions(+), 4 deletions(-) diff --git a/capplets/default-applications/ChangeLog b/capplets/default-applications/ChangeLog index 3240fb415..abe2797d8 100644 --- a/capplets/default-applications/ChangeLog +++ b/capplets/default-applications/ChangeLog @@ -1,3 +1,11 @@ +2003-07-14 Christophe Fergeau + + * gnome-default-applications-properties-structs.c: added a few more + mailers + * gnome-default-applications-properties.c: + (initialize_default_applications): only display Evolution once when + both evo<=1.2 and evo>=1.4 are installed + 2003-07-07 Jody Goldberg * Release 2.3.4 diff --git a/capplets/default-applications/gnome-default-applications-properties-structs.c b/capplets/default-applications/gnome-default-applications-properties-structs.c index 2fc43646e..dd5c4b2db 100644 --- a/capplets/default-applications/gnome-default-applications-properties-structs.c +++ b/capplets/default-applications/gnome-default-applications-properties-structs.c @@ -48,9 +48,14 @@ BrowserDescription possible_browsers[] = MailerDescription possible_mailers[] = { + /* The code in gnome-default-applications-properties.c makes sure + * there is only one (the first entry in this list) Evolution entry + * in the list shown to the user + */ + { "Evolution Mail Reader", "evolution-1.4", "evolution-1.4 %s", FALSE, FALSE, }, { "Evolution Mail Reader", "evolution", "evolution %s", FALSE, FALSE, }, - { "Evolution Mail Reader for GNOME2", "evolution-1.3", "evolution-1.3 %s", FALSE, FALSE, }, { "Balsa", "balsa", "balsa --compose=%s", FALSE, FALSE }, + { "KMail", "kmail", "kmail %s", FALSE, FALSE }, { "Mozilla Mail", "mozilla", "mozilla -mail %s", FALSE, FALSE}, { "Mutt" , "mutt", "mutt %s", TRUE, FALSE }, diff --git a/capplets/default-applications/gnome-default-applications-properties.c b/capplets/default-applications/gnome-default-applications-properties.c index 10eb975d3..28ce1ac0c 100644 --- a/capplets/default-applications/gnome-default-applications-properties.c +++ b/capplets/default-applications/gnome-default-applications-properties.c @@ -40,7 +40,7 @@ #include "gconf-property-editor.h" -#define DEFAULT_APPS_KEY_BROWSER_PATH "/desktop/gnome/url-handlers/unknown" +#define DEFAULT_APPS_KEY_BROWSER_PATH "/desktop/gnome/url-handlers/http" #define DEFAULT_APPS_KEY_BROWSER_NEEDS_TERM DEFAULT_APPS_KEY_BROWSER_PATH"/needs_terminal" #define DEFAULT_APPS_KEY_BROWSER_EXEC DEFAULT_APPS_KEY_BROWSER_PATH"/command" @@ -192,6 +192,10 @@ static void initialize_default_applications (void) { gint i; + /* This is used to only have one Evolution entry in the dropdown box + * in case the user has installed both evo for gnome1 and for gnome2 + */ + gboolean evo_already_in_list = FALSE; text_editors = gnome_vfs_mime_get_all_applications ("text/plain"); @@ -202,13 +206,26 @@ initialize_default_applications (void) g_free(browsers); } } - for (i = 0; i < G_N_ELEMENTS (possible_mailers); i++ ) { - gchar *mailers = g_find_program_in_path (possible_mailers[i].executable_name); + for (i = 0; i < G_N_ELEMENTS (possible_mailers); i++ ) { + gchar *mailers; + gchar *exec_name = possible_mailers[i].executable_name; + + mailers = g_find_program_in_path (exec_name); if (mailers) { + if (g_str_has_prefix (exec_name, "evolution")) { + if (evo_already_in_list) { + g_free (mailers); + continue; + } else { + evo_already_in_list = TRUE; + } + } + possible_mailers[i].in_path = TRUE; g_free(mailers); } } + for (i = 0; i < G_N_ELEMENTS (possible_help_viewers); i++ ) { gchar *help_viewers = g_find_program_in_path (possible_help_viewers[i].executable_name); if (help_viewers) {