diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 88d6d894b41e27b511796e2ba91854cf6bf74997..fb7afd5c441b8517f0f29003baee2dbe7c0436c0 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,10 @@ +2013-11-13 Jan Tatarik + + * gnus-icalendar.el (gnus-icalendar-event:sync-to-org) + (gnus-icalendar-event:inline-org-buttons): Allow for appointment + cancellations to be synced to org if the original appt has an org + outline. + 2013-11-12 Jan Tatarik * gnus-icalendar.el (gnus-icalendar-event-from-ical): diff --git a/lisp/gnus-icalendar.el b/lisp/gnus-icalendar.el index f3b62381b47e79b7f260d5ad8c46ad498096c7d9..0437917eea10481405dac6ac3f6dd3c140db5a43 100644 --- a/lisp/gnus-icalendar.el +++ b/lisp/gnus-icalendar.el @@ -540,7 +540,7 @@ is searched." (gnus-icalendar--update-org-event event reply-status) (gnus-icalendar:org-event-save event reply-status))) -(defmethod gnus-icalendar-event:sync-to-org ((event gnus-icalendar-event-cancel)) +(defmethod gnus-icalendar-event:sync-to-org ((event gnus-icalendar-event-cancel) reply-status) (when (gnus-icalendar-find-org-event-file event) (gnus-icalendar--cancel-org-event event))) @@ -717,6 +717,18 @@ is searched." (when org-entry-exists-p `("Show Org Entry" gnus-icalendar--show-org-event ,event)))))) + +(defmethod gnus-icalendar-event:inline-org-buttons ((event gnus-icalendar-event-cancel)) + (let ((org-entry-exists-p (gnus-icalendar-find-org-event-file event))) + + (delq nil (list + `("Show Agenda" gnus-icalendar-show-org-agenda ,event) + (when org-entry-exists-p + `("Update Org Entry" gnus-icalendar-sync-event-to-org ,event)) + (when org-entry-exists-p + `("Show Org Entry" gnus-icalendar--show-org-event ,event)))))) + + (defun gnus-icalendar-mm-inline (handle) (let ((event (gnus-icalendar-event-from-handle handle gnus-icalendar-identities)))