gui/sidebar: Add a function for getting the sidebar filter model

And rename the model from "o_playlist_filter" to "sidebar_filter"

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
Anna Schumaker 2016-08-25 07:50:16 -04:00
parent 4c3405e874
commit c1c197acb5
5 changed files with 18 additions and 12 deletions

View File

@ -24,9 +24,8 @@ static void __playlist_update_sizes(struct queue *);
static inline void __playlist_filter_get_iter(GtkTreeIter *iter, GtkTreeIter *child)
{
gtk_tree_model_filter_convert_iter_to_child_iter(
GTK_TREE_MODEL_FILTER(gui_builder_object("o_playlist_filter")),
child, iter);
gtk_tree_model_filter_convert_iter_to_child_iter(gui_sidebar_filter(),
child, iter);
}
static inline enum playlist_type_t __playlist_type(GtkTreeIter *iter)
{
@ -167,7 +166,7 @@ void __playlist_row_activated(GtkTreeView *treeview, GtkTreePath *path,
type = settings_get("core.playlist.cur.type");
id = settings_get("core.playlist.cur.id");
model = GTK_TREE_MODEL(gui_builder_object("o_playlist_filter"));
model = GTK_TREE_MODEL(gui_sidebar_filter());
gtk_tree_model_get_iter(model, &iter, path);
__playlist_filter_get_iter(&iter, &child);
@ -234,7 +233,7 @@ static void __playlist_update_sizes(struct queue *queue)
} while (gtk_tree_model_iter_next(gui_sidebar_model(), &parent));
out:
filter = GTK_TREE_MODEL_FILTER(gui_builder_object("o_playlist_filter"));
filter = gui_sidebar_filter();
gtk_tree_model_filter_refilter(filter);
}
@ -314,7 +313,7 @@ bool __gui_playlist_init_idle()
GtkTreeModel *filter;
GtkTreeIter iter;
filter = GTK_TREE_MODEL(gui_builder_object("o_playlist_filter"));
filter = GTK_TREE_MODEL(gui_sidebar_filter());
treeview = GTK_TREE_VIEW(gui_builder_widget("o_playlist_view"));
selection = gtk_tree_view_get_selection(treeview);
gtk_tree_model_get_iter_first(filter, &iter);
@ -339,7 +338,7 @@ void gui_playlist_init()
GtkTreeView *treeview;
GtkTreeIter parent;
filter = GTK_TREE_MODEL_FILTER(gui_builder_object("o_playlist_filter"));
filter = gui_sidebar_filter();
treeview = GTK_TREE_VIEW(gui_builder_widget("o_playlist_view"));
gtk_tree_model_filter_set_visible_func(filter, __playlist_visible_func,

View File

@ -26,4 +26,10 @@ static inline GtkTreeModel *gui_sidebar_model()
return GTK_TREE_MODEL(gui_builder_object("sidebar_store"));
}
/* Called to get the sidebar filter model. */
static inline GtkTreeModelFilter *gui_sidebar_filter()
{
return GTK_TREE_MODEL_FILTER(gui_builder_object("sidebar_filter"));
}
#endif /* OCARINA_GUI_SIDEBAR_H */

View File

@ -93,7 +93,7 @@
<column type="guint"/>
</columns>
</object>
<object class="GtkTreeModelFilter" id="o_playlist_filter">
<object class="GtkTreeModelFilter" id="sidebar_filter">
<property name="child_model">sidebar_store</property>
</object>
<object class="GtkWindow" id="window">
@ -743,7 +743,7 @@ audio-volume-medium</property>
<object class="GtkTreeView" id="o_playlist_view">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="model">o_playlist_filter</property>
<property name="model">sidebar_filter</property>
<property name="headers_visible">False</property>
<property name="search_column">1</property>
<property name="enable_tree_lines">True</property>

View File

@ -20,7 +20,6 @@ struct core_init_data init_data = {
static void test_playlist_sidebar()
{
GtkTreeSelection *selection;
GtkTreeModelFilter *filter;
GtkTreeView *treeview;
GtkTreeModel *model;
GtkTreePath *path;
@ -30,7 +29,6 @@ static void test_playlist_sidebar()
treeview = GTK_TREE_VIEW(gui_builder_widget("o_playlist_view"));
selection = gtk_tree_view_get_selection(treeview);
filter = GTK_TREE_MODEL_FILTER(gui_builder_object("o_playlist_filter"));
model = gui_sidebar_model();
playlist_add(PL_SYSTEM, "Queued Tracks", track_get(0));
@ -40,7 +38,7 @@ static void test_playlist_sidebar()
playlist_new(PL_USER, "Test");
playlist_add(PL_USER, "Test", track_get(0));
gtk_tree_model_filter_refilter(filter);
gtk_tree_model_filter_refilter(gui_sidebar_filter());
gtk_tree_view_expand_all(treeview);
g_assert_true(gtk_tree_model_get_iter_first(model, &iter));

View File

@ -12,6 +12,9 @@ static void test_sidebar()
g_assert_nonnull(gui_sidebar_model());
g_assert_true(GTK_IS_TREE_MODEL(gui_sidebar_model()));
g_assert_nonnull(gui_sidebar_filter());
g_assert_true(GTK_IS_TREE_MODEL_FILTER(gui_sidebar_filter()));
}
static void test_sidebar_pos()