private void SaveAutoCorrectionWordClick() { if (string.IsNullOrEmpty(AutoCorrectionFirstWord.Text) || string.IsNullOrEmpty(AutoCorrectionSecondWord.Text)) { return; } var firstWord = AutoCorrectionFirstWord.Text; var secondWord = AutoCorrectionSecondWord.Text; var isAlwaysReplace = AutoCorrectionAlwaysReplace.IsOn; var isIgnoreCase = AutoCorrectionIgnoreCase.IsOn; var isDisabled = AutoCorrectionDisabled.IsOn; var settingsModel = (EditAutoCorrectorListFlyout.Current.DataContext as HandwritingSettingsViewModel).SettingsModel; var list = settingsModel.AutoCorrectionList; list.Add(new HandwritingSettingsModel.CorrectionStructure { FirstWord = firstWord, SecondWord = secondWord, IsAlwaysReplace = isAlwaysReplace, IsDisabled = isDisabled, IsIgnoreCase = isIgnoreCase }); var flags = 0; if (isIgnoreCase) { flags |= WritePadAPI.FLAG_IGNORECASE; } if (isAlwaysReplace) { flags |= WritePadAPI.FLAG_ALWAYS_REPLACE; } if (isDisabled) { flags |= WritePadAPI.FLAG_DISABLED; } WritePadAPI.HWR_AddWordToWordList(WritePadAPI.getRecoHandle(), firstWord, secondWord, flags, 0); WritePadAPI.saveRecognizerDataOfType(WritePadAPI.USERDATA_AUTOCORRECTOR); settingsModel.OnPropertyChanged("AutoCorrectionList"); }
private void DeleteAutoCorrectionWordClick(object sender, RoutedEventArgs e) { var item = SelectedCorrectionStructure; var settingsModel = (EditAutoCorrectorListFlyout.Current.DataContext as HandwritingSettingsViewModel).SettingsModel; var list = settingsModel.AutoCorrectionList; WritePadAPI.HWR_EmptyWordList(WritePadAPI.getRecoHandle()); foreach (var listItem in list.Where(listItem => listItem.Equals(item))) { list.Remove(listItem); break; } foreach (var listItem in list) { var flags = 0; if (listItem.IsIgnoreCase) { flags |= WritePadAPI.FLAG_IGNORECASE; } if (listItem.IsAlwaysReplace) { flags |= WritePadAPI.FLAG_ALWAYS_REPLACE; } if (listItem.IsDisabled) { flags |= WritePadAPI.FLAG_DISABLED; } WritePadAPI.HWR_AddWordToWordList(WritePadAPI.getRecoHandle(), listItem.FirstWord, listItem.SecondWord, flags, 0); } WritePadAPI.saveRecognizerDataOfType(WritePadAPI.USERDATA_AUTOCORRECTOR); settingsModel.OnPropertyChanged("AutoCorrectionList"); AddAutoCorrectionWordLightDismissAnimatedPopup.IsOpen = false; }
private void EditAutoCorrectionWordClick() { if (string.IsNullOrEmpty(AutoCorrectionFirstWord.Text) || string.IsNullOrEmpty(AutoCorrectionSecondWord.Text)) { return; } var item = MainPage.Current.SelectedCorrectionStructure; var settingsModel = (EditAutoCorrectorListFlyout.Current.DataContext as HandwritingSettingsViewModel).SettingsModel; var list = settingsModel.AutoCorrectionList; WritePadAPI.HWR_EmptyWordList(WritePadAPI.getRecoHandle()); var position = 0; foreach (var listItem in list) { if (listItem.Equals(item)) { list.Remove(listItem); list.Insert(position, new HandwritingSettingsModel.CorrectionStructure { FirstWord = AutoCorrectionFirstWord.Text, SecondWord = AutoCorrectionSecondWord.Text, IsAlwaysReplace = AutoCorrectionAlwaysReplace.IsOn, IsDisabled = AutoCorrectionDisabled.IsOn, IsIgnoreCase = AutoCorrectionIgnoreCase.IsOn }); var flags = 0; if (AutoCorrectionIgnoreCase.IsOn) { flags |= WritePadAPI.FLAG_IGNORECASE; } if (AutoCorrectionAlwaysReplace.IsOn) { flags |= WritePadAPI.FLAG_ALWAYS_REPLACE; } if (AutoCorrectionDisabled.IsOn) { flags |= WritePadAPI.FLAG_DISABLED; } break; } position += 1; } foreach (var listItem in list) { var flags = 0; if (listItem.IsIgnoreCase) { flags |= WritePadAPI.FLAG_IGNORECASE; } if (listItem.IsAlwaysReplace) { flags |= WritePadAPI.FLAG_ALWAYS_REPLACE; } if (listItem.IsDisabled) { flags |= WritePadAPI.FLAG_DISABLED; } WritePadAPI.HWR_AddWordToWordList(WritePadAPI.getRecoHandle(), listItem.FirstWord, listItem.SecondWord, flags, 0); } WritePadAPI.saveRecognizerDataOfType(WritePadAPI.USERDATA_AUTOCORRECTOR); }