mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-10 10:50:10 +00:00
Allow to cancel a drag with ESC. (#58389, Søren Sandmann)
2006-03-11 Matthias Clasen <mclasen@redhat.com> * gtk/gtkrange.c (gtk_range_key_press): Allow to cancel a drag with ESC. (#58389, Søren Sandmann)
This commit is contained in:
parent
63985b018f
commit
a1bf73c3f1
@ -1,3 +1,8 @@
|
||||
2006-03-11 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/gtkrange.c (gtk_range_key_press): Allow to cancel
|
||||
a drag with ESC. (#58389, Søren Sandmann)
|
||||
|
||||
2006-03-10 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/gtkrange.c: Add a style property ::activate_slider that
|
||||
|
@ -1,3 +1,8 @@
|
||||
2006-03-11 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/gtkrange.c (gtk_range_key_press): Allow to cancel
|
||||
a drag with ESC. (#58389, Søren Sandmann)
|
||||
|
||||
2006-03-10 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/gtkrange.c: Add a style property ::activate_slider that
|
||||
|
@ -28,6 +28,7 @@
|
||||
#include <config.h>
|
||||
#include <stdio.h>
|
||||
#include <math.h>
|
||||
#include <gdk/gdkkeysyms.h>
|
||||
#include "gtkintl.h"
|
||||
#include "gtkmain.h"
|
||||
#include "gtkmarshalers.h"
|
||||
@ -186,6 +187,8 @@ static gboolean gtk_range_real_change_value (GtkRange *range,
|
||||
GtkScrollType scroll,
|
||||
gdouble value);
|
||||
static void gtk_range_update_value (GtkRange *range);
|
||||
static gboolean gtk_range_key_press (GtkWidget *range,
|
||||
GdkEventKey *event);
|
||||
|
||||
|
||||
static GtkWidgetClass *parent_class = NULL;
|
||||
@ -255,6 +258,7 @@ gtk_range_class_init (GtkRangeClass *class)
|
||||
widget_class->grab_notify = gtk_range_grab_notify;
|
||||
widget_class->state_changed = gtk_range_state_changed;
|
||||
widget_class->style_set = gtk_range_style_set;
|
||||
widget_class->key_press_event = gtk_range_key_press;
|
||||
|
||||
class->move_slider = gtk_range_move_slider;
|
||||
class->change_value = gtk_range_real_change_value;
|
||||
@ -1410,6 +1414,26 @@ coord_to_value (GtkRange *range,
|
||||
return value;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_range_key_press (GtkWidget *widget,
|
||||
GdkEventKey *event)
|
||||
{
|
||||
GtkRange *range = (GtkRange *)widget;
|
||||
|
||||
if (event->keyval == GDK_Escape)
|
||||
{
|
||||
stop_scrolling (range);
|
||||
|
||||
update_slider_position (range,
|
||||
range->slide_initial_coordinate,
|
||||
range->slide_initial_coordinate);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static gint
|
||||
gtk_range_button_press (GtkWidget *widget,
|
||||
GdkEventButton *event)
|
||||
|
Loading…
Reference in New Issue
Block a user