diff options
author | Srinivasa Ragavan <sragavan@novell.com> | 2005-07-05 12:38:51 +0800 |
---|---|---|
committer | Srinivasa Ragavan <sragavan@src.gnome.org> | 2005-07-05 12:38:51 +0800 |
commit | 342d3c32efc78ba037046d32b137321b915bac6d (patch) | |
tree | 3d6124cd1437c75f5a13a71861343e824ecc57b3 /calendar/gui/e-cal-popup.c | |
parent | d6634fe53c1b9ddb09b538f181b356865b3aeaf2 (diff) | |
download | gsoc2013-evolution-342d3c32efc78ba037046d32b137321b915bac6d.tar.gz gsoc2013-evolution-342d3c32efc78ba037046d32b137321b915bac6d.tar.zst gsoc2013-evolution-342d3c32efc78ba037046d32b137321b915bac6d.zip |
Created new target type Added #define for the new target type Poped e-cal
2005-07-05 Srinivasa Ragavan <sragavan@novell.com>
* gui/e-cal-popup.c: Created new target type
* gui/e-cal-popup.h: Added #define for the new target type
* gui/dialogs/cal-attachment-bar.c: (cab_popup) Poped e-cal instead of
em_*. Removed mailer code from calendar
* gui/dialogs/comp-editor.c: (drag_data_received) Poped e-cal instead of
em_*. Removed mailer code from calendar.
svn path=/trunk/; revision=29630
Diffstat (limited to 'calendar/gui/e-cal-popup.c')
-rw-r--r-- | calendar/gui/e-cal-popup.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/calendar/gui/e-cal-popup.c b/calendar/gui/e-cal-popup.c index 3ecddd0bb4..441bad505c 100644 --- a/calendar/gui/e-cal-popup.c +++ b/calendar/gui/e-cal-popup.c @@ -309,6 +309,33 @@ e_cal_popup_target_new_source(ECalPopup *eabp, ESourceSelector *selector) return t; } +/** + * e_cal_popup_target_new_attachments: + * @ecp: + * @attachments: A list of CalAttachment objects, reffed for + * the list. Will be unreff'd once finished with. + * + * Owns the list @attachments and their items after they're passed in. + * + * Return value: + **/ +ECalPopupTargetAttachments * +e_cal_popup_target_new_attachments(ECalPopup *ecp, GSList *attachments) +{ + ECalPopupTargetAttachments *t = e_popup_target_new(&ecp->popup, E_CAL_POPUP_TARGET_ATTACHMENTS, sizeof(*t)); + guint32 mask = ~0; + int len = g_slist_length(attachments); + + t->attachments = attachments; + if (len > 0) + mask &= ~ E_CAL_POPUP_ATTACHMENTS_MANY; + if (len == 1) + mask &= ~ E_CAL_POPUP_ATTACHMENTS_ONE; + t->target.mask = mask; + + return t; +} + /* ********************************************************************** */ /* Popup menu plugin handler */ @@ -365,9 +392,16 @@ static const EPopupHookTargetMask ecalph_source_masks[] = { { 0 } }; +static const EPopupHookTargetMask ecalph_attachments_masks[] = { + { "one", E_CAL_POPUP_ATTACHMENTS_ONE }, + { "many", E_CAL_POPUP_ATTACHMENTS_MANY }, + { 0 } +}; + static const EPopupHookTargetMap ecalph_targets[] = { { "select", E_CAL_POPUP_TARGET_SELECT, ecalph_select_masks }, { "source", E_CAL_POPUP_TARGET_SOURCE, ecalph_source_masks }, + { "attachments", E_CAL_POPUP_TARGET_ATTACHMENTS, ecalph_attachments_masks }, { 0 } }; |