aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--addressbook/ChangeLog20
-rw-r--r--addressbook/gui/component/addressbook.c104
-rw-r--r--addressbook/gui/component/addressbook.h1
-rw-r--r--addressbook/gui/widgets/eab-gui-util.c107
-rw-r--r--addressbook/gui/widgets/eab-gui-util.h5
5 files changed, 134 insertions, 103 deletions
diff --git a/addressbook/ChangeLog b/addressbook/ChangeLog
index b3390ffbe7..f3f3ef7e6a 100644
--- a/addressbook/ChangeLog
+++ b/addressbook/ChangeLog
@@ -1,5 +1,25 @@
2004-04-10 Chris Toshok <toshok@ximian.com>
+ * gui/widgets/eab-gui-util.h: add prototypes for
+ eab_load_error_dialog and eab_search_result_dialog.
+
+ * gui/widgets/eab-gui-util.c (eab_load_error_dialog): the new
+ addressbook_show_load_error_dialog.
+ (eab_search_result_dialog): new function, the old contents of
+ addressbook.c:search_result.
+
+ * gui/component/addressbook.c
+ (addressbook_show_load_error_dialog): move this function to
+ eab-gui-utils.[ch]
+ (search_result): split out the body of this into
+ eab_search_result_dialog in eab-gui-utils.[ch].
+ (book_open_cb): call eab_load_error_dialog.
+
+ * gui/component/addressbook.h: remove prototype for
+ addressbook_show_load_error_dialog.
+
+2004-04-10 Chris Toshok <toshok@ximian.com>
+
* util/e-destination.h: remove the e_destination_get_book api,
since the function doesn't exist.
diff --git a/addressbook/gui/component/addressbook.c b/addressbook/gui/component/addressbook.c
index 6de2d8d921..9e5f3795bc 100644
--- a/addressbook/gui/component/addressbook.c
+++ b/addressbook/gui/component/addressbook.c
@@ -268,44 +268,7 @@ set_status_message (EABView *eav, const char *message, AddressbookView *view)
static void
search_result (EABView *eav, EBookViewStatus status, AddressbookView *view)
{
- char *str = NULL;
-
- switch (status) {
- case E_BOOK_VIEW_STATUS_OK:
- return;
- case E_BOOK_VIEW_STATUS_SIZE_LIMIT_EXCEEDED:
- str = _("More cards matched this query than either the server is \n"
- "configured to return or Evolution is configured to display.\n"
- "Please make your search more specific or raise the result limit in\n"
- "the directory server preferences for this addressbook.");
- break;
- case E_BOOK_VIEW_STATUS_TIME_LIMIT_EXCEEDED:
- str = _("The time to execute this query exceeded the server limit or the limit\n"
- "you have configured for this addressbook. Please make your search\n"
- "more specific or raise the time limit in the directory server\n"
- "preferences for this addressbook.");
- break;
- case E_BOOK_VIEW_ERROR_INVALID_QUERY:
- str = _("The backend for this addressbook was unable to parse this query.");
- break;
- case E_BOOK_VIEW_ERROR_QUERY_REFUSED:
- str = _("The backend for this addressbook refused to perform this query.");
- break;
- case E_BOOK_VIEW_ERROR_OTHER_ERROR:
- str = _("This query did not complete successfully.");
- break;
- }
-
- if (str) {
- GtkWidget *dialog;
- dialog = gtk_message_dialog_new (NULL,
- 0,
- GTK_MESSAGE_WARNING,
- GTK_BUTTONS_OK,
- str);
- g_signal_connect (dialog, "response", G_CALLBACK(gtk_widget_destroy), NULL);
- gtk_widget_show (dialog);
- }
+ eab_search_result_dialog (NULL /* XXX */, status);
}
static void
@@ -583,69 +546,6 @@ addressbook_view_unref (AddressbookView *view)
}
}
-void
-addressbook_show_load_error_dialog (GtkWidget *parent, ESource *source, EBookStatus status)
-{
- char *label_string;
- GtkWidget *warning_dialog;
- GtkWidget *href = NULL;
- gchar *uri;
-
- g_return_if_fail (source != NULL);
-
- uri = e_source_get_uri (source);
-
- if (!strncmp (uri, "file:", 5)) {
- label_string =
- _("We were unable to open this addressbook. Please check that the "
- "path exists and that you have permission to access it.");
- }
- else if (!strncmp (uri, "ldap:", 5)) {
- /* special case for ldap: contact folders so we can tell the user about openldap */
-#if HAVE_LDAP
- label_string =
- _("We were unable to open this addressbook. This either "
- "means you have entered an incorrect URI, or the LDAP server "
- "is unreachable.");
-#else
- label_string =
- _("This version of Evolution does not have LDAP support "
- "compiled in to it. If you want to use LDAP in Evolution "
- "you must compile the program from the CVS sources after "
- "retrieving OpenLDAP from the link below.");
- href = gnome_href_new ("http://www.openldap.org/", "OpenLDAP at http://www.openldap.org/");
-#endif
- } else {
- /* other network folders */
- label_string =
- _("We were unable to open this addressbook. This either "
- "means you have entered an incorrect URI, or the server "
- "is unreachable.");
- }
-
- warning_dialog = gtk_message_dialog_new (parent ? GTK_WINDOW (parent) : NULL,
- 0,
- GTK_MESSAGE_WARNING,
- GTK_BUTTONS_CLOSE,
- label_string,
- NULL);
-
- g_signal_connect (warning_dialog,
- "response",
- G_CALLBACK (gtk_widget_destroy),
- warning_dialog);
-
- gtk_window_set_title (GTK_WINDOW (warning_dialog), _("Unable to open addressbook"));
-
- if (href)
- gtk_box_pack_start (GTK_BOX (GTK_DIALOG (warning_dialog)->vbox),
- href, FALSE, FALSE, 0);
-
- gtk_widget_show_all (warning_dialog);
-
- g_free (uri);
-}
-
typedef struct {
EABView *view;
ESource *source;
@@ -672,7 +572,7 @@ book_open_cb (EBook *book, EBookStatus status, gpointer closure)
NULL);
}
else {
- addressbook_show_load_error_dialog (NULL /* XXX */, source, status);
+ eab_load_error_dialog (NULL /* XXX */, source, status);
}
diff --git a/addressbook/gui/component/addressbook.h b/addressbook/gui/component/addressbook.h
index 875752e0c3..6eb4210951 100644
--- a/addressbook/gui/component/addressbook.h
+++ b/addressbook/gui/component/addressbook.h
@@ -15,7 +15,6 @@ void addressbook_load_uri (EBook *book, const char *uri, EBook
guint addressbook_load_source (EBook *book, ESource *source, EBookCallback cb, gpointer closure);
void addressbook_load_source_cancel (guint id);
void addressbook_load_default_book (EBookCallback open_response, gpointer closure);
-void addressbook_show_load_error_dialog (GtkWidget *parent, ESource *source, EBookStatus status);
BonoboControl *addressbook_new_control (void);
diff --git a/addressbook/gui/widgets/eab-gui-util.c b/addressbook/gui/widgets/eab-gui-util.c
index 3ad9ae7a9f..14f446644f 100644
--- a/addressbook/gui/widgets/eab-gui-util.c
+++ b/addressbook/gui/widgets/eab-gui-util.c
@@ -73,6 +73,113 @@ eab_error_dialog (const gchar *msg, EBookStatus status)
g_free (error_msg);
}
+void
+eab_load_error_dialog (GtkWidget *parent, ESource *source, EBookStatus status)
+{
+ char *label_string;
+ GtkWidget *warning_dialog;
+ GtkWidget *href = NULL;
+ gchar *uri;
+
+ g_return_if_fail (source != NULL);
+
+ uri = e_source_get_uri (source);
+
+ if (!strncmp (uri, "file:", 5)) {
+ label_string =
+ _("We were unable to open this addressbook. Please check that the "
+ "path exists and that you have permission to access it.");
+ }
+ else if (!strncmp (uri, "ldap:", 5)) {
+ /* special case for ldap: contact folders so we can tell the user about openldap */
+#if HAVE_LDAP
+ label_string =
+ _("We were unable to open this addressbook. This either "
+ "means you have entered an incorrect URI, or the LDAP server "
+ "is unreachable.");
+#else
+ label_string =
+ _("This version of Evolution does not have LDAP support "
+ "compiled in to it. If you want to use LDAP in Evolution "
+ "you must compile the program from the CVS sources after "
+ "retrieving OpenLDAP from the link below.");
+ href = gnome_href_new ("http://www.openldap.org/", "OpenLDAP at http://www.openldap.org/");
+#endif
+ } else {
+ /* other network folders */
+ label_string =
+ _("We were unable to open this addressbook. This either "
+ "means you have entered an incorrect URI, or the server "
+ "is unreachable.");
+ }
+
+ warning_dialog = gtk_message_dialog_new (parent ? GTK_WINDOW (parent) : NULL,
+ 0,
+ GTK_MESSAGE_WARNING,
+ GTK_BUTTONS_CLOSE,
+ label_string,
+ NULL);
+
+ g_signal_connect (warning_dialog,
+ "response",
+ G_CALLBACK (gtk_widget_destroy),
+ warning_dialog);
+
+ gtk_window_set_title (GTK_WINDOW (warning_dialog), _("Unable to open addressbook"));
+
+ if (href)
+ gtk_box_pack_start (GTK_BOX (GTK_DIALOG (warning_dialog)->vbox),
+ href, FALSE, FALSE, 0);
+
+ gtk_widget_show_all (warning_dialog);
+
+ g_free (uri);
+}
+
+void
+eab_search_result_dialog (GtkWidget *parent,
+ EBookViewStatus status)
+{
+ char *str = NULL;
+
+ switch (status) {
+ case E_BOOK_VIEW_STATUS_OK:
+ return;
+ case E_BOOK_VIEW_STATUS_SIZE_LIMIT_EXCEEDED:
+ str = _("More cards matched this query than either the server is \n"
+ "configured to return or Evolution is configured to display.\n"
+ "Please make your search more specific or raise the result limit in\n"
+ "the directory server preferences for this addressbook.");
+ break;
+ case E_BOOK_VIEW_STATUS_TIME_LIMIT_EXCEEDED:
+ str = _("The time to execute this query exceeded the server limit or the limit\n"
+ "you have configured for this addressbook. Please make your search\n"
+ "more specific or raise the time limit in the directory server\n"
+ "preferences for this addressbook.");
+ break;
+ case E_BOOK_VIEW_ERROR_INVALID_QUERY:
+ str = _("The backend for this addressbook was unable to parse this query.");
+ break;
+ case E_BOOK_VIEW_ERROR_QUERY_REFUSED:
+ str = _("The backend for this addressbook refused to perform this query.");
+ break;
+ case E_BOOK_VIEW_ERROR_OTHER_ERROR:
+ str = _("This query did not complete successfully.");
+ break;
+ }
+
+ if (str) {
+ GtkWidget *dialog;
+ dialog = gtk_message_dialog_new (parent ? GTK_WINDOW (parent) : NULL,
+ 0,
+ GTK_MESSAGE_WARNING,
+ GTK_BUTTONS_OK,
+ str);
+ g_signal_connect (dialog, "response", G_CALLBACK(gtk_widget_destroy), NULL);
+ gtk_widget_show (dialog);
+ }
+}
+
gint
eab_prompt_save_dialog (GtkWindow *parent)
{
diff --git a/addressbook/gui/widgets/eab-gui-util.h b/addressbook/gui/widgets/eab-gui-util.h
index 5f96bc740c..e986fd925a 100644
--- a/addressbook/gui/widgets/eab-gui-util.h
+++ b/addressbook/gui/widgets/eab-gui-util.h
@@ -29,6 +29,11 @@ G_BEGIN_DECLS
void eab_error_dialog (const gchar *msg,
EBookStatus status);
+void eab_load_error_dialog (GtkWidget *parent,
+ ESource *source,
+ EBookStatus status);
+void eab_search_result_dialog (GtkWidget *parent,
+ EBookViewStatus status);
gint eab_prompt_save_dialog (GtkWindow *parent);
EContactEditor *eab_show_contact_editor (EBook *book,