Index: trunk/src/sch-rnd/file_act.c =================================================================== --- trunk/src/sch-rnd/file_act.c (revision 10227) +++ trunk/src/sch-rnd/file_act.c (revision 10228) @@ -104,7 +104,20 @@ return 0; } +static const char csch_acts_HlibraryRehash[] = "HlibraryRehash()"; +static const char csch_acth_HlibraryRehash[] = "Rebuild the in-memory tree of hierarchic sheet libraries"; +static fgw_error_t csch_act_HlibraryRehash(fgw_arg_t *res, int argc, fgw_arg_t *argv) +{ + csch_sheet_t *sheet = CSCH_ACT_SHEET; + csch_lib_master_t *master = csch_lib_get_master("hlibrary", 1); + csch_lib_clear_sheet_lib(sheet, master->uid); + csch_lib_add_all(sheet, master, &conf_core.rc.library_search_paths, 1); + rnd_event(&sheet->hidlib, CSCH_EVENT_LIBRARY_CHANGED, NULL); + RND_ACT_IRES(0); + return 0; +} + static const char csch_acts_Revert[] = "Revert([sheet|project])"; static const char csch_acth_Revert[] = "Revert to on-disk version of file(s). Default target is sheet."; fgw_error_t csch_act_Revert(fgw_arg_t *res, int argc, fgw_arg_t *argv) @@ -573,6 +586,7 @@ {"Quit", csch_act_Quit, csch_acth_Quit, csch_acts_Quit}, {"SymlibRehash", csch_act_SymlibRehash, csch_acth_SymlibRehash, csch_acts_SymlibRehash}, {"SymlibReloadAllLocal", csch_act_SymlibReloadAllLocal, csch_acth_SymlibReloadAllLocal, csch_acts_SymlibReloadAllLocal}, + {"HlibraryRehash", csch_act_HlibraryRehash, csch_acth_HlibraryRehash, csch_acts_HlibraryRehash}, {"Revert", csch_act_Revert, csch_acth_Revert, csch_acts_Revert}, {"New", csch_act_New, csch_acth_New, csch_acts_New}, {"Export", rnd_act_Export, rnd_acth_Export, rnd_acts_Export},