[evolution-patches] Re: patch for review (Bug# 45770)



On Tue, 2003-08-12 at 08:22, wu yang wrote:
> I had send this patch two weeks ago, but no response.
> So I send it again.
> this patch is for 45770(evolution calendar keyboard navigation)
> In DayView, Shift+Home/End, Change the duration to the time that 
> begins/ends the current work day
> Thanks
> 
looks ok to me, and doesn't affect much of the changes I'm doing for the
views in the separate branch, so it is ok to commit to HEAD also.

cheers

________________________________________________________________________
> 
> ? autom4te.cache
> ? evolution.kdevprj
> ? evolution.kdevses
> ? new_gen_script
> ? stamp-h1
> ? camel/providers/imapp/Makefile
> ? camel/providers/imapp/Makefile.in
> ? help/C/evolution-1.4-C.omf.out
> ? help/C/omf_timestamp
> ? libical/src/libical/icalyacc.output
> Index: calendar/ChangeLog
> ===================================================================
> RCS file: /cvs/gnome/evolution/calendar/ChangeLog,v
> retrieving revision 1.1846
> diff -u -b -B -r1.1846 ChangeLog
> --- calendar/ChangeLog	8 Aug 2003 14:57:42 -0000	1.1846
> +++ calendar/ChangeLog	12 Aug 2003 03:37:14 -0000
> @@ -1,3 +1,12 @@
> +2003-08-12 Andrew Wu <Yang Wu sun com>
> +	* gui/e-day-view.c 
> +	(e_day_view_change_duration_to_start_of_work_day):
> +	In DayView, Shift+Home, Change the duration to the time 
> +	that begins the current work day.
> +	(e_day_view_change_duration_to_end_of_work_day):
> +	In DayView, Shift+End, Change the duration to the time 
> +	that ends the current work day
> +
>  2003-08-08  Rodrigo Moya <rodrigo ximian com>
>  
>  	* gui/e-cal-model-calendar.c (ecmc_fill_component_from_model):
> Index: calendar/gui/e-day-view.c
> ===================================================================
> RCS file: /cvs/gnome/evolution/calendar/gui/e-day-view.c,v
> retrieving revision 1.215
> diff -u -b -B -r1.215 e-day-view.c
> --- calendar/gui/e-day-view.c	8 Aug 2003 14:57:44 -0000	1.215
> +++ calendar/gui/e-day-view.c	12 Aug 2003 03:37:29 -0000
> @@ -158,6 +158,8 @@
>  static void e_day_view_update_query (EDayView *day_view);
>  static void e_day_view_goto_start_of_work_day (EDayView *day_view);
>  static void e_day_view_goto_end_of_work_day (EDayView *day_view);
> +static void e_day_view_change_duration_to_start_of_work_day (EDayView *day_view);
> +static void e_day_view_change_duration_to_end_of_work_day (EDayView *day_view);
>  static void e_day_view_cursor_key_up_shifted (EDayView *day_view,
>  					      GdkEventKey *event);
>  static void e_day_view_cursor_key_down_shifted (EDayView *day_view,
> @@ -4816,6 +4818,23 @@
>  		return TRUE;
>  	}
>  	
> +	/* In DayView, Shift+Home/End, Change the duration to the time that begins/ends the current work day */	
> +	if ((keyval == GDK_Home)
> +	    &&((event->state & GDK_SHIFT_MASK) == GDK_SHIFT_MASK)
> +	    &&((event->state & GDK_CONTROL_MASK) != GDK_CONTROL_MASK)
> +	    &&((event->state & GDK_MOD1_MASK) != GDK_MOD1_MASK)) {
> +		e_day_view_change_duration_to_start_of_work_day (day_view);
> +		return TRUE;
> +	}
> +	if ((keyval == GDK_End)
> +	    &&((event->state & GDK_SHIFT_MASK) == GDK_SHIFT_MASK)
> +	    &&((event->state & GDK_CONTROL_MASK) != GDK_CONTROL_MASK)
> +	    &&((event->state & GDK_MOD1_MASK) != GDK_MOD1_MASK)) {
> +		e_day_view_change_duration_to_end_of_work_day (day_view);
> +		return TRUE;
> +	}
> +
> +	
>  	/* Handle the cursor keys for moving & extending the selection. */
>  	stop_emission = TRUE;
>  	if (event->state & GDK_SHIFT_MASK) {
> @@ -4999,6 +5018,80 @@
>  	gtk_widget_queue_draw (day_view->top_canvas);
>  	gtk_widget_queue_draw (day_view->main_canvas);
>  }
> +
> +/* Change the duration to the time that begins the current work day */
> +static void
> +e_day_view_change_duration_to_start_of_work_day (EDayView *day_view)
> +{
> +	g_return_if_fail(day_view != NULL);
> +	
> +	if (day_view->selection_in_top_canvas)
> +		return;
> +	else {
> +		gint work_start_row,work_end_row,selection_start_row,selection_end_row;
> +		
> +		work_start_row =
> +			e_day_view_convert_time_to_row (day_view, 
> +							day_view->work_day_start_hour, 
> +							day_view->work_day_start_minute);
> +		work_end_row =
> +			e_day_view_convert_time_to_row (day_view, 
> +							day_view->work_day_end_hour - 1, 
> +							day_view->work_day_end_minute + 30);
> +		selection_start_row = day_view->selection_start_row;
> +		selection_end_row = day_view->selection_end_row;
> +		if (selection_start_row < work_start_row)
> +			day_view->selection_end_row = work_start_row - 1;
> +		else day_view->selection_start_row = work_start_row;
> +	}
> +	
> +	e_day_view_ensure_rows_visible (day_view,
> +					day_view->selection_start_row,
> +					day_view->selection_end_row);
> +
> +	e_day_view_update_calendar_selection_time (day_view);
> +
> +	gtk_widget_queue_draw (day_view->top_canvas);
> +	gtk_widget_queue_draw (day_view->main_canvas);
> +}
> +
> +/* Change the duration to the time that ends the current work day */
> +static void
> +e_day_view_change_duration_to_end_of_work_day (EDayView *day_view)
> +{
> +	g_return_if_fail(day_view != NULL);
> +    
> +	if (day_view->selection_in_top_canvas)
> +		return;
> +	else { 
> +		gint work_start_row,work_end_row,selection_start_row,selection_end_row;     
> +		work_start_row =
> +			e_day_view_convert_time_to_row (day_view, 
> +							day_view->work_day_start_hour, 
> +							day_view->work_day_start_minute);
> +		work_end_row = e_day_view_convert_time_to_row (day_view, 
> +							      day_view->work_day_end_hour-1, 
> +							      day_view->work_day_end_minute+30);
> +		selection_start_row = day_view->selection_start_row;
> +		selection_end_row = day_view->selection_end_row;
> +		if (selection_start_row <= work_end_row)
> +			day_view->selection_end_row = work_end_row;
> +		else {
> +			day_view->selection_start_row = work_end_row + 1;
> +			day_view->selection_end_row = selection_start_row;
> +		}
> +	}
> +
> +	e_day_view_ensure_rows_visible (day_view,
> +					day_view->selection_start_row,
> +					day_view->selection_end_row);
> +	
> +	e_day_view_update_calendar_selection_time (day_view);
> +	
> +	gtk_widget_queue_draw (day_view->top_canvas);
> +	gtk_widget_queue_draw (day_view->main_canvas);
> +}
> +
>  
>  static void
>  e_day_view_cursor_key_up_shifted (EDayView *day_view, GdkEventKey *event)




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]