From 842c040cf17d43067ad22d73a89ea457ee0d3fbe Mon Sep 17 00:00:00 2001 From: JP Rosevear Date: Wed, 11 Sep 2002 18:50:53 +0000 Subject: create a new appointment based on the selection 2002-09-11 JP Rosevear * gui/e-week-view.c (e_week_view_new_appointment): create a new appointment based on the selection (e_week_view_on_button_press): use above (e_week_view_on_new_appointment): ditto (e_week_view_on_new_meeting): ditto svn path=/trunk/; revision=18043 --- calendar/ChangeLog | 8 +++++ calendar/gui/e-week-view.c | 79 +++++++++++++++++++--------------------------- 2 files changed, 40 insertions(+), 47 deletions(-) (limited to 'calendar') diff --git a/calendar/ChangeLog b/calendar/ChangeLog index f8b32cbd2e..8e9b676105 100644 --- a/calendar/ChangeLog +++ b/calendar/ChangeLog @@ -1,3 +1,11 @@ +2002-09-11 JP Rosevear + + * gui/e-week-view.c (e_week_view_new_appointment): create a new + appointment based on the selection + (e_week_view_on_button_press): use above + (e_week_view_on_new_appointment): ditto + (e_week_view_on_new_meeting): ditto + 2002-09-10 JP Rosevear * gui/comp-editor-factory.c (get_default_event): duh, don't diff --git a/calendar/gui/e-week-view.c b/calendar/gui/e-week-view.c index 500701306e..756689b176 100644 --- a/calendar/gui/e-week-view.c +++ b/calendar/gui/e-week-view.c @@ -1010,6 +1010,33 @@ e_week_view_draw_shadow (EWeekView *week_view) gdk_draw_line (window, light_gc, x1, y2, x2, y2); } +static void +e_week_view_new_appointment (EWeekView *week_view, gboolean meeting) +{ + time_t dtstart, dtend; + struct icaltimetype itt; + gboolean all_day = FALSE; + + /* Edit a new event. If only one day is selected we set the time to + the first 1/2-hour of the working day. */ + if (week_view->selection_start_day == week_view->selection_end_day) { + dtstart = week_view->day_starts[week_view->selection_start_day]; + itt = icaltime_from_timet_with_zone (dtstart, FALSE, + week_view->zone); + itt.hour = calendar_config_get_day_start_hour (); + itt.minute = calendar_config_get_day_start_minute (); + dtstart = icaltime_as_timet_with_zone (itt, week_view->zone); + + icaltime_adjust (&itt, 0, 0, 30, 0); + dtend = icaltime_as_timet_with_zone (itt, week_view->zone); + } else { + dtstart = week_view->day_starts[week_view->selection_start_day]; + dtend = week_view->day_starts[week_view->selection_end_day + 1]; + all_day = TRUE; + } + + gnome_calendar_new_appointment_for (week_view->calendar, dtstart, dtend, all_day, meeting); +} void e_week_view_set_calendar (EWeekView *week_view, @@ -2207,13 +2234,7 @@ e_week_view_on_button_press (GtkWidget *widget, return FALSE; if (event->button == 1 && event->type == GDK_2BUTTON_PRESS) { - time_t dtstart, dtend; - - dtstart = week_view->day_starts[day]; - dtend = week_view->day_starts[day + 1]; - gnome_calendar_new_appointment_for (week_view->calendar, - dtstart, dtend, - TRUE, FALSE); + e_week_view_new_appointment (week_view, FALSE); return TRUE; } @@ -3641,34 +3662,16 @@ e_week_view_show_popup_menu (EWeekView *week_view, e_popup_menu (popup, (GdkEvent *) bevent); } + static void e_week_view_on_new_appointment (GtkWidget *widget, gpointer data) { EWeekView *week_view = E_WEEK_VIEW (data); - time_t dtstart, dtend; - struct icaltimetype itt; - - /* Edit a new event. If only one day is selected we set the time to - the first 1/2-hour of the working day. */ - if (week_view->selection_start_day == week_view->selection_end_day) { - dtstart = week_view->day_starts[week_view->selection_start_day]; - itt = icaltime_from_timet_with_zone (dtstart, FALSE, - week_view->zone); - itt.hour = calendar_config_get_day_start_hour (); - itt.minute = calendar_config_get_day_start_minute (); - dtstart = icaltime_as_timet_with_zone (itt, week_view->zone); - - icaltime_adjust (&itt, 0, 0, 30, 0); - dtend = icaltime_as_timet_with_zone (itt, week_view->zone); - } else { - dtstart = week_view->day_starts[week_view->selection_start_day]; - dtend = week_view->day_starts[week_view->selection_end_day + 1]; - } - gnome_calendar_new_appointment_for ( - week_view->calendar, dtstart, dtend, FALSE, FALSE); + e_week_view_new_appointment (week_view, FALSE); } + static void e_week_view_on_new_event (GtkWidget *widget, gpointer data) { @@ -3685,26 +3688,8 @@ static void e_week_view_on_new_meeting (GtkWidget *widget, gpointer data) { EWeekView *week_view = E_WEEK_VIEW (data); - time_t dtstart, dtend; - struct icaltimetype itt; - if (week_view->selection_start_day == week_view->selection_end_day) { - dtstart = week_view->day_starts[week_view->selection_start_day]; - itt = icaltime_from_timet_with_zone (dtstart, FALSE, - week_view->zone); - itt.hour = calendar_config_get_day_start_hour (); - itt.minute = calendar_config_get_day_start_minute (); - dtstart = icaltime_as_timet_with_zone (itt, week_view->zone); - - icaltime_adjust (&itt, 0, 0, 30, 0); - dtend = icaltime_as_timet_with_zone (itt, week_view->zone); - } else { - dtstart = week_view->day_starts[week_view->selection_start_day]; - dtend = week_view->day_starts[week_view->selection_end_day + 1]; - } - - gnome_calendar_new_appointment_for ( - week_view->calendar, dtstart, dtend, FALSE, TRUE); + e_week_view_new_appointment (week_view, TRUE); } static void -- cgit v1.2.3