summaryrefslogtreecommitdiff
path: root/plugins/gtkui/search.c
diff options
context:
space:
mode:
authorGravatar Alexey Yakovenko <waker@users.sourceforge.net>2014-06-08 13:37:12 +0200
committerGravatar Alexey Yakovenko <waker@users.sourceforge.net>2014-06-08 13:49:18 +0200
commit1a7ec54699dbb1aaffba4c1d5cfdad54528bcd69 (patch)
tree1513fdbaa02e661195d86fb0d247b895ed532228 /plugins/gtkui/search.c
parent3410c95d991390463965ddf6b584b37f67d30746 (diff)
gtkui: improved keyboard handling
Diffstat (limited to 'plugins/gtkui/search.c')
-rw-r--r--plugins/gtkui/search.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/plugins/gtkui/search.c b/plugins/gtkui/search.c
index ed0d69e6..d6c9aed0 100644
--- a/plugins/gtkui/search.c
+++ b/plugins/gtkui/search.c
@@ -189,18 +189,14 @@ on_searchwin_key_press_event (GtkWidget *widget,
{
// that's for when user attempts to navigate list while entry has focus
if (event->keyval == GDK_Escape) {
- gtk_widget_hide (widget);
+ gtk_widget_hide (searchwin);
+ return TRUE;
}
else if (event->keyval == GDK_Return) {
on_searchentry_activate (NULL, 0);
+ return TRUE;
}
- else if (event->keyval != GDK_Delete && event->keyval != GDK_Home && event->keyval != GDK_End){
- GtkWidget *pl = lookup_widget (searchwin, "searchlist");
- if (!ddb_listview_handle_keypress (DDB_LISTVIEW (pl), event->keyval, event->state)) {
- return on_mainwin_key_press_event (widget, event, user_data);
- }
- }
- return TRUE;
+ return FALSE;
}
gboolean
@@ -411,6 +407,7 @@ DdbListviewBinding search_binding = {
void
search_playlist_init (GtkWidget *widget) {
DdbListview *listview = DDB_LISTVIEW(widget);
+ g_signal_connect ((gpointer)listview->list, "key_press_event", G_CALLBACK (on_searchwin_key_press_event), listview);
search_binding.ref = (void (*) (DdbListviewIter))deadbeef->pl_item_ref;
search_binding.unref = (void (*) (DdbListviewIter))deadbeef->pl_item_unref;
search_binding.is_selected = (int (*) (DdbListviewIter))deadbeef->pl_is_selected;