diff options
author | Alexey Yakovenko <wakeroid@gmail.com> | 2009-11-07 16:48:24 +0100 |
---|---|---|
committer | Alexey Yakovenko <wakeroid@gmail.com> | 2009-11-07 16:48:24 +0100 |
commit | da7470b473f0eb55af70e7c124b1cbafb0aa64b4 (patch) | |
tree | f31a2f556c3c70d7ba3a9424d8fea62c7c326060 | |
parent | ecd2e4f2e06dd0033ce374261f4b236ccccd8b32 (diff) |
Escape key closes preferences window
-rw-r--r-- | callbacks.c | 16 | ||||
-rw-r--r-- | callbacks.h | 5 | ||||
-rw-r--r-- | deadbeef.glade | 1 | ||||
-rw-r--r-- | interface.c | 3 |
4 files changed, 23 insertions, 2 deletions
diff --git a/callbacks.c b/callbacks.c index 93325540..213e4b32 100644 --- a/callbacks.c +++ b/callbacks.c @@ -1341,9 +1341,8 @@ on_helpwindow_key_press_event (GtkWidget *widget, if (event->keyval == GDK_Escape) { gtk_widget_hide (widget); gtk_widget_destroy (widget); -// g_object_unref (widget); } - return FALSE; + return FALSE; } @@ -1680,3 +1679,16 @@ on_pref_network_proxytype_changed (GtkComboBox *combobox, } } + +gboolean +on_prefwin_key_press_event (GtkWidget *widget, + GdkEventKey *event, + gpointer user_data) +{ + if (event->keyval == GDK_Escape) { + gtk_widget_hide (widget); + gtk_widget_destroy (widget); + } + return FALSE; +} + diff --git a/callbacks.h b/callbacks.h index 36f5c78f..6f0edfbf 100644 --- a/callbacks.h +++ b/callbacks.h @@ -662,3 +662,8 @@ on_pref_network_proxyport_changed (GtkEditable *editable, void on_pref_network_proxytype_changed (GtkComboBox *combobox, gpointer user_data); + +gboolean +on_prefwin_key_press_event (GtkWidget *widget, + GdkEventKey *event, + gpointer user_data); diff --git a/deadbeef.glade b/deadbeef.glade index 24834b70..88580fa3 100644 --- a/deadbeef.glade +++ b/deadbeef.glade @@ -1312,6 +1312,7 @@ <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> <property name="focus_on_map">True</property> <property name="urgency_hint">False</property> + <signal name="key_press_event" handler="on_prefwin_key_press_event" last_modification_time="Sat, 07 Nov 2009 15:47:40 GMT"/> <child> <widget class="GtkNotebook" id="notebook2"> diff --git a/interface.c b/interface.c index bbc65189..b961542c 100644 --- a/interface.c +++ b/interface.c @@ -1467,6 +1467,9 @@ create_prefwin (void) gtk_widget_show (label3); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook2), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook2), 3), label3); + g_signal_connect ((gpointer) prefwin, "key_press_event", + G_CALLBACK (on_prefwin_key_press_event), + NULL); g_signal_connect ((gpointer) pref_alsa_resampling, "clicked", G_CALLBACK (on_pref_alsa_resampling_clicked), NULL); |