]> git.lyx.org Git - lyx.git/blobdiff - src/Text3.cpp
Remove the bogus fixme.
[lyx.git] / src / Text3.cpp
index f292c1a5b1614fa5d7fd6254938904551e7ee2aa..79dcff2279922c1440ab52ffeb610a67bac90c22 100644 (file)
@@ -37,7 +37,7 @@
 #include "Language.h"
 #include "Layout.h"
 #include "LyXAction.h"
-#include "LyXFunc.h"
+#include "LyX.h"
 #include "Lexer.h"
 #include "LyXRC.h"
 #include "Paragraph.h"
@@ -2000,8 +2000,7 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
 
        case LFUN_SPELLING_ADD: {
                docstring word = from_utf8(cmd.getArg(0));
-               string code;
-               string variety;
+               Language * lang;
                if (word.empty()) {
                        word = cur.selectionAsString(false);
                        // FIXME
@@ -2010,19 +2009,17 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
                                selectWordWhenUnderCursor(cur, WHOLE_WORD);
                                word = cur.selectionAsString(false);
                        }
-                       code = cur.getFont().language()->code();
-                       variety = cur.getFont().language()->variety();
+                       lang = const_cast<Language *>(cur.getFont().language());
                } else
-                       variety = split(cmd.getArg(1), code, '-');
-               WordLangTuple wl(word, code, variety);
+                       lang = const_cast<Language *>(languages.getLanguage(cmd.getArg(1)));
+               WordLangTuple wl(word, lang);
                theSpellChecker()->insert(wl);
                break;
        }
 
        case LFUN_SPELLING_IGNORE: {
                docstring word = from_utf8(cmd.getArg(0));
-               string code;
-               string variety;
+               Language * lang;
                if (word.empty()) {
                        word = cur.selectionAsString(false);
                        // FIXME
@@ -2031,11 +2028,10 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
                                selectWordWhenUnderCursor(cur, WHOLE_WORD);
                                word = cur.selectionAsString(false);
                        }
-                       code = cur.getFont().language()->code();
-                       variety = cur.getFont().language()->variety();
+                       lang = const_cast<Language *>(cur.getFont().language());
                } else
-                       variety = split(cmd.getArg(1), code, '-');
-               WordLangTuple wl(word, code, variety);
+                       lang = const_cast<Language *>(languages.getLanguage(cmd.getArg(1)));
+               WordLangTuple wl(word, lang);
                theSpellChecker()->accept(wl);
                break;
        }
@@ -2560,6 +2556,7 @@ bool Text::getStatus(Cursor & cur, FuncRequest const & cmd,
 
        case LFUN_LANGUAGE:
                enable = !cur.inset().getLayout().isPassThru();
+               flag.setOnOff(to_utf8(cmd.argument()) == cur.real_current_font.language()->lang());
                break;
 
        case LFUN_BREAK_PARAGRAPH: