General code cleanup
[projects/chimara/chimara.git] / player / browser.c
index 8dfadf401184620bb2ce31c43dacddc863dae5e6..e7b9ccedaf99caee7cf677787af0dba1afa35c39 100644 (file)
@@ -1,6 +1,40 @@
+/*
+ * Copyright (C) 2008, 2009, 2010, 2011 Philip Chimento and Marijn van Vliet.
+ * All rights reserved.
+ *
+ * Chimara is free software copyrighted by Philip Chimento and Marijn van Vliet.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ *    this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ * 3. Neither of the names Philip Chimento or Marijn van Vliet, nor the name of
+ *    any other contributor may be used to endorse or promote products derived
+ *    from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
 #include <glib-object.h>
+#include <glib/gi18n.h>
 #include <gtk/gtk.h>
 #include "browser.h"
+#include "app.h"
+#include "util.h"
 
 typedef struct _ChimaraBrowserPrivate {
        int dummy;
@@ -23,13 +57,7 @@ chimara_browser_class_init(ChimaraBrowserClass *klass)
 {
        /* Override methods of parent classes */
        GObjectClass *object_class = G_OBJECT_CLASS(klass);
-       //object_class->set_property = chimara_if_set_property;
-       //object_class->get_property = chimara_if_get_property;
        object_class->finalize = chimara_browser_finalize;
-       
-       /* Signals */
-
-       /* Properties */
 
        /* Private data */
        g_type_class_add_private(klass, sizeof(ChimaraBrowserPrivate));
@@ -38,12 +66,26 @@ chimara_browser_class_init(ChimaraBrowserClass *klass)
 static void
 chimara_browser_init(ChimaraBrowser *self)
 {
+       ChimaraApp *theapp = chimara_app_get();
+
+       /* Set own properties */
+       g_object_set(self,
+               "title", _("Chimara"),
+               NULL);
+
+       GtkUIManager *uimanager = new_ui_manager("browser.menus");
+
+       gtk_ui_manager_insert_action_group(uimanager, chimara_app_get_action_group(theapp), 0);
+       GtkWidget *menubar = gtk_ui_manager_get_widget(uimanager, "/browser_menu");
+       gtk_container_add(GTK_CONTAINER(self), menubar);
 }
 
 /* PUBLIC FUNCTIONS */
-ChimaraBrowser *
+GtkWidget *
 chimara_browser_new(void)
 {
-       return CHIMARA_BROWSER(g_object_new(CHIMARA_TYPE_BROWSER, NULL));
+       return GTK_WIDGET(g_object_new(CHIMARA_TYPE_BROWSER,
+               "type", GTK_WINDOW_TOPLEVEL,
+               NULL));
 }