Initial commit
[jamendo] / src / playlist_screen.c
1 /*
2  * playlist_screen.c
3  *
4  *  Created on: 2009-10-12
5  *      Author: marcin
6  */
7 #include <hildon/hildon.h>
8 #include "playlist_screen.h"
9 #include "jamendo_api.h"
10 #include "track_listview.h"
11 #include "player.h"
12
13 GtkWidget* playlist_screen_new(GList* track_list, const gchar* title) {
14         GtkWidget* win;
15         GtkWidget *treeview;
16         GtkWidget* track_box;
17
18         /* Create the main window */
19         win = hildon_stackable_window_new();
20         gtk_window_set_title(GTK_WINDOW(win), title);
21         hildon_gtk_window_set_progress_indicator(GTK_WINDOW(win),1);
22         gtk_widget_show(win);
23         while(gtk_events_pending()) gtk_main_iteration();
24
25         player_set_track_list(track_list);
26         treeview = track_listview_create(track_list, TRACK_LISTVIEW_NAME|TRACK_LISTVIEW_ARTIST);
27         // track list not freed automatically as player uses it
28         //g_signal_connect_swapped(G_OBJECT(treeview), "destroy", G_CALLBACK(track_list_free), track_list);
29
30         track_box = hildon_pannable_area_new();
31         hildon_pannable_area_add_with_viewport(HILDON_PANNABLE_AREA(track_box), treeview);
32         gtk_container_add(GTK_CONTAINER(win), track_box);
33
34         hildon_gtk_window_set_progress_indicator(GTK_WINDOW(win),0);
35
36         hildon_program_add_window(hildon_program_get_instance(),HILDON_WINDOW(win));
37
38         gtk_widget_show(player_toolbar_create());
39
40         return win;
41 }