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:
parent
4c3405e874
commit
c1c197acb5
|
@ -24,9 +24,8 @@ static void __playlist_update_sizes(struct queue *);
|
||||||
|
|
||||||
static inline void __playlist_filter_get_iter(GtkTreeIter *iter, GtkTreeIter *child)
|
static inline void __playlist_filter_get_iter(GtkTreeIter *iter, GtkTreeIter *child)
|
||||||
{
|
{
|
||||||
gtk_tree_model_filter_convert_iter_to_child_iter(
|
gtk_tree_model_filter_convert_iter_to_child_iter(gui_sidebar_filter(),
|
||||||
GTK_TREE_MODEL_FILTER(gui_builder_object("o_playlist_filter")),
|
child, iter);
|
||||||
child, iter);
|
|
||||||
}
|
}
|
||||||
static inline enum playlist_type_t __playlist_type(GtkTreeIter *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");
|
type = settings_get("core.playlist.cur.type");
|
||||||
id = settings_get("core.playlist.cur.id");
|
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);
|
gtk_tree_model_get_iter(model, &iter, path);
|
||||||
__playlist_filter_get_iter(&iter, &child);
|
__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));
|
} while (gtk_tree_model_iter_next(gui_sidebar_model(), &parent));
|
||||||
|
|
||||||
out:
|
out:
|
||||||
filter = GTK_TREE_MODEL_FILTER(gui_builder_object("o_playlist_filter"));
|
filter = gui_sidebar_filter();
|
||||||
gtk_tree_model_filter_refilter(filter);
|
gtk_tree_model_filter_refilter(filter);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -314,7 +313,7 @@ bool __gui_playlist_init_idle()
|
||||||
GtkTreeModel *filter;
|
GtkTreeModel *filter;
|
||||||
GtkTreeIter iter;
|
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"));
|
treeview = GTK_TREE_VIEW(gui_builder_widget("o_playlist_view"));
|
||||||
selection = gtk_tree_view_get_selection(treeview);
|
selection = gtk_tree_view_get_selection(treeview);
|
||||||
gtk_tree_model_get_iter_first(filter, &iter);
|
gtk_tree_model_get_iter_first(filter, &iter);
|
||||||
|
@ -339,7 +338,7 @@ void gui_playlist_init()
|
||||||
GtkTreeView *treeview;
|
GtkTreeView *treeview;
|
||||||
GtkTreeIter parent;
|
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"));
|
treeview = GTK_TREE_VIEW(gui_builder_widget("o_playlist_view"));
|
||||||
|
|
||||||
gtk_tree_model_filter_set_visible_func(filter, __playlist_visible_func,
|
gtk_tree_model_filter_set_visible_func(filter, __playlist_visible_func,
|
||||||
|
|
|
@ -26,4 +26,10 @@ static inline GtkTreeModel *gui_sidebar_model()
|
||||||
return GTK_TREE_MODEL(gui_builder_object("sidebar_store"));
|
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 */
|
#endif /* OCARINA_GUI_SIDEBAR_H */
|
||||||
|
|
|
@ -93,7 +93,7 @@
|
||||||
<column type="guint"/>
|
<column type="guint"/>
|
||||||
</columns>
|
</columns>
|
||||||
</object>
|
</object>
|
||||||
<object class="GtkTreeModelFilter" id="o_playlist_filter">
|
<object class="GtkTreeModelFilter" id="sidebar_filter">
|
||||||
<property name="child_model">sidebar_store</property>
|
<property name="child_model">sidebar_store</property>
|
||||||
</object>
|
</object>
|
||||||
<object class="GtkWindow" id="window">
|
<object class="GtkWindow" id="window">
|
||||||
|
@ -743,7 +743,7 @@ audio-volume-medium</property>
|
||||||
<object class="GtkTreeView" id="o_playlist_view">
|
<object class="GtkTreeView" id="o_playlist_view">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">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="headers_visible">False</property>
|
||||||
<property name="search_column">1</property>
|
<property name="search_column">1</property>
|
||||||
<property name="enable_tree_lines">True</property>
|
<property name="enable_tree_lines">True</property>
|
||||||
|
|
|
@ -20,7 +20,6 @@ struct core_init_data init_data = {
|
||||||
static void test_playlist_sidebar()
|
static void test_playlist_sidebar()
|
||||||
{
|
{
|
||||||
GtkTreeSelection *selection;
|
GtkTreeSelection *selection;
|
||||||
GtkTreeModelFilter *filter;
|
|
||||||
GtkTreeView *treeview;
|
GtkTreeView *treeview;
|
||||||
GtkTreeModel *model;
|
GtkTreeModel *model;
|
||||||
GtkTreePath *path;
|
GtkTreePath *path;
|
||||||
|
@ -30,7 +29,6 @@ static void test_playlist_sidebar()
|
||||||
|
|
||||||
treeview = GTK_TREE_VIEW(gui_builder_widget("o_playlist_view"));
|
treeview = GTK_TREE_VIEW(gui_builder_widget("o_playlist_view"));
|
||||||
selection = gtk_tree_view_get_selection(treeview);
|
selection = gtk_tree_view_get_selection(treeview);
|
||||||
filter = GTK_TREE_MODEL_FILTER(gui_builder_object("o_playlist_filter"));
|
|
||||||
model = gui_sidebar_model();
|
model = gui_sidebar_model();
|
||||||
|
|
||||||
playlist_add(PL_SYSTEM, "Queued Tracks", track_get(0));
|
playlist_add(PL_SYSTEM, "Queued Tracks", track_get(0));
|
||||||
|
@ -40,7 +38,7 @@ static void test_playlist_sidebar()
|
||||||
|
|
||||||
playlist_new(PL_USER, "Test");
|
playlist_new(PL_USER, "Test");
|
||||||
playlist_add(PL_USER, "Test", track_get(0));
|
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);
|
gtk_tree_view_expand_all(treeview);
|
||||||
|
|
||||||
g_assert_true(gtk_tree_model_get_iter_first(model, &iter));
|
g_assert_true(gtk_tree_model_get_iter_first(model, &iter));
|
||||||
|
|
|
@ -12,6 +12,9 @@ static void test_sidebar()
|
||||||
|
|
||||||
g_assert_nonnull(gui_sidebar_model());
|
g_assert_nonnull(gui_sidebar_model());
|
||||||
g_assert_true(GTK_IS_TREE_MODEL(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()
|
static void test_sidebar_pos()
|
||||||
|
|
Loading…
Reference in New Issue