void AppSettings::Initialize(Interface *gi) { TCHAR iniName[MAX_PATH]; LPCTSTR pluginDir = gi->GetDir(APP_PLUGCFG_DIR); PathCombine(iniName, pluginDir, "MaxNifTools.ini"); if (-1 != _taccess(iniName, 0)) { bool reparse = GetIniValue<bool>("System", "Reparse", false, iniName); if (reparse || TheAppSettings.empty()){ TheAppSettings.clear(); } string Applications = GetIniValue<string>("System", "KnownApplications", "", iniName); stringlist apps = TokenizeString(Applications.c_str(), ";"); for (stringlist::iterator appstr=apps.begin(); appstr != apps.end(); ++appstr){ AppSettings* setting = FindAppSetting(*appstr); if (NULL == setting){ AppSettingsMap::iterator itr = TheAppSettings.insert(TheAppSettings.end(), AppSettings(*appstr)); (*itr).ReadSettings(iniName); } } } }
void AppSettings::Initialize(Interface *gi) { TCHAR iniName[MAX_PATH]; GetIniFileName(iniName); if (-1 != _taccess(iniName, 0)) { bool reparse = GetIniValue<bool>(TEXT("System"), TEXT("Reparse"), false, iniName); if (reparse || TheAppSettings.empty()) { TheAppSettings.clear(); } TheAppSettingsInitialized = true; tstring Applications = GetIniValue<tstring>(TEXT("System"), TEXT("KnownApplications"), TEXT(""), iniName); tstringlist apps = TokenizeString(Applications.c_str(), TEXT(";")); apps.push_back(tstring(TEXT("User"))); // always ensure that user is present for (tstringlist::iterator appstr = apps.begin(); appstr != apps.end(); ++appstr) { AppSettings* setting = FindAppSetting(*appstr); if (nullptr == setting) { AppSettingsMap::iterator itr = TheAppSettings.insert(TheAppSettings.end(), AppSettings(*appstr)); (*itr).ReadSettings(iniName); } } } }