diff options
Diffstat (limited to 'addressbook/gui/widgets/e-addressbook-view.c')
-rw-r--r-- | addressbook/gui/widgets/e-addressbook-view.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/addressbook/gui/widgets/e-addressbook-view.c b/addressbook/gui/widgets/e-addressbook-view.c index ed55f42a89..09e6f7626e 100644 --- a/addressbook/gui/widgets/e-addressbook-view.c +++ b/addressbook/gui/widgets/e-addressbook-view.c @@ -44,6 +44,7 @@ #include "addressbook/printing/e-contact-print-envelope.h" #include "addressbook/gui/search/e-addressbook-search-dialog.h" #include "addressbook/gui/widgets/eab-popup.h" +#include "addressbook/gui/widgets/eab-menu.h" #include "e-util/e-categories-master-list-wombat.h" #include "e-util/e-sexp.h" @@ -2171,3 +2172,25 @@ eab_view_can_move_to_folder (EABView *view) { return view ? eab_view_selection_nonempty (view) && eab_model_editable (view->model) : FALSE; } + +EABMenuTargetSelect * +eab_view_get_menu_target (EABView *view, EABMenu *menu) +{ + GPtrArray *cards = g_ptr_array_new(); + ESelectionModel *selection_model; + EABMenuTargetSelect *t; + + selection_model = get_selection_model (view); + if (selection_model) { + ContactAndBook cab; + + cab.view = view; + cab.closure = cards; + e_selection_model_foreach(selection_model, get_card_1, &cab); + } + + t = eab_menu_target_new_select(menu, view->book, !eab_model_editable(view->model), cards); + t->target.widget = (GtkWidget *)view; + + return t; +} |