aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/gui/widgets/eab-popup.c
diff options
context:
space:
mode:
Diffstat (limited to 'addressbook/gui/widgets/eab-popup.c')
-rw-r--r--addressbook/gui/widgets/eab-popup.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/addressbook/gui/widgets/eab-popup.c b/addressbook/gui/widgets/eab-popup.c
index d2faa40fc5..92624cb4cd 100644
--- a/addressbook/gui/widgets/eab-popup.c
+++ b/addressbook/gui/widgets/eab-popup.c
@@ -65,6 +65,11 @@ eabp_target_free(EPopup *ep, EPopupTarget *t)
g_object_unref(s->selector);
break; }
+ case EAB_POPUP_TARGET_SELECT_NAMES: {
+ EABPopupTargetSelectNames *s = (EABPopupTargetSelectNames *)t;
+
+ g_object_unref(s->model);
+ break; }
}
((EPopupClass *)eabp_parent)->target_free(ep, t);
@@ -189,6 +194,18 @@ eab_popup_target_new_source(EABPopup *eabp, ESourceSelector *selector)
return t;
}
+EABPopupTargetSelectNames *
+eab_popup_target_new_select_names(EABPopup *eabp, struct _ESelectNamesModel *model, int row)
+{
+ EABPopupTargetSelectNames *t = e_popup_target_new(&eabp->popup, EAB_POPUP_TARGET_SELECT_NAMES, sizeof(*t));
+
+ t->model = model;
+ g_object_ref(model);
+ t->row = row;
+
+ return t;
+}
+
/* ********************************************************************** */
/* Popup menu plugin handler */
@@ -231,9 +248,14 @@ static const EPopupHookTargetMask eabph_source_masks[] = {
{ 0 }
};
+static const EPopupHookTargetMask eabph_select_names_masks[] = {
+ { 0 }
+};
+
static const EPopupHookTargetMap eabph_targets[] = {
{ "select", EAB_POPUP_TARGET_SELECT, eabph_select_masks },
{ "source", EAB_POPUP_TARGET_SOURCE, eabph_source_masks },
+ { "select-names", EAB_POPUP_TARGET_SELECT_NAMES, eabph_select_names_masks },
{ 0 }
};