private UIModel.OldSettings LoadOldSettingsFile(UserSettings userSettings) { UIModel.OldSettings oldSettings = null; try { oldSettings = new UIModel.OldSettings(); string oldSet = string.Empty; using (StreamReader sr = new StreamReader(OldSettingFileName)) { oldSet = sr.ReadToEnd(); } oldSet = oldSet.Replace("\",", "\":"); oldSet = oldSet.Replace("[", "{"); oldSet = oldSet.Replace("]", "}"); var ind1 = oldSet.IndexOf('{'); var ind2 = oldSet.LastIndexOf('}'); var oldSetsb = new StringBuilder(oldSet); oldSetsb[ind1] = '['; oldSetsb[ind2] = ']'; oldSet = oldSetsb.ToString(); oldSet = ReomveBadOccr(oldSet, "FFXIVLanguagles"); oldSet = ReomveBadOccr(oldSet, "RecentBackgroundColor"); oldSet = ReomveBadOccr(oldSet, "RecentFont1Colors"); oldSet = ReomveBadOccr(oldSet, "RecentFont2Colors"); var res = JsonConvert.DeserializeObject <List <Object> >(oldSet); oldSettings.BackgroundColor = (string)((Newtonsoft.Json.Linq.JObject)res[0]).GetValue("BackgroundColor"); oldSettings.Font1Color = (string)((Newtonsoft.Json.Linq.JObject)res[1]).GetValue("Font1Color"); oldSettings.Font2Color = (string)((Newtonsoft.Json.Linq.JObject)res[2]).GetValue("Font2Color"); oldSettings.IsClickThrough = (bool)((Newtonsoft.Json.Linq.JObject)res[3]).GetValue("IsClickThrough"); oldSettings.IsAlwaysOnTop = (bool)((Newtonsoft.Json.Linq.JObject)res[4]).GetValue("IsAlwaysOnTop"); oldSettings.IsHideToTray = (bool)((Newtonsoft.Json.Linq.JObject)res[5]).GetValue("IsHideToTray"); oldSettings.FontSize = (int)((Newtonsoft.Json.Linq.JObject)res[6]).GetValue("FontSize"); oldSettings.LineBreakHeight = (int)((Newtonsoft.Json.Linq.JObject)res[8]).GetValue("LineBreakHeight"); oldSettings.InsertSpaceCount = (int)((Newtonsoft.Json.Linq.JObject)res[9]).GetValue("InsertSpaceCount"); oldSettings.CurrentTranslationEngine = (int)((Newtonsoft.Json.Linq.JObject)res[10]).GetValue("CurrentTranslationEngine"); oldSettings.CurrentFFXIVLanguage = (int)((Newtonsoft.Json.Linq.JObject)res[11]).GetValue("CurrentFFXIVLanguage"); oldSettings.CurrentTranslateToLanguage = (int)((Newtonsoft.Json.Linq.JObject)res[12]).GetValue("CurrentTranslateToLanguage"); oldSettings.CurentLanguague = (int)((Newtonsoft.Json.Linq.JObject)res[17]).GetValue("CurentLanguague"); oldSettings.MainWinHeight = (double)((Newtonsoft.Json.Linq.JObject)res[26]).GetValue("MainWinHeight"); oldSettings.MainWinWidth = (double)((Newtonsoft.Json.Linq.JObject)res[27]).GetValue("MainWinWidth"); oldSettings.ChatWinTop = (double)((Newtonsoft.Json.Linq.JObject)res[28]).GetValue("ChatWinTop"); oldSettings.ChatWinLeft = (double)((Newtonsoft.Json.Linq.JObject)res[29]).GetValue("ChatWinLeft"); oldSettings.ChatWinHeight = (double)((Newtonsoft.Json.Linq.JObject)res[30]).GetValue("ChatWinHeight"); oldSettings.ChatWinWidth = (double)((Newtonsoft.Json.Linq.JObject)res[31]).GetValue("ChatWinWidth"); oldSettings.IsFirstTime = (int)((Newtonsoft.Json.Linq.JObject)res[32]).GetValue("IsFirstTime"); //oldSettings = JsonConvert.DeserializeObject<UIModel.OldSettings>(oldSet); } catch (Exception e) { oldSettings = null; Logger.WriteLog(e); } return(oldSettings); }
public void SetSettings(UserSettings userSettings) { UserSettings tmpSettings = new UserSettings(); UiLanguage = userSettings.CurentUILanguague; ChatFontSize = userSettings.FontSize; BackgroundColor = userSettings.BackgroundColor; ParagraphSpaceCount = userSettings.InsertSpaceCount; LineBreakeHeight = userSettings.LineBreakHeight; TranslationEngine = (TranslationEngine)userSettings.CurrentTranslationEngine; FFLanguage = userSettings.CurrentFFXIVLanguage; TranslateToLanguage = userSettings.CurrentTranslateToLanguage; IsChatClickThrough = userSettings.IsClickThrough; IsChatAlwaysOnTop = userSettings.IsAlwaysOnTop; IsHideSettingsToTray = userSettings.IsHideToTray; IsAutoHide = userSettings.IsAutoHide; IsDirecMemoryReading = userSettings.IsDirecMemoryReading; AutoHideTimeout = userSettings.AutoHideTimeout; if (userSettings.ShowHideChatKeys != null) { ShowHideChatKeys = new HotKeyCombination(userSettings.ShowHideChatKeys); } else { ShowHideChatKeys = new HotKeyCombination(tmpSettings.ShowHideChatKeys); } if (userSettings.ClickThoughtChatKeys != null) { ClickThoughtChatKeys = new HotKeyCombination(userSettings.ClickThoughtChatKeys); } else { ClickThoughtChatKeys = new HotKeyCombination(tmpSettings.ClickThoughtChatKeys); } if (userSettings.ClearChatKeys != null) { ClearChatKeys = new HotKeyCombination(userSettings.ClearChatKeys); } else { ClearChatKeys = new HotKeyCombination(tmpSettings.ClearChatKeys); } SettingsWindowSize = userSettings.SettingsWindowSize; ChatWindowRectangle = userSettings.ChatWindowLocation; if (userSettings.RecentBackgroundColors != null) { RecentBackgroundColors = userSettings.RecentBackgroundColors.Distinct().ToList(); } else { RecentBackgroundColors = tmpSettings.RecentBackgroundColors.Distinct().ToList(); } var tmpChatList = Helper.LoadJsonData <List <ChatMsgType> >(GlobalSettings.ChatCodesFilePath); var tmpChatCodes = new Dictionary <string, ChatMsgType>(); for (int i = 0; i < tmpChatList.Count; i++) { tmpChatCodes.TryAdd(tmpChatList[i].ChatCode, tmpChatList[i]); } var userCodes = userSettings.ChatCodes.Values.ToList(); for (int i = 0; i < userCodes.Count; i++) { if (tmpChatCodes.ContainsKey(userCodes[i].ChatCode)) { tmpChatCodes[userCodes[i].ChatCode] = userCodes[i]; } } ChatCodes = tmpChatCodes; IsFirstTime = userSettings.IsFirstTime; }