From 79d3756857257531993dc16b83a68e2ba4ed444b Mon Sep 17 00:00:00 2001 From: Chris Toshok Date: Fri, 7 Sep 2001 00:33:57 +0000 Subject: add -DEVOLUTION_IMAGESDIR. 2001-09-06 Chris Toshok * gui/component/Makefile.am (INCLUDES): add -DEVOLUTION_IMAGESDIR. * gui/widgets/e-addressbook-view.c (card_deleted_cb): remove status messages from here. (e_addressbook_view_delete_selection): same. * gui/widgets/e-addressbook-model.c (sequence_complete): emit a NULL status message along with the stop_state_changed. The null status message will clear the status bar for this view. * gui/component/addressbook.c (set_status_message): use the EvolutionActivityClient stuff. * backend/pas/pas-backend-ldap.c (view_destroy): remove status message for abandoning a search. (ldap_op_process_current): wrap status messages in _(). (ldap_op_process): same. (create_card_handler): same, and remove the notify_status for "" and add a notify_complete call after the card is added. (remove_card_handler): same. (modify_card_handler): same. (poll_ldap): wrap status messages with _(), and remove the "Search Complete" message. (ldap_search_handler): wrap status message. * backend/pas/pas-backend-file.c (pas_backend_file_search): use _() on status messages, and make sure the last notify_* called is notify_complete. svn path=/trunk/; revision=12663 --- addressbook/ChangeLog | 31 ++++++++++++++++++++++ addressbook/backend/pas/pas-backend-file.c | 10 +++++--- addressbook/backend/pas/pas-backend-ldap.c | 37 ++++++++++++++++++--------- addressbook/gui/component/Makefile.am | 4 ++- addressbook/gui/component/addressbook.c | 37 +++++++++++++++++---------- addressbook/gui/widgets/e-addressbook-model.c | 1 + addressbook/gui/widgets/e-addressbook-view.c | 8 ------ 7 files changed, 89 insertions(+), 39 deletions(-) (limited to 'addressbook') diff --git a/addressbook/ChangeLog b/addressbook/ChangeLog index 0721244a1c..d82d2ad42c 100644 --- a/addressbook/ChangeLog +++ b/addressbook/ChangeLog @@ -1,3 +1,34 @@ +2001-09-06 Chris Toshok + + * gui/component/Makefile.am (INCLUDES): add -DEVOLUTION_IMAGESDIR. + + * gui/widgets/e-addressbook-view.c (card_deleted_cb): remove + status messages from here. + (e_addressbook_view_delete_selection): same. + + * gui/widgets/e-addressbook-model.c (sequence_complete): emit a + NULL status message along with the stop_state_changed. The null + status message will clear the status bar for this view. + + * gui/component/addressbook.c (set_status_message): use the + EvolutionActivityClient stuff. + + * backend/pas/pas-backend-ldap.c (view_destroy): remove status + message for abandoning a search. + (ldap_op_process_current): wrap status messages in _(). + (ldap_op_process): same. + (create_card_handler): same, and remove the notify_status for "" + and add a notify_complete call after the card is added. + (remove_card_handler): same. + (modify_card_handler): same. + (poll_ldap): wrap status messages with _(), and remove the "Search + Complete" message. + (ldap_search_handler): wrap status message. + + * backend/pas/pas-backend-file.c (pas_backend_file_search): use + _() on status messages, and make sure the last notify_* called is + notify_complete. + 2001-09-05 Ettore Perazzoli [Fix #958, ShellComponents should not be created by factories, for diff --git a/addressbook/backend/pas/pas-backend-file.c b/addressbook/backend/pas/pas-backend-file.c index c8d63104d4..f13f486d97 100644 --- a/addressbook/backend/pas/pas-backend-file.c +++ b/addressbook/backend/pas/pas-backend-file.c @@ -15,6 +15,9 @@ #include #include +#include +#include + #include #if DB_VERSION_MAJOR != 3 || \ @@ -251,9 +254,9 @@ pas_backend_file_search (PASBackendFile *bf, search_needed = FALSE; if (search_needed) - pas_book_view_notify_status_message (view->book_view, "Searching..."); + pas_book_view_notify_status_message (view->book_view, _("Searching...")); else - pas_book_view_notify_status_message (view->book_view, "Loading..."); + pas_book_view_notify_status_message (view->book_view, _("Loading...")); if (view->card_sexp) gtk_object_unref (GTK_OBJECT(view->card_sexp)); @@ -262,8 +265,8 @@ pas_backend_file_search (PASBackendFile *bf, if (!view->card_sexp) { /* need a different error message here. */ + pas_book_view_notify_status_message (view->book_view, _("Error in search expression.")); pas_book_view_notify_complete (view->book_view); - pas_book_view_notify_status_message (view->book_view, "Error in search expression."); return; } @@ -323,7 +326,6 @@ pas_backend_file_search (PASBackendFile *bf, pas_book_view_notify_add (view->book_view, cards); pas_book_view_notify_complete (view->book_view); - pas_book_view_notify_status_message (view->book_view, "Search complete"); /* ** It's fine to do this now since the data has been handed off. diff --git a/addressbook/backend/pas/pas-backend-ldap.c b/addressbook/backend/pas/pas-backend-ldap.c index da49f8ea9a..7e1634da64 100644 --- a/addressbook/backend/pas/pas-backend-ldap.c +++ b/addressbook/backend/pas/pas-backend-ldap.c @@ -14,6 +14,9 @@ #include #include +#include +#include + #ifdef DEBUG #define LDAP_DEBUG #define LDAP_DEBUG_ADD @@ -245,7 +248,6 @@ view_destroy(GtkObject *object, gpointer data) ldap connection. remove the idle handler and anbandon the msg id */ g_source_remove(view->search_idle); - pas_book_view_notify_status_message (view->book_view, "Abandoning pending search."); if (view->search_msgid != -1) ldap_abandon (bl->priv->ldap, view->search_msgid); @@ -462,7 +464,7 @@ ldap_op_process_current (PASBackend *backend) if (!bl->priv->connected) { if (op->view) - pas_book_view_notify_status_message (op->view, "Connecting to LDAP server..."); + pas_book_view_notify_status_message (op->view, _("Connecting to LDAP server...")); pas_backend_ldap_connect(bl); } @@ -472,8 +474,8 @@ ldap_op_process_current (PASBackend *backend) } else { if (op->view) { + pas_book_view_notify_status_message (op->view, _("Unable to connect to LDAP server.")); pas_book_view_notify_complete (op->view); - pas_book_view_notify_status_message (op->view, "Unable to connect to LDAP server."); } ldap_op_finished (op); @@ -488,7 +490,7 @@ ldap_op_process (LDAPOp *op) if (bl->priv->current_op) { /* operation in progress. queue this op for later and return. */ if (op->view) - pas_book_view_notify_status_message (op->view, "Waiting for connection to ldap server..."); + pas_book_view_notify_status_message (op->view, _("Waiting for connection to LDAP server...")); bl->priv->pending_ops = g_list_append (bl->priv->pending_ops, op); } else { @@ -857,14 +859,11 @@ create_card_handler (PASBackend *backend, LDAPOp *op) ldap_mods = (LDAPMod**)mod_array->pdata; if (op->view) - pas_book_view_notify_status_message (op->view, "Adding card to LDAP server..."); + pas_book_view_notify_status_message (op->view, _("Adding card to LDAP server...")); /* actually perform the ldap add */ ldap_error = ldap_add_s (ldap, dn, ldap_mods); - if (op->view) - pas_book_view_notify_status_message (op->view, ""); - if (ldap_error == LDAP_SUCCESS) { /* the card was created, let's let the views know about it */ GList *l; @@ -890,6 +889,9 @@ create_card_handler (PASBackend *backend, LDAPOp *op) ldap_perror (ldap, "ldap_add_s"); } + if (op->view) + pas_book_view_notify_complete (op->view); + /* and clean up */ free_mods (mod_array); g_free (dn); @@ -953,6 +955,9 @@ remove_card_handler (PASBackend *backend, LDAPOp *op) int ldap_error; ECardSimple *simple; + if (op->view) + pas_book_view_notify_status_message (op->view, _("Removing card from LDAP server...")); + simple = search_for_dn (bl, remove_op->id); if (simple) { @@ -991,6 +996,9 @@ remove_card_handler (PASBackend *backend, LDAPOp *op) pas_book_respond_remove (remove_op->op.book, response); + if (op->view) + pas_book_view_notify_complete (op->view); + /* we're synchronous */ return TRUE; } @@ -1052,6 +1060,9 @@ modify_card_handler (PASBackend *backend, LDAPOp *op) ldap = bl->priv->ldap; + if (op->view) + pas_book_view_notify_status_message (op->view, _("Modifying card from LDAP server...")); + current_card = search_for_dn (bl, id); if (current_card) { @@ -1114,6 +1125,9 @@ modify_card_handler (PASBackend *backend, LDAPOp *op) pas_book_respond_modify (modify_op->op.book, response); + if (op->view) + pas_book_view_notify_complete (op->view); + /* we're synchronous */ return TRUE; } @@ -1975,12 +1989,12 @@ poll_ldap (LDAPSearchOp *op) GList *cards = NULL; static int received = 0; - pas_book_view_notify_status_message (view->book_view, "Receiving LDAP search results..."); + pas_book_view_notify_status_message (view->book_view, _("Receiving LDAP search results...")); rc = ldap_result (ldap, view->search_msgid, 0, NULL, &res); if (rc == -1 && received == 0) { - pas_book_view_notify_status_message (view->book_view, "Restarting search."); + pas_book_view_notify_status_message (view->book_view, _("Restarting search.")); /* connection went down and we never got any. */ bl->priv->connected = FALSE; @@ -1994,7 +2008,6 @@ poll_ldap (LDAPSearchOp *op) pas_book_view_notify_complete (view->book_view); ldap_op_finished ((LDAPOp*)op); received = 0; - pas_book_view_notify_status_message (view->book_view, "Search complete."); return FALSE; } @@ -2031,7 +2044,7 @@ ldap_search_handler (PASBackend *backend, LDAPOp *op) LDAPSearchOp *search_op = (LDAPSearchOp*) op; if (op->view) - pas_book_view_notify_status_message (op->view, "Searching..."); + pas_book_view_notify_status_message (op->view, _("Searching...")); /* it might not be NULL if we've been restarted */ if (search_op->ldap_query == NULL) diff --git a/addressbook/gui/component/Makefile.am b/addressbook/gui/component/Makefile.am index 29d3663f56..68138c8390 100644 --- a/addressbook/gui/component/Makefile.am +++ b/addressbook/gui/component/Makefile.am @@ -20,7 +20,9 @@ INCLUDES = \ -DEVOLUTION_GLADEDIR=\""$(gladedir)"\" \ -DEVOLUTION_ICONSDIR=\""$(iconsdir)"\" \ -DEVOLUTION_LOCALEDIR=\""$(localedir)"\" \ - -DCAMEL_PROVIDERDIR=\""$(providerdir)"\" + -DCAMEL_PROVIDERDIR=\""$(providerdir)"\" \ + -DEVOLUTION_IMAGESDIR=\""$(datadir)"/images/evolution\" + bin_PROGRAMS = \ evolution-addressbook diff --git a/addressbook/gui/component/addressbook.c b/addressbook/gui/component/addressbook.c index 9cc11635d8..c2a1ca4631 100644 --- a/addressbook/gui/component/addressbook.c +++ b/addressbook/gui/component/addressbook.c @@ -28,10 +28,12 @@ #include "select-names/e-select-names-manager.h" #include "evolution-shell-component-utils.h" +#include "evolution-activity-client.h" #include "e-contact-editor.h" #include "e-contact-save-as.h" #include "addressbook-config.h" #include "addressbook.h" +#include "addressbook-component.h" #include "addressbook/gui/search/e-addressbook-search-dialog.h" #include "addressbook/gui/widgets/e-addressbook-view.h" #include "addressbook/gui/widgets/e-addressbook-util.h" @@ -41,6 +43,10 @@ #include #include +/* This is used for the addressbook status bar */ +#define EVOLUTION_CONTACTS_PROGRESS_IMAGE "evolution-contacts-mini.png" +static GdkPixbuf *progress_icon[2] = { NULL, NULL }; + #define d(x) #define PROPERTY_FOLDER_URI "folder_uri" @@ -51,6 +57,7 @@ typedef struct { EAddressbookView *view; ESearchBar *search; GtkWidget *vbox; + EvolutionActivityClient *activity; BonoboControl *control; BonoboPropertyBag *properties; char *uri; @@ -779,27 +786,29 @@ retrieve_shell_view_interface_from_control (BonoboControl *control) static void set_status_message (EAddressbookView *eav, const char *message, AddressbookView *view) { - CORBA_Environment ev; - GNOME_Evolution_ShellView shell_view_interface; - CORBA_exception_init (&ev); - - shell_view_interface = retrieve_shell_view_interface_from_control (view->control); - if (!shell_view_interface) { - CORBA_exception_free (&ev); - return; + if (!message || !*message) { + if (view->activity) { + gtk_object_unref (GTK_OBJECT (view->activity)); + view->activity = NULL; + } } + else if (!view->activity) { + int display; + char *clientid = g_strdup_printf ("%p", view); - if (message == NULL || message[0] == 0) { - GNOME_Evolution_ShellView_unsetMessage (shell_view_interface, &ev); + if (progress_icon[0] == NULL) + progress_icon[0] = gdk_pixbuf_new_from_file (EVOLUTION_IMAGESDIR "/" EVOLUTION_CONTACTS_PROGRESS_IMAGE); + + view->activity = evolution_activity_client_new (addressbook_component_get_shell_client(), clientid, + progress_icon, message, TRUE, &display); + + g_free (clientid); } else { - GNOME_Evolution_ShellView_setMessage (shell_view_interface, - message, - e_addressbook_view_can_stop (view->view), &ev); + evolution_activity_client_update (view->activity, message, -1.0); } - CORBA_exception_free (&ev); } static void diff --git a/addressbook/gui/widgets/e-addressbook-model.c b/addressbook/gui/widgets/e-addressbook-model.c index d4a71d498a..e43772abf8 100644 --- a/addressbook/gui/widgets/e-addressbook-model.c +++ b/addressbook/gui/widgets/e-addressbook-model.c @@ -224,6 +224,7 @@ sequence_complete (EBookView *book_view, EAddressbookModel *model) { model->search_in_progress = FALSE; + status_message (book_view, NULL, model); gtk_signal_emit (GTK_OBJECT (model), e_addressbook_model_signals [STOP_STATE_CHANGED]); } diff --git a/addressbook/gui/widgets/e-addressbook-view.c b/addressbook/gui/widgets/e-addressbook-view.c index bf07164486..50ae8d2d0e 100644 --- a/addressbook/gui/widgets/e-addressbook-view.c +++ b/addressbook/gui/widgets/e-addressbook-view.c @@ -796,8 +796,6 @@ table_drag_data_get (ETable *table, { EAddressbookView *view = user_data; - printf ("table_drag_data_get (row %d, col %d)\n", row, col); - if (!E_IS_ADDRESSBOOK_TABLE_ADAPTER(view->object)) return; @@ -1246,10 +1244,6 @@ e_addressbook_view_print(EAddressbookView *view) static void card_deleted_cb (EBook* book, EBookStatus status, gpointer user_data) { - EAddressbookView *view = user_data; - - emit_status_message (view, _("Done.")); - if (status != E_BOOK_STATUS_SUCCESS) { e_addressbook_error_dialog (_("Error removing card"), status); } @@ -1280,8 +1274,6 @@ e_addressbook_view_delete_selection(EAddressbookView *view) g_return_if_fail (model); - emit_status_message (view, _("Removing cards...")); - e_selection_model_foreach (model, do_remove, view); -- cgit