diff options
author | waker <wakeroid@gmail.com> | 2012-10-05 17:46:33 +0200 |
---|---|---|
committer | waker <wakeroid@gmail.com> | 2012-10-05 17:46:33 +0200 |
commit | ce2923c8f0cac7a563d1ecf22085ac62281c74d7 (patch) | |
tree | 20ce1a2fd0cebc36231882b011e34230778a1db9 /plugins/gtkui/search.c | |
parent | 527ba48d8209a8e854c791d571106a5daf2fdd29 (diff) | |
parent | 708c8ba9f7aefe9f795c9c4eb30ab128f09c8b3d (diff) |
Merge branch 'master' into devel
Conflicts:
README
configure.ac
deadbeef.h
plugins.c
plugins/gtkui/Makefile.am
plugins/gtkui/ddbcellrenderertextmultiline.c
plugins/gtkui/ddblistview.c
plugins/gtkui/deadbeef.glade
plugins/gtkui/gtkui.c
plugins/gtkui/interface.c
plugins/gtkui/plcommon.c
plugins/shellexec/shellexec.c
plugins/supereq/Makefile.am
Diffstat (limited to 'plugins/gtkui/search.c')
-rw-r--r-- | plugins/gtkui/search.c | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/plugins/gtkui/search.c b/plugins/gtkui/search.c index 87344e39..6634f12f 100644 --- a/plugins/gtkui/search.c +++ b/plugins/gtkui/search.c @@ -50,17 +50,31 @@ extern DB_functions_t *deadbeef; // defined in gtkui.c extern GtkWidget *searchwin; extern GtkWidget *mainwin; +static gboolean +unlock_search_columns_cb (void *ctx) { + ddb_listview_lock_columns (DDB_LISTVIEW (lookup_widget (searchwin, "searchlist")), 0); + return FALSE; +} + void search_start (void) { + ddb_listview_lock_columns (DDB_LISTVIEW (lookup_widget (searchwin, "searchlist")), 1); wingeom_restore (searchwin, "searchwin", -1, -1, 450, 150, 0); gtk_entry_set_text (GTK_ENTRY (lookup_widget (searchwin, "searchentry")), ""); gtk_widget_show (searchwin); gtk_window_present (GTK_WINDOW (searchwin)); + g_idle_add (unlock_search_columns_cb, NULL); search_refresh (); main_refresh (); } void +search_destroy (void) { + gtk_widget_destroy (searchwin); + searchwin = NULL; +} + +void search_process (const char *text) { ddb_playlist_t *plt = deadbeef->plt_get_curr (); deadbeef->plt_search_process (plt, text); @@ -91,6 +105,14 @@ search_refresh (void) { } } +void +search_redraw (void) { + if (searchwin && gtk_widget_get_visible (searchwin)) { + GtkWidget *pl = lookup_widget (searchwin, "searchlist"); + ddb_listview_refresh (DDB_LISTVIEW (pl), DDB_REFRESH_VSCROLL | DDB_REFRESH_LIST | DDB_LIST_CHANGED); + } +} + ///////// searchwin header handlers gboolean @@ -403,4 +425,3 @@ search_playlist_init (GtkWidget *widget) { } lock_column_config = 0; } - |