aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/gui/widgets
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
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')
-rw-r--r--addressbook/gui/widgets/e-addressbook-view.c44
-rw-r--r--addressbook/gui/widgets/e-addressbook-view.h6
-rw-r--r--addressbook/gui/widgets/eab-gui-util.c10
3 files changed, 41 insertions, 19 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);
}
diff --git a/addressbook/gui/widgets/e-addressbook-view.h b/addressbook/gui/widgets/e-addressbook-view.h
index 08371ae009..28fe6831bd 100644
--- a/addressbook/gui/widgets/e-addressbook-view.h
+++ b/addressbook/gui/widgets/e-addressbook-view.h
@@ -126,7 +126,7 @@ void eab_view_discard_menus (EABView *view);
RuleContext *eab_view_peek_search_context (EABView *view);
FilterRule *eab_view_peek_search_rule (EABView *view);
-void eab_view_save_as (EABView *view);
+void eab_view_save_as (EABView *view, gboolean all);
void eab_view_view (EABView *view);
void eab_view_send (EABView *view);
void eab_view_send_to (EABView *view);
@@ -139,8 +139,8 @@ void eab_view_paste (EABView *view);
void eab_view_select_all (EABView *view);
void eab_view_show_all (EABView *view);
void eab_view_stop (EABView *view);
-void eab_view_copy_to_folder (EABView *view);
-void eab_view_move_to_folder (EABView *view);
+void eab_view_copy_to_folder (EABView *view, gboolean all);
+void eab_view_move_to_folder (EABView *view, gboolean all);
gboolean eab_view_can_create (EABView *view);
gboolean eab_view_can_print (EABView *view);
diff --git a/addressbook/gui/widgets/eab-gui-util.c b/addressbook/gui/widgets/eab-gui-util.c
index 5b54acaf61..416e613ecc 100644
--- a/addressbook/gui/widgets/eab-gui-util.c
+++ b/addressbook/gui/widgets/eab-gui-util.c
@@ -454,16 +454,16 @@ eab_select_source (const gchar *title, const gchar *message, const gchar *select
if (!e_book_get_addressbooks (&source_list, NULL))
return NULL;
- dialog = gtk_dialog_new_with_buttons (title, parent,
+ dialog = gtk_dialog_new_with_buttons (_("Select Address Book"), parent,
GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
NULL);
- gtk_window_set_default_size (GTK_WINDOW (dialog), 200, 350);
+ gtk_window_set_default_size (GTK_WINDOW (dialog), 350, 300);
cancel_button = gtk_dialog_add_button (GTK_DIALOG (dialog), GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL);
ok_button = gtk_dialog_add_button (GTK_DIALOG (dialog), GTK_STOCK_OK, GTK_RESPONSE_ACCEPT);
gtk_widget_set_sensitive (ok_button, FALSE);
- label = gtk_label_new (message);
+ //label = gtk_label_new (message);
selector = e_source_selector_new (source_list);
e_source_selector_show_selection (E_SOURCE_SELECTOR (selector), FALSE);
@@ -480,7 +480,7 @@ eab_select_source (const gchar *title, const gchar *message, const gchar *select
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolled_window), GTK_SHADOW_IN);
gtk_container_add (GTK_CONTAINER (scrolled_window), selector);
- gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), label, FALSE, FALSE, 4);
+ //gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), label, FALSE, FALSE, 4);
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), scrolled_window, TRUE, TRUE, 4);
gtk_widget_show_all (dialog);
@@ -763,7 +763,7 @@ eab_transfer_contacts (EBook *source, GList *contacts /* adopted */, gboolean de
desc = _("Copy contacts to");
}
- destination_source = eab_select_source (desc, _("Select target addressbook."),
+ destination_source = eab_select_source (desc, NULL,
last_uid, parent_window);
if (!destination_source)