From 99af1c3d3ccc23aa699d1b5ffaeac571a3902fe2 Mon Sep 17 00:00:00 2001 From: "P. F. Chimento" Date: Thu, 21 Jul 2011 00:09:04 +0200 Subject: [PATCH] Added a browser view with fake library data --- player/browser.c | 23 ++++++++++++++++++- player/chimara.ui | 56 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 78 insertions(+), 1 deletion(-) diff --git a/player/browser.c b/player/browser.c index f63404d..24d9eb6 100644 --- a/player/browser.c +++ b/player/browser.c @@ -38,6 +38,7 @@ typedef struct _ChimaraBrowserPrivate { GtkActionGroup *action_group; + GtkListStore *library_model; } ChimaraBrowserPrivate; #define CHIMARA_BROWSER_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE((o), CHIMARA_TYPE_BROWSER, ChimaraBrowserPrivate)) @@ -61,6 +62,7 @@ chimara_browser_finalize(GObject *self) { CHIMARA_BROWSER_USE_PRIVATE; g_object_unref(priv->action_group); + g_object_unref(priv->library_model); /* Chain up */ G_OBJECT_CLASS(chimara_browser_parent_class)->finalize(self); @@ -91,6 +93,8 @@ chimara_browser_init(ChimaraBrowser *self) /* Build user interface */ char *object_ids[] = { "browser_group", + "browser-box", + "library-model", NULL }; GtkBuilder *builder = new_builder_with_objects(object_ids); @@ -104,11 +108,28 @@ chimara_browser_init(ChimaraBrowser *self) gtk_ui_manager_insert_action_group(uimanager, chimara_app_get_action_group(theapp), 1); GtkWidget *menubar = gtk_ui_manager_get_widget(uimanager, "/browser_menu"); GtkWidget *toolbar = gtk_ui_manager_get_widget(uimanager, "/browser_toolbar"); - GtkWidget *vbox = gtk_vbox_new(FALSE, 0); + GtkWidget *vbox = GTK_WIDGET(load_object(builder, "browser-box")); gtk_container_add(GTK_CONTAINER(self), vbox); gtk_box_pack_start(GTK_BOX(vbox), menubar, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox), toolbar, FALSE, FALSE, 0); + priv->library_model = GTK_LIST_STORE(load_object(builder, "library-model")); + g_object_ref(priv->library_model); + + /* Make up some fake library data */ + GdkPixbuf *fake_cover_art = gdk_pixbuf_new(GDK_COLORSPACE_RGB, FALSE, 8, 120, 120); + gdk_pixbuf_fill(fake_cover_art, 0xA4000000); + GtkTreeIter iter; + gtk_list_store_append(priv->library_model, &iter); + gtk_list_store_set(priv->library_model, &iter, + 0, "IFID-02343-234213D-23423", + 1, "The Great Nose Picker", + 2, "Hank Berriman", + 3, 2004, + 4, fake_cover_art, + -1); + gdk_pixbuf_unref(fake_cover_art); + g_signal_connect(self, "delete-event", G_CALLBACK(on_browser_delete_event), NULL); g_object_unref(uimanager); diff --git a/player/chimara.ui b/player/chimara.ui index 36669fd..1f2856c 100644 --- a/player/chimara.ui +++ b/player/chimara.ui @@ -285,6 +285,48 @@ Philip Chimento + + True + False + vertical + + + True + True + library-model + False + False + 0 + + + + + + Text + True + + + + + 120 + Cover art + + + + 4 + + + + + + + True + True + end + 0 + + + @@ -293,6 +335,20 @@ Philip Chimento + + + + + + + + + + + + + + True False -- 2.30.2