Fixed problem of player looking for CSS file in a hard-coded location.
[rodin/chimara.git] / player / main.c
index c032849cb63446e3bda8bc9878acfc40d0996ea0..182ca1e31c3202606de705db94b6adfdbbd89efd 100644 (file)
@@ -71,9 +71,17 @@ create_window(void)
        GError *error = NULL;
 
        builder = gtk_builder_new();
-       if( !gtk_builder_add_from_file(builder, PACKAGE_SRC_DIR "/chimara.ui", &error) ) {
-               error_dialog(NULL, error, "Error while building interface: ");  
-               return;
+       if( !gtk_builder_add_from_file(builder, PACKAGE_DATA_DIR "/chimara.ui", &error) ) {
+#ifdef DEBUG
+               g_error_free(error);
+               error = NULL;
+               if( !gtk_builder_add_from_file(builder, PACKAGE_SRC_DIR "/chimara.ui", &error) ) {
+#endif /* DEBUG */
+                       error_dialog(NULL, error, "Error while building interface: ");  
+                       return;
+#ifdef DEBUG
+               }
+#endif /* DEBUG */
        }
 
        window = GTK_WIDGET(load_object("chimara"));
@@ -119,13 +127,38 @@ create_window(void)
        gtk_recent_chooser_add_filter(recent, filter);
 
        uimanager = gtk_ui_manager_new();
-       if( !gtk_ui_manager_add_ui_from_file(uimanager, PACKAGE_SRC_DIR "/chimara.menus", &error) ) {
-               error_dialog(NULL, error, "Error while building interface: ");
-               return;
+       if( !gtk_ui_manager_add_ui_from_file(uimanager, PACKAGE_DATA_DIR "/chimara.menus", &error) ) {
+#ifdef DEBUG
+               g_error_free(error);
+               error = NULL;
+               if( !gtk_ui_manager_add_ui_from_file(uimanager, PACKAGE_SRC_DIR "/chimara.menus", &error) ) {
+#endif /* DEBUG */
+                       error_dialog(NULL, error, "Error while building interface: ");
+                       return;
+#ifdef DEBUG
+               }
+#endif /* DEBUG */
        }
        
        glk = chimara_if_new();
        g_object_set(glk, "ignore-errors", TRUE, NULL);
+       if( !chimara_glk_set_css_from_file(CHIMARA_GLK(glk), PACKAGE_DATA_DIR "/style.css", &error) ) {
+#ifdef DEBUG
+               g_error_free(error);
+               error = NULL;
+               if( !chimara_glk_set_css_from_file(CHIMARA_GLK(glk), PACKAGE_SRC_DIR "/style.css", &error) ) {
+#endif /* DEBUG */
+                       error_dialog(NULL, error, "Couldn't open CSS file: ");
+                       return;
+#ifdef DEBUG
+               }
+#endif /* DEBUG */
+       }
+       
+       /* DON'T UNCOMMENT THIS your eyes will burn
+        but it is a good test of programmatically altering just one style
+       chimara_glk_set_css_from_string(CHIMARA_GLK(glk),
+           "buffer.normal { font-family: 'Comic Sans MS'; }");*/
        
        GtkBox *vbox = GTK_BOX( gtk_builder_get_object(builder, "vbox") );                      
        if(vbox == NULL)