From b9916706f134ab80edf9adfe76b118e226997bbd Mon Sep 17 00:00:00 2001 From: Anna Schumaker Date: Mon, 22 Aug 2016 07:51:40 -0400 Subject: [PATCH] gui/filter: Add functions for getting the SearchEntry and ComboBox And take this chance to rename o_search -> filter_search. Signed-off-by: Anna Schumaker --- gui/queue.c | 10 ++++------ include/gui/filter.h | 12 ++++++++++++ share/ocarina/ocarina.ui | 2 +- tests/gui/queue.c | 4 ++-- 4 files changed, 19 insertions(+), 9 deletions(-) diff --git a/gui/queue.c b/gui/queue.c index 0ca54da4..a421b4a2 100644 --- a/gui/queue.c +++ b/gui/queue.c @@ -90,7 +90,6 @@ static gboolean __queue_visible_func(GtkTreeModel *model, GtkTreeIter *iter, void __queue_filter(GtkSearchEntry *entry, gpointer data) { const gchar *text = gtk_entry_get_text(GTK_ENTRY(entry)); - GtkComboBox *combo = GTK_COMBO_BOX(gui_builder_widget("filter_how")); if (!gq_queue) return; @@ -100,7 +99,7 @@ void __queue_filter(GtkSearchEntry *entry, gpointer data) } if (strlen(text) > 0) { gq_queue->gq_search = g_str_tokenize_and_fold(text, NULL, NULL); - gq_queue->gq_active = gtk_combo_box_get_active(combo); + gq_queue->gq_active = gtk_combo_box_get_active(gui_filter_how()); } gtk_tree_model_filter_refilter(gui_filter_get()); @@ -109,15 +108,14 @@ void __queue_filter(GtkSearchEntry *entry, gpointer data) void __queue_filter_how_changed(int n) { - __queue_filter(GTK_SEARCH_ENTRY(gui_builder_widget("o_search")), NULL); + __queue_filter(gui_filter_search(), NULL); } void gui_queue_init(void) { gtk_tree_model_filter_set_visible_func(gui_filter_get(), __queue_visible_func, - gui_builder_object("o_search"), - NULL); + NULL, NULL); } struct gui_queue *gui_queue_alloc(struct playlist *playlist, struct queue *queue, @@ -151,7 +149,7 @@ void gui_queue_free(struct queue *queue) void gui_queue_show(struct gui_queue *queue) { GtkButton *random = GTK_BUTTON(gui_builder_widget("o_random")); - GtkEntry *search = GTK_ENTRY(gui_builder_widget("o_search")); + GtkEntry *search = GTK_ENTRY(gui_filter_search()); bool has_random = false; gchar *text; diff --git a/include/gui/filter.h b/include/gui/filter.h index 976429a5..fa4fac20 100644 --- a/include/gui/filter.h +++ b/include/gui/filter.h @@ -20,4 +20,16 @@ struct track *gui_filter_path_get_track(GtkTreePath *); /* Called to convert a filter model path into a queue index. */ unsigned int gui_filter_path_get_index(GtkTreePath *); +/* Called to access the filter search-entry. */ +static inline GtkSearchEntry *gui_filter_search(void) +{ + return GTK_SEARCH_ENTRY(gui_builder_widget("filter_search")); +} + +/* Called to access the filter-how chooser. */ +static inline GtkComboBox *gui_filter_how(void) +{ + return GTK_COMBO_BOX(gui_builder_widget("filter_how")); +} + #endif /* OCARINA_GUI_FILTER_H */ diff --git a/share/ocarina/ocarina.ui b/share/ocarina/ocarina.ui index c6e6f276..87c7a79a 100644 --- a/share/ocarina/ocarina.ui +++ b/share/ocarina/ocarina.ui @@ -843,7 +843,7 @@ audio-volume-medium - + True True center diff --git a/tests/gui/queue.c b/tests/gui/queue.c index bb69151e..c174bdc9 100644 --- a/tests/gui/queue.c +++ b/tests/gui/queue.c @@ -46,7 +46,7 @@ static void test_queue() GtkEntry *search; struct queue q; - search = GTK_ENTRY(gui_builder_widget("o_search")); + search = GTK_ENTRY(gui_filter_search()); random = GTK_TOGGLE_BUTTON(gui_builder_widget("o_random")); /* Test initialization */ @@ -96,7 +96,7 @@ static void test_tracks() struct gui_queue *gq; GtkEntry *search; - search = GTK_ENTRY(gui_builder_widget("o_search")); + search = GTK_ENTRY(gui_filter_search()); gq = gui_queue(playlist_get_queue(PL_SYSTEM, "Collection"));