/* * Copyright 2015 (c) Anna Schumaker. */ #include #include enum sidebar_columns { SB_IMAGE, SB_NAME, SB_TYPE, }; const gchar *SIDEBAR_SETTING = "gui.sidebar.pos"; void __gui_sidebar_resized(GtkPaned *pane, GParamSpec *pspec, gpointer data) { settings_set(SIDEBAR_SETTING, gtk_paned_get_position(pane)); } void gui_sidebar_init() { int pos = settings_get(SIDEBAR_SETTING); if (pos > 0) gtk_paned_set_position(gui_sidebar(), pos); } gboolean gui_sidebar_iter_first(GtkTreeIter *iter) { return gtk_tree_model_get_iter_first(gui_sidebar_model(), iter); } gboolean gui_sidebar_iter_next(GtkTreeIter *iter) { return gtk_tree_model_iter_next(gui_sidebar_model(), iter); } gchar *gui_sidebar_iter_name(GtkTreeIter *iter) { gchar *text = NULL, *parsed = NULL, *name, **split; gtk_tree_model_get(gui_sidebar_model(), iter, SB_NAME, &text, -1); if (!text) return g_strdup(""); pango_parse_markup(text, -1, 0, NULL, &parsed, NULL, NULL); if (!parsed) return g_strdup(""); split = g_strsplit(parsed, "\n", 2); name = g_strdup(split[0]); g_strfreev(split); g_free(parsed); g_free(text); return name; } enum playlist_type_t gui_sidebar_iter_type(GtkTreeIter *iter) { enum playlist_type_t type; gtk_tree_model_get(gui_sidebar_model(), iter, SB_TYPE, &type, -1); return type; }