]> git.lyx.org Git - lyx.git/blobdiff - src/Text3.cpp
Fix the rest of bug 5010.
[lyx.git] / src / Text3.cpp
index 583e1cd315a8a6f55f0efa402abd2050aaee851f..5ef0d62fb3de1a20921e9aaea2ae6838967d1875 100644 (file)
@@ -731,21 +731,6 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
                moveCursor(cur, false);
                break;
 
-       case LFUN_DELETE_FORWARD_SKIP:
-               // Reverse the effect of LFUN_BREAK_PARAGRAPH_SKIP.
-               if (!cur.selection()) {
-                       if (cur.pos() == cur.lastpos()) {
-                               cursorForward(cur);
-                               cursorBackward(cur);
-                       }
-                       erase(cur);
-                       cur.resetAnchor();
-               } else {
-                       cutSelection(cur, true, false);
-               }
-               break;
-
-
        case LFUN_CHAR_DELETE_BACKWARD:
                if (!cur.selection()) {
                        if (bv->getIntl().getTransManager().backspace()) {
@@ -763,36 +748,12 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
                }
                break;
 
-       case LFUN_DELETE_BACKWARD_SKIP:
-               // Reverse the effect of LFUN_BREAK_PARAGRAPH_SKIP.
-               if (!cur.selection()) {
-                       // FIXME: look here
-                       //CursorSlice cur = cursor();
-                       backspace(cur);
-                       //anchor() = cur;
-               } else {
-                       cutSelection(cur, true, false);
-               }
-               break;
-
        case LFUN_BREAK_PARAGRAPH:
                cap::replaceSelection(cur);
                breakParagraph(cur, cmd.argument() == "inverse");
                cur.resetAnchor();
                break;
 
-       case LFUN_BREAK_PARAGRAPH_SKIP: {
-               // When at the beginning of a paragraph, remove
-               // indentation.  Otherwise, do the same as LFUN_BREAK_PARAGRAPH.
-               cap::replaceSelection(cur);
-               if (cur.pos() == 0)
-                       cur.paragraph().params().labelWidthString(docstring());
-               else
-                       breakParagraph(cur, false);
-               cur.resetAnchor();
-               break;
-       }
-
        // TODO
        // With the creation of LFUN_PARAGRAPH_PARAMS, this is now redundant,
        // as its duties can be performed there. Should it be removed??
@@ -893,14 +854,14 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
        }
 
        case LFUN_SET_GRAPHICS_GROUP: {
-               InsetGraphics * ins = InsetGraphics::getCurrentGraphicsInset(cur);
+               InsetGraphics * ins = graphics::getCurrentGraphicsInset(cur);
                if (!ins)
                        break;
 
                cur.recordUndoFullDocument();
 
                string id = to_utf8(cmd.argument());
-               string grp = InsetGraphics::getGroupParams(bv->buffer(), id);
+               string grp = graphics::getGroupParams(bv->buffer(), id);
                InsetGraphicsParams tmp, inspar = ins->getParams();
 
                if (id.empty())
@@ -1377,25 +1338,22 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
        }
 
        case LFUN_INFO_INSERT: {
-               Inset * inset = createInset(cur.bv().buffer(), cmd);
-               if (!inset)
-                       break;
-               // if an empty inset is created (cmd.argument() is empty)
-               // use current selection as parameter.
+               Inset * inset;
                if (cmd.argument().empty() && cur.selection()) {
-                       // use selected text as info to avoid a separate UI
+                       // if command argument is empty use current selection as parameter.
                        docstring ds = cur.selectionAsString(false);
                        cutSelection(cur, true, false);
-                       static_cast<InsetInfo *>(inset)->setInfo(to_utf8(ds));
-                       static_cast<InsetInfo *>(inset)->updateInfo();
+                       FuncRequest cmd0(cmd, ds);
+                       inset = createInset(cur.bv().buffer(), cmd0);
+               } else {
+                       inset = createInset(cur.bv().buffer(), cmd);
                }
+               if (!inset)
+                       break;
                insertInset(cur, inset);
                cur.posForward();
                break;
        }
-#if 0
-       case LFUN_LIST_INSERT:
-#endif
        case LFUN_CAPTION_INSERT:
        case LFUN_FOOTNOTE_INSERT:
        case LFUN_NOTE_INSERT:
@@ -1407,7 +1365,6 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
        case LFUN_LISTING_INSERT:
        case LFUN_MARGINALNOTE_INSERT:
        case LFUN_OPTIONAL_INSERT:
-       case LFUN_ENVIRONMENT_INSERT:
        case LFUN_INDEX_INSERT:
                // Open the inset, and move the current selection
                // inside it.
@@ -1509,7 +1466,6 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
                mathDispatch(cur, cmd, true);
                break;
 
-       case LFUN_MATH_IMPORT_SELECTION:
        case LFUN_MATH_MODE:
                if (cmd.argument() == "on")
                        // don't pass "on" as argument
@@ -1625,14 +1581,14 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
                break;
        }
 
