Re: [evolution-patches] [addressbook] - Fix for bug : 260403
- From: Srinivasa Ragavan <sragavan novell com>
- To: "vandana shenoy .B." <shvandana novell com>
- Cc: evolution-patches gnome org
- Subject: Re: [evolution-patches] [addressbook] - Fix for bug : 260403
- Date: Thu, 06 Apr 2006 19:18:47 +0530
Vandana,
My comments are below.
-Srini
On Thu, 2006-04-06 at 16:40 +0530, vandana shenoy .B. wrote:
> Index: e-addressbook-view.c
> ===================================================================
> RCS
> file: /cvs/gnome/evolution/addressbook/gui/widgets/e-addressbook-view.c,v
> retrieving revision 1.180
> diff -u -p -r1.180 e-addressbook-view.c
> --- e-addressbook-view.c 22 Feb 2006 07:41:12 -0000 1.180
> +++ e-addressbook-view.c 6 Apr 2006 11:07:55 -0000
> @@ -1892,6 +1892,13 @@ eab_view_print_preview(EABView *view)
> #endif
> }
>
> +static void before_deleted_cb (EBook *book, EBookStatus status,
> gpointer closure)
> +{
> + if (status != E_BOOK_ERROR_OK && status !=
> E_BOOK_ERROR_CANCELLED) {
> + eab_error_dialog ( _("Error deleting
> contact"), status);
> + }
Formatting needs to be corrected. no braces should be here.
> +}
> +
> void
> eab_view_delete_selection(EABView *view, gboolean is_delete)
> {
> @@ -1899,6 +1906,9 @@ eab_view_delete_selection(EABView *view,
> gboolean plural = FALSE, is_list = FALSE;
> EContact *contact;
> char *name = NULL;
> +
> + EContactDeleteCallback *look_up ;
> + look_up = g_new ( EContactDeleteCallback , 1 );
>
Correct the spacing. Also look_up is not freed any where. Free it up.
> list = get_selected_contacts (view);
> contact = list->data;
> @@ -1929,12 +1939,18 @@ eab_view_delete_selection(EABView *view,
> ids = g_list_prepend (ids,
> (char*)e_contact_get_const (contact, E_CONTACT_UID));
> }
>
> + look_up->book = view->book;
> + look_up->status = E_BOOK_ERROR_OK ;
> + look_up->closure = NULL;
> +
> +
> +
> /* Remove the cards all at once. */
> - /* XXX no callback specified... ugh */
> + /* callback specified */
> e_book_async_remove_contacts (view->book,
> ids,
> - NULL,
> - NULL);
> + before_deleted_cb,
> + look_up);
>
> g_list_free (ids);
> }
> @@ -1942,11 +1958,11 @@ eab_view_delete_selection(EABView *view,
> for (l=list;l;l=g_list_next(l)) {
> contact = l->data;
> /* Remove the card. */
> - /* XXX no callback specified... ugh */
> + /* no callback specified*/
> e_book_async_remove_contact (view->book,
> contact,
> - NULL,
> - NULL);
> +
> before_deleted_cb,
> + look_up);
> }
> }
>
> Index: e-addressbook-view.h
> ===================================================================
> RCS
> file: /cvs/gnome/evolution/addressbook/gui/widgets/e-addressbook-view.h,v
> retrieving revision 1.40
> diff -u -p -r1.40 e-addressbook-view.h
> --- e-addressbook-view.h 30 Jan 2006 10:03:20 -0000 1.40
> +++ e-addressbook-view.h 6 Apr 2006 11:08:06 -0000
> @@ -114,6 +114,14 @@ struct _EABViewClass
> void (*command_state_change) (EABView *view);
> };
>
> +typedef struct _EContactDeleteCallback EContactDeleteCallback ;
> +
> +struct _EContactDeleteCallback{
> + EBook* book;
> + EBookStatus status;
> + gpointer closure;
> +};
> +
This structure is not accessed outside this file. and it shouldnt be
declared here IMO.
> GtkWidget *eab_view_new (void);
> GType eab_view_get_type (void);
>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]