예제 #1
0
        internal ProfileSetting[] Import(string file)
        {
            if (File.Exists(file))
            {
                string sJSONSettings = File.ReadAllText(file, Encoding.UTF8);
                Dictionary <string, JToken> cSettings = JsonConvert.DeserializeObject <Dictionary <string, JToken> >(sJSONSettings);

                int iCount = cSettings.Count;
                if (iCount > 0)
                {
                    int iIndex = 0;
                    ProfileSetting[] cProfiles = new ProfileSetting[iCount];
                    foreach (JToken cSetting in cSettings.Values)
                    {
                        ProfileSetting cProfile = ProfileSetting.CreateProfile(cSetting);
                        cProfiles[iIndex++] = cProfile;
                        AddProfile(cProfile);
                    }
                    return(cProfiles);
                }
            }
            return(null);
        }
예제 #2
0
        internal void Load(string name)
        {
            string sFile = string.Format("{0}{1}.profile", GlobalSettings.Paths.ProfilePath, name);

            if (File.Exists(sFile))
            {
                lock (__cProfiles) {
                    __cProfiles.Clear();
                }

                string sJSONSettings = File.ReadAllText(sFile, Encoding.UTF8);
                Dictionary <string, JToken> cSettings = JsonConvert.DeserializeObject <Dictionary <string, JToken> >(sJSONSettings);
                foreach (JToken cSetting in cSettings.Values)
                {
                    AddProfile(ProfileSetting.CreateProfile(cSetting));
                }

                if (onLoadProfile != null)
                {
                    onLoadProfile(this, EventArgs.Empty);
                }
            }
        }