-       case LFUN_FONT_FREE_APPLY:
+       case LFUN_TEXTSTYLE_APPLY:
                toggleAndShow(cur, this, freefont, toggleall);
                cur.message(_("Character set"));
                break;
 
        // Set the freefont using the contents of \param data dispatched from
        // the frontends and apply it at the current cursor location.
-       case LFUN_FONT_FREE_UPDATE: {
+       case LFUN_TEXTSTYLE_UPDATE: {
                Font font;
                bool toggle;
                if (font.fromString(to_utf8(cmd.argument()), toggle)) {
@@ -1721,7 +1677,7 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
                        bv->translateAndInsert(cmd.argument()[0], this, cur);
                break;
 
-       case LFUN_FLOAT_LIST: {
+       case LFUN_FLOAT_LIST_INSERT: {
                DocumentClass const & tclass = bv->buffer().params().documentClass();
                if (tclass.floats().typeExist(to_utf8(cmd.argument()))) {
                        cur.recordUndo();
@@ -1907,7 +1863,7 @@ bool Text::getStatus(Cursor & cur, FuncRequest const & cmd,
 
        case LFUN_APPENDIX:
                flag.setOnOff(cur.paragraph().params().startOfAppendix());
-               return true;
+               break;
 
        case LFUN_BIBITEM_INSERT:
                enable = (cur.paragraph().layout().labeltype == LABEL_BIBLIO
@@ -1981,14 +1937,9 @@ bool Text::getStatus(Cursor & cur, FuncRequest const & cmd,
        case LFUN_WRAP_INSERT:
                code = WRAP_CODE;
                break;
-       case LFUN_FLOAT_LIST:
+       case LFUN_FLOAT_LIST_INSERT:
                code = FLOAT_LIST_CODE;
                break;
-#if 0
-       case LFUN_LIST_INSERT:
-               code = LIST_CODE;
-               break;
-#endif
        case LFUN_CAPTION_INSERT:
                code = CAPTION_CODE;
                break;
@@ -2029,9 +1980,6 @@ bool Text::getStatus(Cursor & cur, FuncRequest const & cmd,
                enable = cur.paragraph().insetList().count(OPTARG_CODE)
                        < cur.paragraph().layout().optionalargs;
                break;
-       case LFUN_ENVIRONMENT_INSERT:
-               code = BOX_CODE;
-               break;
        case LFUN_INDEX_INSERT:
                code = INDEX_CODE;
                break;
@@ -2183,7 +2131,7 @@ bool Text::getStatus(Cursor & cur, FuncRequest const & cmd,
                break;
 
        case LFUN_SET_GRAPHICS_GROUP: {
-               InsetGraphics * ins = InsetGraphics::getCurrentGraphicsInset(cur);
+               InsetGraphics * ins = graphics::getCurrentGraphicsInset(cur);
                if (!ins) 
                        enable = false;
                else
@@ -2224,11 +2172,8 @@ bool Text::getStatus(Cursor & cur, FuncRequest const & cmd,
        case LFUN_LINE_BEGIN:
        case LFUN_LINE_END:
        case LFUN_CHAR_DELETE_FORWARD:
-       case LFUN_DELETE_FORWARD_SKIP:
        case LFUN_CHAR_DELETE_BACKWARD:
-       case LFUN_DELETE_BACKWARD_SKIP:
        case LFUN_BREAK_PARAGRAPH:
-       case LFUN_BREAK_PARAGRAPH_SKIP:
        case LFUN_PARAGRAPH_SPACING:
        case LFUN_INSET_INSERT:
        case LFUN_WORD_UPCASE:
@@ -2244,7 +2189,6 @@ bool Text::getStatus(Cursor & cur, FuncRequest const & cmd,
        case LFUN_LINE_INSERT:
        case LFUN_NEWPAGE_INSERT:
        case LFUN_MATH_DISPLAY:
-       case LFUN_MATH_IMPORT_SELECTION:
        case LFUN_MATH_MODE:
        case LFUN_MATH_MACRO:
        case LFUN_MATH_MATRIX:
@@ -2257,8 +2201,8 @@ bool Text::getStatus(Cursor & cur, FuncRequest const & cmd,
        case LFUN_FONT_UNDERLINE:
        case LFUN_FONT_SIZE:
        case LFUN_LANGUAGE:
-       case LFUN_FONT_FREE_APPLY:
-       case LFUN_FONT_FREE_UPDATE:
+       case LFUN_TEXTSTYLE_APPLY:
+       case LFUN_TEXTSTYLE_UPDATE:
        case LFUN_LAYOUT_PARAGRAPH:
        case LFUN_PARAGRAPH_UPDATE:
        case LFUN_ACCENT_UMLAUT:
@@ -2298,7 +2242,7 @@ bool Text::getStatus(Cursor & cur, FuncRequest const & cmd,
            && (cur.empty() || !cur.inset().insetAllowed(code)))
                enable = false;
 
-       flag.enabled(enable);
+       flag.setEnabled(enable);
        return true;
 }