From 410c439aef09a72fe828f6c7b8a69558684c67f4 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Tue, 29 Jan 2013 08:53:45 +0100 Subject: Enable to key 'Esc' to close the map view This commit makes the behavior consistent between the map window and the yearly statistics window. Both can now be closed by just pressing the 'Esc' key. Signed-off-by: Pierre-Yves Chibon Signed-off-by: Dirk Hohndel --- gps.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/gps.c b/gps.c index e97e58892..31be2bbc5 100644 --- a/gps.c +++ b/gps.c @@ -135,6 +135,14 @@ static void add_gps_point(OsmGpsMap *map, float latitude, float longitude) osm_gps_map_track_add(map, track); } +static void key_press_event(GtkWidget *window, GdkEventKey *event, gpointer data) +{ + if ((event->string != NULL && event->keyval == GDK_Escape) || + (event->string != NULL && event->keyval == GDK_w && event->state & GDK_CONTROL_MASK)) { + gtk_widget_destroy(window); + } +} + OsmGpsMap *init_map(void) { OsmGpsMap *map; @@ -187,6 +195,7 @@ void show_map(OsmGpsMap *map, GtkWidget **window, struct dive *dive, void (*call gtk_window_set_modal(GTK_WINDOW(*window), TRUE); g_signal_connect(*window, "destroy", G_CALLBACK(on_close), (gpointer)window); g_signal_connect(G_OBJECT(map), "scroll-event", G_CALLBACK(scroll_cb), NULL); + g_signal_connect(*window, "key_press_event", G_CALLBACK (key_press_event), NULL); } if (callback) g_signal_connect(G_OBJECT(map), "button-press-event", G_CALLBACK(button_cb), callback); -- cgit v1.2.3-70-g09d2