diff options
author | Federico Mena Quintero <federico@ximian.com> | 2001-10-30 17:25:24 +0800 |
---|---|---|
committer | Federico Mena Quintero <federico@src.gnome.org> | 2001-10-30 17:25:24 +0800 |
commit | f3c4424cca6a4072d59c6de24524b0ca7f2a6ec5 (patch) | |
tree | 7ab4397aab4f3e85da00c269112ddc3b1a75b49c /calendar/gui/comp-util.c | |
parent | 6bf38a0ba9bc70423c228445de61d6cbf4f7bd60 (diff) | |
download | gsoc2013-evolution-f3c4424cca6a4072d59c6de24524b0ca7f2a6ec5.tar.gz gsoc2013-evolution-f3c4424cca6a4072d59c6de24524b0ca7f2a6ec5.tar.zst gsoc2013-evolution-f3c4424cca6a4072d59c6de24524b0ca7f2a6ec5.zip |
Use an EMessageBox instead of a gnome_dialog_question so that the label
2001-10-30 Federico Mena Quintero <federico@ximian.com>
* gui/dialogs/delete-comp.c (delete_component_dialog): Use an
EMessageBox instead of a gnome_dialog_question so that the label
gets line breaking. Fixes bug #11260.
2001-10-29 Federico Mena Quintero <federico@ximian.com>
Fix bug #13649.
* gui/calendar-config.c
(calendar_config_get_use_default_reminder): New function.
(calendar_config_set_use_default_reminder): New function.
(calendar_config_get_default_reminder_interval): New function.
(calendar_config_set_default_reminder_interval): New function.
(calendar_config_get_default_reminder_units): New function.
(calendar_config_set_default_reminder_units): New function.
(config_read): Get the options for default reminders.
(calendar_config_write): Set the options for default reminders.
* gui/dialogs/cal-prefs-dialog.c (cal_prefs_dialog_show_config):
Set the default reminder widgets from the config values.
(cal_prefs_dialog_update_config): Set the config values from the
widgets.
* gui/comp-util.c (cal_comp_event_new_with_defaults): New
function; creates a VEVENT component with the default alarm.
* gui/e-day-view.c (e_day_view_key_press): Use
cal_comp_event_new_with_defaults ();
* gui/e-week-view.c (e_week_view_key_press): Likewise.
* gui/calendar-model.c (calendar_model_append_row): Likewise.
* gui/comp-editor-factory.c (get_default_component): Likewise.
* gui/gnome-cal.c (gnome_calendar_new_appointment_for): Likewise.
* cal-util/cal-component.c (ensure_alarm_properties_cb): Ensure we
have a DESCRIPTION property.
(cal_component_commit_sequence): Ensure we have the mandatory
alarm properties.
svn path=/trunk/; revision=14446
Diffstat (limited to 'calendar/gui/comp-util.c')
-rw-r--r-- | calendar/gui/comp-util.c | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/calendar/gui/comp-util.c b/calendar/gui/comp-util.c index 71efec2573..ec6c4fefbf 100644 --- a/calendar/gui/comp-util.c +++ b/calendar/gui/comp-util.c @@ -23,6 +23,7 @@ #include <config.h> #endif +#include "calendar-config.h" #include "comp-util.h" #include "dialogs/delete-comp.h" @@ -231,3 +232,69 @@ cal_comp_confirm_delete_empty_comp (CalComponent *comp, CalClient *client, GtkWi } else return EMPTY_COMP_DO_NOT_REMOVE; } + +/** + * cal_comp_event_new_with_defaults: + * + * Creates a new VEVENT component and adds any default alarms to it as set in + * the program's configuration values. + * + * Return value: A newly-created calendar component. + **/ +CalComponent * +cal_comp_event_new_with_defaults (void) +{ + CalComponent *comp; + int interval; + CalUnits units; + CalComponentAlarm *alarm; + CalAlarmTrigger trigger; + + comp = cal_component_new (); + + cal_component_set_new_vtype (comp, CAL_COMPONENT_EVENT); + + if (!calendar_config_get_use_default_reminder ()) + return comp; + + interval = calendar_config_get_default_reminder_interval (); + units = calendar_config_get_default_reminder_units (); + + alarm = cal_component_alarm_new (); + + /* We don't set the description of the alarm; we'll copy it from the + * summary when it gets committed to the server. + */ + + cal_component_alarm_set_action (alarm, CAL_ALARM_DISPLAY); + + trigger.type = CAL_ALARM_TRIGGER_RELATIVE_START; + + memset (&trigger.u.rel_duration, 0, sizeof (trigger.u.rel_duration)); + + trigger.u.rel_duration.is_neg = TRUE; + + switch (units) { + case CAL_MINUTES: + trigger.u.rel_duration.minutes = interval; + break; + + case CAL_HOURS: + trigger.u.rel_duration.hours = interval; + break; + + case CAL_DAYS: + trigger.u.rel_duration.days = interval; + break; + + default: + g_assert_not_reached (); + } + + cal_component_alarm_set_trigger (alarm, trigger); + + cal_component_add_alarm (comp, alarm); + cal_component_alarm_free (alarm); + + return comp; +} |