X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Fsinfg%2Fmain.cpp;h=b253c3b258fec5eb1c32b42ac728c351f0fb8c78;hb=6a7fc0a0f190922c61081c57b1b5bfa289f34de0;hp=db576fdb0713dc8fee9869f488d94bc99599357c;hpb=16b3beced25134bef064705568ecb893a6be4e79;p=synfig.git diff --git a/synfig-core/trunk/src/sinfg/main.cpp b/synfig-core/trunk/src/sinfg/main.cpp index db576fd..b253c3b 100644 --- a/synfig-core/trunk/src/sinfg/main.cpp +++ b/synfig-core/trunk/src/sinfg/main.cpp @@ -279,6 +279,33 @@ sinfg::Main::Main(const sinfg::String& basepath,ProgressCallback *cb): // Load up the modules std::list modules_to_load; + std::vector locations; + + if(!getenv("SYNFIG_MODULE_LIST")) + { + locations.push_back("standard"); + locations.push_back("./"MODULE_LIST_FILENAME); //1 + locations.push_back("../etc/"MODULE_LIST_FILENAME); //1 + locations.push_back("~/.sinfg/"MODULE_LIST_FILENAME); //2 + locations.push_back(prefix+"/etc/"+MODULE_LIST_FILENAME); //3 + locations.push_back("/usr/local/etc/"MODULE_LIST_FILENAME); + #ifdef SYSCONFDIR + locations.push_back(SYSCONFDIR"/"MODULE_LIST_FILENAME); + #endif + #ifdef __APPLE__ + locations.push_back("/Library/Frameworks/synfig.framework/Resources/"MODULE_LIST_FILENAME); + locations.push_back("/Library/Synfig/"MODULE_LIST_FILENAME); + locations.push_back("~/Library/Synfig/"MODULE_LIST_FILENAME); + #endif + #ifdef WIN32 + locations.push_back("C:\\Program Files\\Synfig\\etc\\"MODULE_LIST_FILENAME); + #endif + } + else + { + locations.push_back(getenv("SYNFIG_MODULE_LIST")); + } +/* const char *locations[]= { "standard", //0 @@ -299,12 +326,11 @@ sinfg::Main::Main(const sinfg::String& basepath,ProgressCallback *cb): "C:\\Program Files\\SINFG\\etc\\"MODULE_LIST_FILENAME, #endif }; - String module_path=prefix+"/etc/"+MODULE_LIST_FILENAME; - locations[3]=module_path.c_str(); +*/ - for(i=0;i<(signed)(sizeof(locations)/sizeof(char*));i++) + for(i=0;itask(strprintf(_("Loading modules from %s"),locations[i])); + if(cb)cb->task(strprintf(_("Loading modules from %s"),locations[i].c_str())); std::list::iterator iter;