diff --git a/ChangeLog b/ChangeLog index ac70a1def24f1aa9e64b04f9fd3d95a22adf3b2f..82ac2e7eb985bb5c6e02f97442a08ca67441696c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2001-06-04 Havoc Pennington + + * gtk/gtkrange.c (gtk_range_button_press): on middle click, center + slider on the click. + 2001-06-03 Havoc Pennington * gtk/gtkstyle.c (gtk_default_draw_slider): make this special-case diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index ac70a1def24f1aa9e64b04f9fd3d95a22adf3b2f..82ac2e7eb985bb5c6e02f97442a08ca67441696c 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,8 @@ +2001-06-04 Havoc Pennington + + * gtk/gtkrange.c (gtk_range_button_press): on middle click, center + slider on the click. + 2001-06-03 Havoc Pennington * gtk/gtkstyle.c (gtk_default_draw_slider): make this special-case diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index ac70a1def24f1aa9e64b04f9fd3d95a22adf3b2f..82ac2e7eb985bb5c6e02f97442a08ca67441696c 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,8 @@ +2001-06-04 Havoc Pennington + + * gtk/gtkrange.c (gtk_range_button_press): on middle click, center + slider on the click. + 2001-06-03 Havoc Pennington * gtk/gtkstyle.c (gtk_default_draw_slider): make this special-case diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index ac70a1def24f1aa9e64b04f9fd3d95a22adf3b2f..82ac2e7eb985bb5c6e02f97442a08ca67441696c 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,8 @@ +2001-06-04 Havoc Pennington + + * gtk/gtkrange.c (gtk_range_button_press): on middle click, center + slider on the click. + 2001-06-03 Havoc Pennington * gtk/gtkstyle.c (gtk_default_draw_slider): make this special-case diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index ac70a1def24f1aa9e64b04f9fd3d95a22adf3b2f..82ac2e7eb985bb5c6e02f97442a08ca67441696c 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,8 @@ +2001-06-04 Havoc Pennington + + * gtk/gtkrange.c (gtk_range_button_press): on middle click, center + slider on the click. + 2001-06-03 Havoc Pennington * gtk/gtkstyle.c (gtk_default_draw_slider): make this special-case diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index ac70a1def24f1aa9e64b04f9fd3d95a22adf3b2f..82ac2e7eb985bb5c6e02f97442a08ca67441696c 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,8 @@ +2001-06-04 Havoc Pennington + + * gtk/gtkrange.c (gtk_range_button_press): on middle click, center + slider on the click. + 2001-06-03 Havoc Pennington * gtk/gtkstyle.c (gtk_default_draw_slider): make this special-case diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index ac70a1def24f1aa9e64b04f9fd3d95a22adf3b2f..82ac2e7eb985bb5c6e02f97442a08ca67441696c 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,8 @@ +2001-06-04 Havoc Pennington + + * gtk/gtkrange.c (gtk_range_button_press): on middle click, center + slider on the click. + 2001-06-03 Havoc Pennington * gtk/gtkstyle.c (gtk_default_draw_slider): make this special-case diff --git a/gtk/gtkrange.c b/gtk/gtkrange.c index e813a143218543f19dde4edf77b414ebc7dc9476..942e68e9c329dc08b687e6c4a4f70a9bfe2bda7a 100644 --- a/gtk/gtkrange.c +++ b/gtk/gtkrange.c @@ -922,15 +922,21 @@ gtk_range_button_press (GtkWidget *widget, */ if (event->button == 2) { - gdouble click_value; - - click_value = coord_to_value (range, - range->orientation == GTK_ORIENTATION_VERTICAL ? - event->y : event->x); + gdouble slider_low_value, slider_high_value; + slider_high_value = + coord_to_value (range, + range->orientation == GTK_ORIENTATION_VERTICAL ? + event->y : event->x); + slider_low_value = + coord_to_value (range, + range->orientation == GTK_ORIENTATION_VERTICAL ? + event->y - range->layout->slider.height : + event->x - range->layout->slider.width); /* middle button jumps to point */ - gtk_range_internal_set_value (range, click_value); + gtk_range_internal_set_value (range, + slider_low_value + (slider_high_value - slider_low_value) / 2); /* Calc layout so we can set slide_initial_slider_position * properly