/** * gwy_resource_class_load: * @klass: A resource class. * * Loads resources of a resources class from disk. * * Resources are loaded from system directory (and marked constant) and from * user directory (marked modifiable). **/ void gwy_resource_class_load(GwyResourceClass *klass) { gpointer type; gchar *path, *datadir; g_return_if_fail(GWY_IS_RESOURCE_CLASS(klass)); g_return_if_fail(klass->inventory); gwy_inventory_forget_order(klass->inventory); type = GSIZE_TO_POINTER(G_TYPE_FROM_CLASS(klass)); if (!g_slist_find(all_resources, type)) all_resources = g_slist_prepend(all_resources, type); datadir = gwy_find_self_dir("data"); path = g_build_filename(datadir, klass->name, NULL); g_free(datadir); gwy_resource_class_load_dir(path, klass, TRUE); g_free(path); path = g_build_filename(gwy_get_user_dir(), klass->name, NULL); gwy_resource_class_load_dir(path, klass, FALSE); g_free(path); gwy_inventory_restore_order(klass->inventory); }
/** * gwy_resource_class_load: * @klass: A resource class. * * Loads resources of a resources class from disk. * * Resources are loaded from system directory (and marked constant) and from * user directory (marked modifiable). **/ void gwy_resource_class_load(GwyResourceClass *klass) { gchar *path, *datadir; g_return_if_fail(GWY_IS_RESOURCE_CLASS(klass)); g_return_if_fail(klass->inventory); gwy_inventory_forget_order(klass->inventory); datadir = gwy_find_self_dir("data"); path = g_build_filename(datadir, klass->name, NULL); g_free(datadir); gwy_resource_class_load_dir(path, klass, TRUE); g_free(path); path = g_build_filename(gwy_get_user_dir(), klass->name, NULL); gwy_resource_class_load_dir(path, klass, FALSE); g_free(path); gwy_inventory_restore_order(klass->inventory); }