コード例 #1
0
        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");
        }
コード例 #2
0
        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;
        }
コード例 #3
0
        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);
        }