aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/dialogs/send-comp.c
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/gui/dialogs/send-comp.c')
-rw-r--r--calendar/gui/dialogs/send-comp.c59
1 files changed, 3 insertions, 56 deletions
diff --git a/calendar/gui/dialogs/send-comp.c b/calendar/gui/dialogs/send-comp.c
index 70dd372400..9be9406965 100644
--- a/calendar/gui/dialogs/send-comp.c
+++ b/calendar/gui/dialogs/send-comp.c
@@ -31,6 +31,7 @@
#include <glib/gi18n-lib.h>
#include "e-util/e-util.h"
+#include "gui/itip-utils.h"
static gboolean
component_has_new_attendees (ECalComponent *comp)
@@ -44,60 +45,6 @@ component_has_new_attendees (ECalComponent *comp)
}
static gboolean
-component_has_recipients (ECalComponent *comp)
-{
- GSList *attendees = NULL;
- ECalComponentAttendee *attendee;
- ECalComponentOrganizer organizer;
- gboolean res = FALSE;
-
- g_return_val_if_fail (comp != NULL, FALSE);
-
- e_cal_component_get_organizer (comp, &organizer);
- e_cal_component_get_attendee_list (comp, &attendees);
-
- if (!attendees) {
- if (organizer.value && e_cal_component_get_vtype (comp) == E_CAL_COMPONENT_JOURNAL) {
- /* memos store recipients in an extra property */
- icalcomponent *icalcomp;
- icalproperty *icalprop;
-
- icalcomp = e_cal_component_get_icalcomponent (comp);
-
- for (icalprop = icalcomponent_get_first_property (icalcomp, ICAL_X_PROPERTY);
- icalprop != NULL;
- icalprop = icalcomponent_get_next_property (icalcomp, ICAL_X_PROPERTY)) {
- const gchar *x_name;
-
- x_name = icalproperty_get_x_name (icalprop);
-
- if (g_str_equal (x_name, "X-EVOLUTION-RECIPIENTS")) {
- const gchar *str_recipients = icalproperty_get_x (icalprop);
-
- res = str_recipients && g_ascii_strcasecmp (organizer.value, str_recipients) != 0;
- break;
- }
- }
- }
-
- return res;
- }
-
- if (g_slist_length (attendees) > 1 || !e_cal_component_has_organizer (comp)) {
- e_cal_component_free_attendee_list (attendees);
- return TRUE;
- }
-
- attendee = attendees->data;
-
- res = organizer.value && attendee && attendee->value && g_ascii_strcasecmp (organizer.value, attendee->value) != 0;
-
- e_cal_component_free_attendee_list (attendees);
-
- return res;
-}
-
-static gboolean
have_nonprocedural_alarm (ECalComponent *comp)
{
GList *uids, *l;
@@ -174,7 +121,7 @@ send_component_dialog (GtkWindow *parent,
if (strip_alarms)
*strip_alarms = TRUE;
- if (e_cal_client_check_save_schedules (client) || !component_has_recipients (comp))
+ if (e_cal_client_check_save_schedules (client) || !itip_component_has_recipients (comp))
return FALSE;
vtype = e_cal_component_get_vtype (comp);
@@ -263,7 +210,7 @@ send_dragged_or_resized_component_dialog (GtkWindow *parent,
if (strip_alarms)
*strip_alarms = TRUE;
- if (e_cal_client_check_save_schedules (client) || !component_has_recipients (comp))
+ if (e_cal_client_check_save_schedules (client) || !itip_component_has_recipients (comp))
save_schedules = TRUE;
vtype = e_cal_component_get_vtype (comp);