gui/sidebar: Restore expanded rows on startup
Fixes #94: Playlist heading not open by default Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
parent
dc53ae271b
commit
e876f8125f
|
@ -110,6 +110,10 @@ bool __gui_playlist_init_idle()
|
|||
gtk_tree_model_get_iter_first(filter, &iter);
|
||||
gtk_tree_selection_select_iter(selection, &iter);
|
||||
|
||||
do {
|
||||
gui_sidebar_filter_set_expand(&iter);
|
||||
} while (gtk_tree_model_iter_next(filter, &iter));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -325,6 +325,24 @@ void gui_sidebar_filter_path_select(GtkTreePath *path)
|
|||
g_free(name);
|
||||
}
|
||||
|
||||
void gui_sidebar_filter_set_expand(GtkTreeIter *iter)
|
||||
{
|
||||
gchar *name = __gui_sidebar_filter_iter_name(iter);
|
||||
gchar *setting = g_strdup_printf("gui.sidebar.expand.%s", name);
|
||||
GtkTreePath *path;
|
||||
|
||||
if (settings_get(setting) == true) {
|
||||
path = gtk_tree_model_get_path(
|
||||
GTK_TREE_MODEL(gui_sidebar_filter()), iter);
|
||||
|
||||
gtk_tree_view_expand_row(gui_sidebar_treeview(), path, false);
|
||||
gtk_tree_path_free(path);
|
||||
}
|
||||
|
||||
g_free(setting);
|
||||
g_free(name);
|
||||
}
|
||||
|
||||
void gui_sidebar_filter_row_expanded(GtkTreeIter *iter, bool expanded)
|
||||
{
|
||||
gchar *name = __gui_sidebar_filter_iter_name(iter);
|
||||
|
|
|
@ -44,6 +44,9 @@ void gui_sidebar_iter_update(GtkTreeIter *);
|
|||
/* Called to set the playlist at the given iterator as the default. */
|
||||
void gui_sidebar_filter_path_select(GtkTreePath *);
|
||||
|
||||
/* Called to expand or collapse sidebar rows from the user's settings. */
|
||||
void gui_sidebar_filter_set_expand(GtkTreeIter *);
|
||||
|
||||
/* Called when a playlist treeview row is expanded or collapsed. */
|
||||
void gui_sidebar_filter_row_expanded(GtkTreeIter *, bool);
|
||||
|
||||
|
|
Loading…
Reference in New Issue