7 get_data_file_path(const char *filename)
9 char *path = g_build_filename(PACKAGE_DATA_DIR, filename);
10 if(g_file_test(path, G_FILE_TEST_EXISTS))
14 path = g_build_filename(PACKAGE_SRC_DIR, filename);
15 if(g_file_test(path, G_FILE_TEST_EXISTS))
18 g_error("Could not find data file: %s", filename);
22 new_builder_with_objects(char **object_ids)
25 GtkBuilder *builder = gtk_builder_new();
27 if( !gtk_builder_add_objects_from_file(builder, PACKAGE_DATA_DIR "/chimara.ui", object_ids, &error) ) {
31 if( !gtk_builder_add_objects_from_file(builder, PACKAGE_SRC_DIR "/chimara.ui", object_ids, &error) )
38 error_dialog(NULL, error, _("Error while building interface: "));
43 load_object(GtkBuilder *builder, const char *name)
46 if( (retval = gtk_builder_get_object(builder, name)) == NULL) {
47 error_dialog(NULL, NULL, "Error while getting object '%s'", name);
48 g_error("Error while getting object '%s'", name);
54 new_ui_manager(const char *filename)
57 GtkUIManager *uimanager = gtk_ui_manager_new();
58 char *path = g_build_filename(PACKAGE_DATA_DIR, filename, NULL);
60 if( !gtk_ui_manager_add_ui_from_file(uimanager, path, &error) ) {
63 path = g_build_filename(PACKAGE_SRC_DIR, filename, NULL);
66 if( !gtk_ui_manager_add_ui_from_file(uimanager, path, &error) )
73 error_dialog(NULL, error, _("Error while building interface: "));