diff options
author | Radek Doulik <rodo@ximian.com> | 2004-01-15 21:46:47 +0800 |
---|---|---|
committer | Radek Doulik <rodo@src.gnome.org> | 2004-01-15 21:46:47 +0800 |
commit | f9377c48533c15010ef9a76c8d6126ebe4732f88 (patch) | |
tree | c55b25b4f1c84f7367698c8f9a74b7cce794f9b9 /calendar/gui/comp-util.c | |
parent | 4edeba938a920fe2501776031090a479bc9dee67 (diff) | |
download | gsoc2013-evolution-f9377c48533c15010ef9a76c8d6126ebe4732f88.tar.gz gsoc2013-evolution-f9377c48533c15010ef9a76c8d6126ebe4732f88.tar.zst gsoc2013-evolution-f9377c48533c15010ef9a76c8d6126ebe4732f88.zip |
fixes #23281, some refactoring and list view get_selected_time_range
implementation
2004-01-15 Radek Doulik <rodo@ximian.com>
* gui/calendar-component.c (impl_requestCreateItem): merge with
JP's changes
2004-01-14 Radek Doulik <rodo@ximian.com>
* gui/e-cal-list-view.c (e_cal_list_view_get_selected_time_range):
new implementation, use time range from selected event
* gui/e-cal-view.c (e_calendar_view_get_selected_time_range):
return gboolean, TRUE if requested time was set, FALSE otherwise
(e_calendar_view_new_appointment_full): use current time if time
range is unavailable
* gui/calendar-component.c (impl_requestCreateItem): use
e_calendar_view_new_appointment_full instead of
cal_comp_event_new_with_current_time
* gui/e-cal-view.c (e_calendar_view_new_appointment_full): new
helper function
* gui/comp-editor-factory.c (edit_new): use
cal_comp_event_new_with_current_time
* gui/calendar-component.c (impl_requestCreateItem): use
cal_comp_event_new_with_current_time
* gui/comp-util.c (cal_comp_event_new_with_current_time): new
function, cut'n'pasted from get_default_event
(calendar-component.c and comp-editor-factory.c)
svn path=/trunk/; revision=24238
Diffstat (limited to 'calendar/gui/comp-util.c')
-rw-r--r-- | calendar/gui/comp-util.c | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/calendar/gui/comp-util.c b/calendar/gui/comp-util.c index 170adb0cf5..f08bd100b2 100644 --- a/calendar/gui/comp-util.c +++ b/calendar/gui/comp-util.c @@ -24,6 +24,8 @@ #endif #include <string.h> +#include <time.h> +#include "e-cal-view.h" #include "calendar-config.h" #include "comp-util.h" #include "dialogs/delete-comp.h" @@ -315,6 +317,47 @@ cal_comp_event_new_with_defaults (ECal *client) } ECalComponent * +cal_comp_event_new_with_current_time (ECal *client, gboolean all_day) +{ + ECalComponent *comp; + struct icaltimetype itt; + ECalComponentDateTime dt; + char *location; + icaltimezone *zone; + + comp = cal_comp_event_new_with_defaults (client); + + g_return_val_if_fail (comp, NULL); + + location = calendar_config_get_timezone (); + zone = icaltimezone_get_builtin_timezone (location); + + if (all_day) { + itt = icaltime_from_timet_with_zone (time (NULL), 1, zone); + + dt.value = &itt; + dt.tzid = icaltimezone_get_tzid (zone); + + e_cal_component_set_dtstart (comp, &dt); + e_cal_component_set_dtend (comp, &dt); + } else { + itt = icaltime_current_time_with_zone (zone); + icaltime_adjust (&itt, 0, 1, -itt.minute, -itt.second); + + dt.value = &itt; + dt.tzid = icaltimezone_get_tzid (zone); + + e_cal_component_set_dtstart (comp, &dt); + icaltime_adjust (&itt, 0, 1, 0, 0); + e_cal_component_set_dtend (comp, &dt); + } + + e_cal_component_commit_sequence (comp); + + return comp; +} + +ECalComponent * cal_comp_task_new_with_defaults (ECal *client) { ECalComponent *comp; |