Пример #1
0
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);
			}
		}
	}
}