aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/gui/widgets/e-addressbook-view.c
diff options
context:
space:
mode:
authorDevashish Sharma <dsharma@src.gnome.org>2006-01-25 18:24:35 +0800
committerDevashish Sharma <dsharma@src.gnome.org>2006-01-25 18:24:35 +0800
commitc31d93ccb23c2c7ba2faa82668d0a45a7bddf369 (patch)
tree9a099e07b6703bc224be660cb170cc75dc50b097 /addressbook/gui/widgets/e-addressbook-view.c
parentd61405e0045845e0850c1e23bef82ac4aed0ee22 (diff)
downloadgsoc2013-evolution-c31d93ccb23c2c7ba2faa82668d0a45a7bddf369.tar
gsoc2013-evolution-c31d93ccb23c2c7ba2faa82668d0a45a7bddf369.tar.gz
gsoc2013-evolution-c31d93ccb23c2c7ba2faa82668d0a45a7bddf369.tar.bz2
gsoc2013-evolution-c31d93ccb23c2c7ba2faa82668d0a45a7bddf369.tar.lz
gsoc2013-evolution-c31d93ccb23c2c7ba2faa82668d0a45a7bddf369.tar.xz
gsoc2013-evolution-c31d93ccb23c2c7ba2faa82668d0a45a7bddf369.tar.zst
gsoc2013-evolution-c31d93ccb23c2c7ba2faa82668d0a45a7bddf369.zip
Added menu items for addressbook operations.
svn path=/trunk/; revision=31307
Diffstat (limited to 'addressbook/gui/widgets/e-addressbook-view.c')
-rw-r--r--addressbook/gui/widgets/e-addressbook-view.c44
1 files changed, 33 insertions, 11 deletions
diff --git a/addressbook/gui/widgets/e-addressbook-view.c b/addressbook/gui/widgets/e-addressbook-view.c
index 0e05d76192..e7db20275d 100644
--- a/addressbook/gui/widgets/e-addressbook-view.c
+++ b/addressbook/gui/widgets/e-addressbook-view.c
@@ -900,7 +900,7 @@ copy_to_folder (EPopup *ep, EPopupItem *pitem, void *data)
{
ContactAndBook *contact_and_book = data;
- eab_view_copy_to_folder (contact_and_book->view);
+ eab_view_copy_to_folder (contact_and_book->view, FALSE);
}
static void
@@ -908,7 +908,7 @@ move_to_folder (EPopup *ep, EPopupItem *pitem, void *data)
{
ContactAndBook *contact_and_book = data;
- eab_view_move_to_folder (contact_and_book->view);
+ eab_view_move_to_folder (contact_and_book->view, FALSE);
}
static void
@@ -2030,9 +2030,23 @@ get_selected_contacts (EABView *view)
}
void
-eab_view_save_as (EABView *view)
+eab_view_save_as (EABView *view, gboolean all)
{
- GList *list = get_selected_contacts (view);
+ GList *list = NULL;
+ EBook *book ;
+
+ g_object_get(view->model,
+ "book", &book,
+ NULL);
+
+ if (all) {
+ EBookQuery *query = e_book_query_any_field_contains("");
+ e_book_get_contacts(book, query, &list, NULL);
+ e_book_query_unref(query);
+ }
+ else {
+ list = get_selected_contacts(view);
+ }
if (list)
eab_contact_list_save (_("Save as VCard..."), list, NULL);
e_free_object_list(list);
@@ -2113,16 +2127,24 @@ eab_view_stop(EABView *view)
}
static void
-view_transfer_contacts (EABView *view, gboolean delete_from_source)
+view_transfer_contacts (EABView *view, gboolean delete_from_source, gboolean all)
{
EBook *book;
- GList *contacts;
+ GList *contacts = NULL;
GtkWindow *parent_window;
g_object_get(view->model,
"book", &book,
NULL);
- contacts = get_selected_contacts (view);
+
+ if (all) {
+ EBookQuery *query = e_book_query_any_field_contains("");
+ e_book_get_contacts(book, query, &contacts, NULL);
+ e_book_query_unref(query);
+ }
+ else {
+ contacts = get_selected_contacts (view);
+ }
parent_window = GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (view)));
eab_transfer_contacts (book, contacts, delete_from_source, parent_window);
@@ -2130,15 +2152,15 @@ view_transfer_contacts (EABView *view, gboolean delete_from_source)
}
void
-eab_view_copy_to_folder (EABView *view)
+eab_view_copy_to_folder (EABView *view, gboolean all)
{
- view_transfer_contacts (view, FALSE);
+ view_transfer_contacts (view, FALSE, all);
}
void
-eab_view_move_to_folder (EABView *view)
+eab_view_move_to_folder (EABView *view, gboolean all)
{
- view_transfer_contacts (view, TRUE);
+ view_transfer_contacts (view, TRUE, all);
}