From eb8729cefab967a133f53409a9a3622e849e6e73 Mon Sep 17 00:00:00 2001 From: Chris Toshok Date: Fri, 16 Aug 2002 07:54:16 +0000 Subject: [ fix 27333 ] "local" -> "do-initial-query". 2002-08-16 Chris Toshok [ fix 27333 ] * gui/widgets/e-addressbook-model.c (get_view): "local" -> "do-initial-query". * backend/pas/pas-backend-file.c (pas_backend_file_get_static_capabilities): "local" -> "local,do-initial-query". * gui/widgets/e-addressbook-model.c (get_view): "local" -> "do-initial-query". * gui/component/addressbook.c (book_open_cb): Only assume the addressbook is local if "local" appears in its static capabilities. We still use the ldap special case, but be nicer to other networked backends. svn path=/trunk/; revision=17782 --- addressbook/gui/component/addressbook.c | 49 +++++++++++++++++++++------------ 1 file changed, 32 insertions(+), 17 deletions(-) (limited to 'addressbook/gui/component/addressbook.c') diff --git a/addressbook/gui/component/addressbook.c b/addressbook/gui/component/addressbook.c index 5a84addd3e..bf4de3db4d 100644 --- a/addressbook/gui/component/addressbook.c +++ b/addressbook/gui/component/addressbook.c @@ -461,35 +461,50 @@ book_open_cb (EBook *book, EBookStatus status, gpointer closure) "book", book, NULL); } else { - AddressbookSource *source; GtkWidget *warning_dialog, *label; + char *capabilities; + AddressbookSource *source = NULL; warning_dialog = gnome_dialog_new ( _("Unable to open addressbook"), GNOME_STOCK_BUTTON_CLOSE, NULL); - source = addressbook_storage_get_source_by_uri (view->uri); + capabilities = e_book_get_static_capabilities (book); - if (source) { -#if HAVE_LDAP - label = gtk_label_new ( - _("We were unable to open this addressbook. This either\n" - "means you have entered an incorrect URI, or the LDAP server\n" - "is down")); -#else - label = gtk_label_new ( - _("This version of Evolution does not have LDAP support\n" - "compiled in to it. If you want to use LDAP in Evolution\n" - "you must compile the program from the CVS sources after\n" - "retrieving OpenLDAP from the link below.\n")); -#endif - } - else { + if (capabilities && strstr (capabilities, "local")) { label = gtk_label_new ( _("We were unable to open this addressbook. Please check that the\n" "path exists and that you have permission to access it.")); } + else { + source = addressbook_storage_get_source_by_uri (view->uri); + + if (source) { + /* special case for ldap: contact folders so we can tell the user about openldap */ +#if HAVE_LDAP + label = gtk_label_new ( + _("We were unable to open this addressbook. This either\n" + "means you have entered an incorrect URI, or the LDAP server\n" + "is unreachable.")); +#else + label = gtk_label_new ( + _("This version of Evolution does not have LDAP support\n" + "compiled in to it. If you want to use LDAP in Evolution\n" + "you must compile the program from the CVS sources after\n" + "retrieving OpenLDAP from the link below.\n")); +#endif + } + else { + /* other network folders */ + label = gtk_label_new ( + _("We were unable to open this addressbook. This either\n" + "means you have entered an incorrect URI, or the server\n" + "is unreachable.")); + } + } + + g_free (capabilities); gtk_misc_set_alignment(GTK_MISC(label), 0, .5); -- cgit v1.2.3