Exemplo n.º 1
0
        private void butAdd_Click(object sender, EventArgs e)
        {
            if (textCustom.Text == "")
            {
                MsgBox.Show(this, "Please enter a custom word first.");
                return;
            }
            string newWord = Regex.Replace(textCustom.Text, "[\\s]|[\\p{P}\\p{S}-['-]]", ""); //don't allow words with spaces or punctuation except ' and - in them

            for (int i = 0; i < DictCustoms.Listt.Count; i++)                                 //Make sure it's not already in the custom list
            {
                if (DictCustoms.Listt[i].WordText == newWord)
                {
                    MsgBox.Show(this, "The word " + newWord + " is already in the custom word list.");
                    textCustom.Clear();
                    return;
                }
            }
            DictCustom word = new DictCustom();

            word.WordText = newWord;
            DictCustoms.Insert(word);
            DataValid.SetInvalid(InvalidType.DictCustoms);
            textCustom.Clear();
            FillGrid();
        }
Exemplo n.º 2
0
        private void menuItem_Click(object sender, System.EventArgs e)
        {
            if (ReadOnly && contextMenu.MenuItems.IndexOf((MenuItem)sender) != 13)
            {
                MsgBox.Show(this, "This feature is currently disabled due to this text box being read only.");
                return;
            }
            switch (contextMenu.MenuItems.IndexOf((MenuItem)sender))
            {
            case 0:
            case 1:
            case 2:
            case 3:
            case 4:
                if (!this.spellCheckIsEnabled || !PrefC.GetBool(PrefName.SpellCheckIsEnabled))                         //if spell check disabled, break.  Should never happen since the suggested words won't show if spell check disabled
                {
                    break;
                }
                int originalCaret = this.SelectionStart;
                this.Text = this.Text.Remove(ReplWord.StartIndex, ReplWord.Value.Length);
                this.Text = this.Text.Insert(ReplWord.StartIndex, contextMenu.MenuItems[contextMenu.MenuItems.IndexOf((MenuItem)sender)].Text);
                if (this.Text.Length <= originalCaret)
                {
                    this.SelectionStart = this.Text.Length;
                }
                else
                {
                    this.SelectionStart = originalCaret;
                }
                timer1.Start();
                break;

            //case 5 is separator
            case 6:                                                                            //Add to dict
                if (!this.spellCheckIsEnabled || !PrefC.GetBool(PrefName.SpellCheckIsEnabled)) //if spell check disabled, break.  Should never happen since Add to Dict won't show if spell check disabled
                {
                    break;
                }
                string newWord = ReplWord.Value;
                //guaranteed to not already exist in custom dictionary, or it wouldn't be underlined.
                DictCustom word = new DictCustom();
                word.WordText = newWord;
                DictCustoms.Insert(word);
                DataValid.SetInvalid(InvalidType.DictCustoms);
                ListIncorrect.Remove(ReplWord.Value);
                ListCorrect.Add(ReplWord.Value);
                timer1.Start();
                break;

            case 7:                    //Disable spell check
                if (!MsgBox.Show(this, MsgBoxButtons.OKCancel, "This will disable spell checking.  To re-enable, go to Setup | Spell Check and check the \"Spell Check Enabled\" box."))
                {
                    break;
                }
                Prefs.UpdateBool(PrefName.SpellCheckIsEnabled, false);
                DataValid.SetInvalid(InvalidType.Prefs);
                ClearWavyLines();
                break;

            //case 8 is separator
            case 9:
                InsertDate();
                break;

            case 10:                    //Insert Quick Note
                ShowFullDialog();
                break;

            //case 11 is separator
            case 12:                    //cut
                Clipboard.SetDataObject(SelectedText);
                int caretPos = SelectionStart;
                Text            = Text.Remove(SelectionStart, SelectionLength);
                SelectionStart  = caretPos;
                SelectionLength = 0;
                break;

            case 13:                    //copy
                Clipboard.SetDataObject(SelectedText);
                break;

            case 14:                    //paste
                if (!Clipboard.ContainsText())
                {
                    MsgBox.Show(this, "There is no text on the clipboard.");
                    break;
                }
                int         caret = SelectionStart;
                IDataObject iData = Clipboard.GetDataObject();
                if (SelectionLength > 0)
                {
                    Text            = Text.Remove(SelectionStart, SelectionLength);
                    SelectionLength = 0;
                }
                string strPaste = (string)iData.GetData(DataFormats.Text);
                Text = Text.Insert(caret, strPaste);
                //MaxLength is not enforced by the RichTextBox.  It allows us to set the Text value to a longer length, so we have to handle it manually.
                if (Text.Length > MaxLength)
                {
                    Text = Text.Substring(0, MaxLength);
                }
                SelectionStart = caret + strPaste.Length;
                break;
            }
        }