summaryrefslogtreecommitdiff
path: root/plugins/gtkui/search.c
diff options
context:
space:
mode:
authorGravatar waker <wakeroid@gmail.com>2012-10-05 17:46:33 +0200
committerGravatar waker <wakeroid@gmail.com>2012-10-05 17:46:33 +0200
commitce2923c8f0cac7a563d1ecf22085ac62281c74d7 (patch)
tree20ce1a2fd0cebc36231882b011e34230778a1db9 /plugins/gtkui/search.c
parent527ba48d8209a8e854c791d571106a5daf2fdd29 (diff)
parent708c8ba9f7aefe9f795c9c4eb30ab128f09c8b3d (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.c23
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;
}
-