commit f1f475e1d32525a1a6b31e75367ee4697f621f77
Author: Juergen Spitzmueller <[email protected]>
Date:   Fri Mar 5 18:23:38 2021 +0100

    Add LFUN_FONT_NO_SPELLCHECK
---
 lib/RELEASE-NOTES          |    3 +++
 src/FuncCode.h             |    1 +
 src/LyXAction.cpp          |    9 +++++++++
 src/Text3.cpp              |    8 ++++++++
 src/frontends/qt/Menus.cpp |    2 ++
 5 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/lib/RELEASE-NOTES b/lib/RELEASE-NOTES
index 32d44aa..3496575 100644
--- a/lib/RELEASE-NOTES
+++ b/lib/RELEASE-NOTES
@@ -100,6 +100,9 @@
 
 * export-cancel: Used to cancel background export processes.
 
+* font-nospellcheck marks the word under cursor or selection to the effect 
that the
+  spellchecker ignores it.
+
 * ifrelatives is a helper function to check whether a buffer has a master or 
children.
 
 * lyxfiles-open opens the new examples or templates dialog.
diff --git a/src/FuncCode.h b/src/FuncCode.h
index f473cda..9976a1d 100644
--- a/src/FuncCode.h
+++ b/src/FuncCode.h
@@ -496,6 +496,7 @@ enum FuncCode
        LFUN_INSET_SPLIT,               // jspitzm 20201222
        LFUN_LYXFILES_OPEN,             // jspitzm 20210210
        LFUN_SEARCH_STRING_SET,         // stwitt/jspitzm 20210212
+       LFUN_FONT_NO_SPELLCHECK,        // jspitzm 20210305
        LFUN_LASTACTION                 // end of the table
 };
 
diff --git a/src/LyXAction.cpp b/src/LyXAction.cpp
index 0d43ea5..efabfff 100644
--- a/src/LyXAction.cpp
+++ b/src/LyXAction.cpp
@@ -1835,6 +1835,15 @@ void LyXAction::init()
                { LFUN_FONT_CROSSOUT, "font-crossout", Noop, Layout },
 
 /*!
+ * \var lyx::FuncCode lyx::LFUN_FONT_NO_SPELLCHECK
+ * \li Action: Toggles nospellcheck status in the font (selection-wise).
+ * \li Syntax: font-nospellcheck
+ * \li Origin: spitz, 5 March 2021
+ * \endvar
+ */
+               { LFUN_FONT_NO_SPELLCHECK, "font-nospellcheck", Noop, Layout },
+
+/*!
  * \var lyx::FuncCode lyx::LFUN_FONT_TYPEWRITER
  * \li Action: Toggles the typewriter family font (selection-wise).
  * \li Syntax: font-typewriter
diff --git a/src/Text3.cpp b/src/Text3.cpp
index 9c7b10f..a66a1b7 100644
--- a/src/Text3.cpp
+++ b/src/Text3.cpp
@@ -2474,6 +2474,13 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
                break;
        }
 
+       case LFUN_FONT_NO_SPELLCHECK: {
+               Font font(ignore_font, ignore_language);
+               font.fontInfo().setNoSpellcheck(FONT_TOGGLE);
+               toggleAndShow(cur, this, font);
+               break;
+       }
+
        case LFUN_FONT_SIZE: {
                Font font(ignore_font, ignore_language);
                setLyXSize(to_utf8(cmd.argument()), font.fontInfo());
@@ -3550,6 +3557,7 @@ bool Text::getStatus(Cursor & cur, FuncRequest const & 
cmd,
        case LFUN_FONT_CROSSOUT:
        case LFUN_FONT_UNDERUNDERLINE:
        case LFUN_FONT_UNDERWAVE:
+       case LFUN_FONT_NO_SPELLCHECK:
        case LFUN_TEXTSTYLE_UPDATE:
                enable = !cur.paragraph().isPassThru();
                break;
diff --git a/src/frontends/qt/Menus.cpp b/src/frontends/qt/Menus.cpp
index 8139ff9..8f5ae7c 100644
--- a/src/frontends/qt/Menus.cpp
+++ b/src/frontends/qt/Menus.cpp
@@ -862,6 +862,8 @@ void MenuDefinition::expandSpellingSuggestions(BufferView 
const * bv)
                                docstring const arg = wl.word() + " " + 
from_ascii(wl.lang()->lang());
                                add(MenuItem(MenuItem::Command, qt_("Add to 
personal dictionary|n"),
                                                FuncRequest(LFUN_SPELLING_ADD, 
arg)));
+                               add(MenuItem(MenuItem::Command, qt_("Ignore|g"),
+                                               
FuncRequest(LFUN_FONT_NO_SPELLCHECK, arg)));
                                add(MenuItem(MenuItem::Command, qt_("Ignore 
all|I"),
                                                
FuncRequest(LFUN_SPELLING_IGNORE, arg)));
                        }
-- 
lyx-cvs mailing list
[email protected]
http://lists.lyx.org/mailman/listinfo/lyx-cvs

Reply via email to