ocarina: Use treeview to show library paths
My old settings page was basically doing this already, but in a slightly more complicated way... Signed-off-by: Bryan Schumaker <bjschuma@gmail.com>
This commit is contained in:
parent
ca161d3340
commit
a0b9c16178
|
@ -11,10 +11,16 @@ class LibraryDriver : public libsaria::library::Driver {
|
|||
};
|
||||
|
||||
static LibraryDriver driver;
|
||||
static GtkListStore *path_list;
|
||||
|
||||
void LibraryDriver::path_added(libsaria::library::Path *path)
|
||||
{
|
||||
GtkTreeIter iter;
|
||||
println("Path added: " + path->path);
|
||||
gtk_list_store_append(path_list, &iter);
|
||||
gtk_list_store_set(path_list, &iter,
|
||||
0, path->path.c_str(),
|
||||
-1);
|
||||
}
|
||||
|
||||
static void on_click_add(GtkWidget *b, GdkEvent *e, gpointer d)
|
||||
|
@ -51,14 +57,27 @@ namespace ocarina
|
|||
GtkWidget *body::library_page()
|
||||
{
|
||||
GtkWidget *box = gtk_hbox_new(FALSE, 0);
|
||||
GtkWidget *label = gtk_label_new("Library management");
|
||||
/*GtkWidget *window = gtk_scrolled_window_new(NULL, NULL);
|
||||
GtkWidget *scroll_win = gtk_scrolled_window_new(NULL, NULL);
|
||||
GtkWidget *treeview = gtk_tree_view_new();
|
||||
GtkCellRenderer *textcell = gtk_cell_renderer_text_new();
|
||||
GtkTreeViewColumn *column;
|
||||
|
||||
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(window),
|
||||
column = gtk_tree_view_column_new_with_attributes("Filepath",
|
||||
textcell,
|
||||
"text", 0,
|
||||
NULL);
|
||||
path_list = gtk_list_store_new(1, G_TYPE_STRING);
|
||||
|
||||
gtk_cell_renderer_text_set_fixed_height_from_font(
|
||||
GTK_CELL_RENDERER_TEXT(textcell), 1);
|
||||
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll_win),
|
||||
GTK_POLICY_AUTOMATIC,
|
||||
GTK_POLICY_AUTOMATIC);*/
|
||||
GTK_POLICY_AUTOMATIC);
|
||||
gtk_tree_view_set_model(GTK_TREE_VIEW(treeview), GTK_TREE_MODEL(path_list));
|
||||
gtk_tree_view_append_column(GTK_TREE_VIEW(treeview), column);
|
||||
gtk_container_add(GTK_CONTAINER(scroll_win), treeview);
|
||||
|
||||
gtk_box_pack_start(GTK_BOX(box), label, TRUE, TRUE, 0);
|
||||
gtk_box_pack_start(GTK_BOX(box), scroll_win, TRUE, TRUE, 0);
|
||||
gtk_box_pack_start(GTK_BOX(box), button_row(), FALSE, FALSE, 0);
|
||||
|
||||
gtk_widget_show_all(box);
|
||||
|
|
Loading…
Reference in New Issue