X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ftext3.C;h=49d204a3fd8614844e80faa8d9ca4c1c4fddff32;hb=ae348f8af96100a154b3792d27732d621d44ec89;hp=5dfb32b086db03385cc4c4cb25b1e56f67cd33a7;hpb=da65e2b7fbe29c5bca2812a56d5bbdb7efb702e5;p=lyx.git diff --git a/src/text3.C b/src/text3.C index 5dfb32b086..49d204a3fd 100644 --- a/src/text3.C +++ b/src/text3.C @@ -47,7 +47,9 @@ #include "pariterator.h" #include "frontends/Dialogs.h" +#include "frontends/Gui.h" #include "frontends/LyXView.h" +#include "frontends/Clipboard.h" #include "insets/insetcommand.h" #include "insets/insetfloatlist.h" @@ -79,6 +81,9 @@ using lyx::cap::replaceSelection; using lyx::support::isStrUnsignedInt; using lyx::support::token; +using lyx::frontend::Gui; +using lyx::frontend::Clipboard; + using std::endl; using std::string; using std::istringstream; @@ -119,7 +124,7 @@ namespace { if (selecting || cur.mark()) cur.setSelection(); if (!cur.selection()) - cur.bv().haveSelection(false); + cur.bv().owner()->gui().clipboard().haveSelection(false); cur.bv().switchKeyMap(); } @@ -213,7 +218,6 @@ bool LyXText::cursorPrevious(LCursor & cur) updated |= cursorUp(cur); } - cur.bv().updateScrollbar(); finishUndo(); return updated; } @@ -236,7 +240,6 @@ bool LyXText::cursorNext(LCursor & cur) updated |= cursorDown(cur); } - cur.bv().updateScrollbar(); finishUndo(); return updated; } @@ -377,19 +380,19 @@ void LyXText::dispatch(LCursor & cur, FuncRequest & cmd) break; } - case LFUN_DELETE_FORWARD_WORD_FORWARD: + case LFUN_WORD_DELETE_FORWARD: cur.clearSelection(); deleteWordForward(cur); finishChange(cur, false); break; - case LFUN_DELETE_FORWARD_WORD_BACKWARD: + case LFUN_WORD_DELETE_BACKWARD: cur.clearSelection(); deleteWordBackward(cur); finishChange(cur, false); break; - case LFUN_DELETE_FORWARD_LINE_FORWARD: + case LFUN_LINE_DELETE: cur.clearSelection(); deleteLineForward(cur); finishChange(cur, false); @@ -426,7 +429,7 @@ void LyXText::dispatch(LCursor & cur, FuncRequest & cmd) } break; - case LFUN_BUFFER_BEGINSEL: + case LFUN_BUFFER_BEGIN_SELECT: if (cur.depth() == 1) { if (!cur.selection()) cur.resetAnchor(); @@ -448,7 +451,7 @@ void LyXText::dispatch(LCursor & cur, FuncRequest & cmd) } break; - case LFUN_BUFFER_ENDSEL: + case LFUN_BUFFER_END_SELECT: if (cur.depth() == 1) { if (!cur.selection()) cur.resetAnchor(); @@ -460,10 +463,10 @@ void LyXText::dispatch(LCursor & cur, FuncRequest & cmd) break; case LFUN_CHAR_FORWARD: - case LFUN_CHAR_FORWARDSEL: + case LFUN_CHAR_FORWARD_SELECT: //lyxerr << BOOST_CURRENT_FUNCTION // << " LFUN_CHAR_FORWARD[SEL]:\n" << cur << endl; - cur.selHandle(cmd.action == LFUN_CHAR_FORWARDSEL); + cur.selHandle(cmd.action == LFUN_CHAR_FORWARD_SELECT); if (isRTL(cur.paragraph())) needsUpdate = cursorLeft(cur); else @@ -477,9 +480,9 @@ void LyXText::dispatch(LCursor & cur, FuncRequest & cmd) break; case LFUN_CHAR_BACKWARD: - case LFUN_BACKWARD_SELECT: - //lyxerr << "handle LFUN_CHAR_BACKWARD[SEL]:\n" << cur << endl; - cur.selHandle(cmd.action == LFUN_BACKWARD_SELECT); + case LFUN_CHAR_BACKWARD_SELECT: + //lyxerr << "handle LFUN_CHAR_BACKWARD[_SELECT]:\n" << cur << endl; + cur.selHandle(cmd.action == LFUN_CHAR_BACKWARD_SELECT); if (isRTL(cur.paragraph())) needsUpdate = cursorRight(cur); else @@ -527,7 +530,7 @@ void LyXText::dispatch(LCursor & cur, FuncRequest & cmd) finishChange(cur, false); break; - case LFUN_PARAGRAPH_UPSEL: + case LFUN_PARAGRAPH_UP_SELECT: if (!cur.selection()) cur.resetAnchor(); cursorUpParagraph(cur); @@ -541,14 +544,14 @@ void LyXText::dispatch(LCursor & cur, FuncRequest & cmd) finishChange(cur, false); break; - case LFUN_PARAGRAPH_DOWNSEL: + case LFUN_PARAGRAPH_DOWN_SELECT: if (!cur.selection()) cur.resetAnchor(); cursorDownParagraph(cur); finishChange(cur, true); break; - case LFUN_SCREEN_UPSEL: + case LFUN_SCREEN_UP_SELECT: update(cur); if (!cur.selection()) cur.resetAnchor(); @@ -556,7 +559,7 @@ void LyXText::dispatch(LCursor & cur, FuncRequest & cmd) finishChange(cur, true); break; - case LFUN_SCREEN_DOWNSEL: + case LFUN_SCREEN_DOWN_SELECT: update(cur); if (!cur.selection()) cur.resetAnchor(); @@ -564,7 +567,7 @@ void LyXText::dispatch(LCursor & cur, FuncRequest & cmd) finishChange(cur, true); break; - case LFUN_LINE_BEGINSEL: + case LFUN_LINE_BEGIN_SELECT: update(cur); if (!cur.selection()) cur.resetAnchor(); @@ -572,7 +575,7 @@ void LyXText::dispatch(LCursor & cur, FuncRequest & cmd) finishChange(cur, true); break; - case LFUN_LINE_ENDSEL: + case LFUN_LINE_END_SELECT: update(cur); if (!cur.selection()) cur.resetAnchor(); @@ -580,7 +583,7 @@ void LyXText::dispatch(LCursor & cur, FuncRequest & cmd) finishChange(cur, true); break; - case LFUN_WORD_FORWARDSEL: + case LFUN_WORD_FORWARD_SELECT: if (!cur.selection()) cur.resetAnchor(); if (isRTL(cur.paragraph())) @@ -590,7 +593,7 @@ void LyXText::dispatch(LCursor & cur, FuncRequest & cmd) finishChange(cur, true); break; - case LFUN_WORD_BACKWARDSEL: + case LFUN_WORD_BACKWARD_SELECT: if (!cur.selection()) cur.resetAnchor(); if (isRTL(cur.paragraph())) @@ -658,7 +661,7 @@ void LyXText::dispatch(LCursor & cur, FuncRequest & cmd) break; } - case LFUN_DELETE_FORWARD: + case LFUN_CHAR_DELETE_FORWARD: if (!cur.selection()) { if (cur.pos() == cur.paragraph().size()) // Par boundary, force full-screen update @@ -689,7 +692,7 @@ void LyXText::dispatch(LCursor & cur, FuncRequest & cmd) break; - case LFUN_DELETE_FORWARD_BACKWARD: + case LFUN_CHAR_DELETE_BACKWARD: if (!cur.selection()) { if (bv->owner()->getIntl().getTransManager().backspace()) { // Par boundary, full-screen update @@ -707,7 +710,7 @@ void LyXText::dispatch(LCursor & cur, FuncRequest & cmd) bv->switchKeyMap(); break; - case LFUN_DELETE_FORWARD_BACKWARD_SKIP: + case LFUN_DELETE_BACKWARD_SKIP: // Reverse the effect of LFUN_BREAK_PARAGRAPH_SKIP. if (!cur.selection()) { #ifdef WITH_WARNINGS @@ -728,7 +731,7 @@ void LyXText::dispatch(LCursor & cur, FuncRequest & cmd) bv->switchKeyMap(); break; - case LFUN_BREAK_PARAGRAPHKEEPLAYOUT: + case LFUN_BREAK_PARAGRAPH_KEEP_LAYOUT: lyx::cap::replaceSelection(cur); breakParagraph(cur, 1); cur.resetAnchor(); @@ -801,7 +804,7 @@ void LyXText::dispatch(LCursor & cur, FuncRequest & cmd) cur.inset().showInsetDialog(bv); break; - case LFUN_SCREEN_DOWN_INSET_TOGGLE: { + case LFUN_NEXT_INSET_TOGGLE: { InsetBase * inset = cur.nextInset(); // this is the real function we want to invoke cmd = FuncRequest(LFUN_INSET_TOGGLE); @@ -845,7 +848,7 @@ void LyXText::dispatch(LCursor & cur, FuncRequest & cmd) specialChar(cur, InsetSpecialChar::LDOTS); break; - case LFUN_LINE_END_OF_SENTENCE_PERIOD_INSERT: + case LFUN_END_OF_SENTENCE_PERIOD_INSERT: specialChar(cur, InsetSpecialChar::END_OF_SENTENCE); break; @@ -982,7 +985,7 @@ void LyXText::dispatch(LCursor & cur, FuncRequest & cmd) case LFUN_PRIMARY_SELECTION_PASTE: { cur.clearSelection(); - string const clip = bv->getClipboard(); + string const clip = bv->owner()->gui().clipboard().get(); if (!clip.empty()) { recordUndo(cur); if (cmd.argument == "paragraph") @@ -1042,7 +1045,7 @@ void LyXText::dispatch(LCursor & cur, FuncRequest & cmd) cursorEnd(cur); cur.setSelection(); bv->cursor() = cur; - bv->haveSelection(cur.selection()); + bv->owner()->gui().clipboard().haveSelection(cur.selection()); } break; @@ -1050,7 +1053,7 @@ void LyXText::dispatch(LCursor & cur, FuncRequest & cmd) if (cmd.button() == mouse_button::button1) { selectWord(cur, lyx::WHOLE_WORD_STRICT); bv->cursor() = cur; - bv->haveSelection(cur.selection()); + bv->owner()->gui().clipboard().haveSelection(cur.selection()); } break; @@ -1132,7 +1135,7 @@ void LyXText::dispatch(LCursor & cur, FuncRequest & cmd) // finish selection if (cmd.button() == mouse_button::button1) - bv->haveSelection(cur.selection()); + bv->owner()->gui().clipboard().haveSelection(cur.selection()); bv->switchKeyMap(); bv->owner()->updateMenubar(); @@ -1153,7 +1156,7 @@ void LyXText::dispatch(LCursor & cur, FuncRequest & cmd) if (lyxrc.auto_region_delete) { if (cur.selection()) cutSelection(cur, false, false); - bv->haveSelection(false); + bv->owner()->gui().clipboard().haveSelection(false); } cur.clearSelection(); @@ -1167,7 +1170,6 @@ void LyXText::dispatch(LCursor & cur, FuncRequest & cmd) cur.resetAnchor(); moveCursor(cur, false); - bv->updateScrollbar(); break; } @@ -1311,7 +1313,8 @@ void LyXText::dispatch(LCursor & cur, FuncRequest & cmd) case LFUN_MATH_INSERT: case LFUN_MATH_MATRIX: - case LFUN_MATH_DELIM: { + case LFUN_MATH_DELIM: + case LFUN_MATH_BIGDELIM: { cur.insert(new MathHullInset("simple")); cur.dispatch(FuncRequest(LFUN_CHAR_FORWARD)); cur.dispatch(cmd); @@ -1498,12 +1501,12 @@ void LyXText::dispatch(LCursor & cur, FuncRequest & cmd) break; } - case LFUN_ACCEPT_CHANGE: { + case LFUN_CHANGE_ACCEPT: { acceptChange(cur); break; } - case LFUN_REJECT_CHANGE: { + case LFUN_CHANGE_REJECT: { rejectChange(cur); break; } @@ -1739,7 +1742,7 @@ bool LyXText::getStatus(LCursor & cur, FuncRequest const & cmd, case LFUN_HFILL_INSERT: case LFUN_MENU_SEPARATOR_INSERT: case LFUN_DOTS_INSERT: - case LFUN_LINE_END_OF_SENTENCE_PERIOD_INSERT: + case LFUN_END_OF_SENTENCE_PERIOD_INSERT: code = InsetBase::SPECIALCHAR_CODE; break; case LFUN_SPACE_INSERT: @@ -1818,27 +1821,27 @@ bool LyXText::getStatus(LCursor & cur, FuncRequest const & cmd, break; } - case LFUN_DELETE_FORWARD_WORD_FORWARD: - case LFUN_DELETE_FORWARD_WORD_BACKWARD: - case LFUN_DELETE_FORWARD_LINE_FORWARD: + case LFUN_WORD_DELETE_FORWARD: + case LFUN_WORD_DELETE_BACKWARD: + case LFUN_LINE_DELETE: case LFUN_WORD_FORWARD: case LFUN_WORD_BACKWARD: case LFUN_CHAR_FORWARD: - case LFUN_CHAR_FORWARDSEL: + case LFUN_CHAR_FORWARD_SELECT: case LFUN_CHAR_BACKWARD: - case LFUN_BACKWARD_SELECT: + case LFUN_CHAR_BACKWARD_SELECT: case LFUN_UP: case LFUN_UP_SELECT: case LFUN_DOWN: case LFUN_DOWN_SELECT: - case LFUN_PARAGRAPH_UPSEL: - case LFUN_PARAGRAPH_DOWNSEL: - case LFUN_SCREEN_UPSEL: - case LFUN_SCREEN_DOWNSEL: - case LFUN_LINE_BEGINSEL: - case LFUN_LINE_ENDSEL: - case LFUN_WORD_FORWARDSEL: - case LFUN_WORD_BACKWARDSEL: + case LFUN_PARAGRAPH_UP_SELECT: + case LFUN_PARAGRAPH_DOWN_SELECT: + case LFUN_SCREEN_UP_SELECT: + case LFUN_SCREEN_DOWN_SELECT: + case LFUN_LINE_BEGIN_SELECT: + case LFUN_LINE_END_SELECT: + case LFUN_WORD_FORWARD_SELECT: + case LFUN_WORD_BACKWARD_SELECT: case LFUN_WORD_SELECT: case LFUN_PARAGRAPH_UP: case LFUN_PARAGRAPH_DOWN: @@ -1847,16 +1850,16 @@ bool LyXText::getStatus(LCursor & cur, FuncRequest const & cmd, case LFUN_LINE_BEGIN: case LFUN_LINE_END: case LFUN_BREAK_LINE: - case LFUN_DELETE_FORWARD: + case LFUN_CHAR_DELETE_FORWARD: case LFUN_DELETE_FORWARD_SKIP: - case LFUN_DELETE_FORWARD_BACKWARD: - case LFUN_DELETE_FORWARD_BACKWARD_SKIP: + case LFUN_CHAR_DELETE_BACKWARD: + case LFUN_DELETE_BACKWARD_SKIP: case LFUN_BREAK_PARAGRAPH: - case LFUN_BREAK_PARAGRAPHKEEPLAYOUT: + case LFUN_BREAK_PARAGRAPH_KEEP_LAYOUT: case LFUN_BREAK_PARAGRAPH_SKIP: case LFUN_PARAGRAPH_SPACING: case LFUN_INSET_INSERT: - case LFUN_SCREEN_DOWN_INSET_TOGGLE: + case LFUN_NEXT_INSET_TOGGLE: case LFUN_WORD_UPCASE: case LFUN_WORD_LOWCASE: case LFUN_WORD_CAPITALIZE: @@ -1878,6 +1881,7 @@ bool LyXText::getStatus(LCursor & cur, FuncRequest const & cmd, case LFUN_MATH_INSERT: case LFUN_MATH_MATRIX: case LFUN_MATH_DELIM: + case LFUN_MATH_BIGDELIM: case LFUN_MATH_SUBSCRIPT: case LFUN_MATH_SUPERSCRIPT: case LFUN_FONT_DEFAULT: @@ -1905,15 +1909,15 @@ bool LyXText::getStatus(LCursor & cur, FuncRequest const & cmd, case LFUN_ACCENT_HUNGARIAN_UMLAUT: case LFUN_ACCENT_CIRCLE: case LFUN_ACCENT_OGONEK: - case LFUN_ACCEPT_CHANGE: - case LFUN_REJECT_CHANGE: + case LFUN_CHANGE_ACCEPT: + case LFUN_CHANGE_REJECT: case LFUN_THESAURUS_ENTRY: case LFUN_PARAGRAPH_PARAMS_APPLY: case LFUN_ESCAPE: case LFUN_BUFFER_END: case LFUN_BUFFER_BEGIN: - case LFUN_BUFFER_BEGINSEL: - case LFUN_BUFFER_ENDSEL: + case LFUN_BUFFER_BEGIN_SELECT: + case LFUN_BUFFER_END_SELECT: // these are handled in our dispatch() enable = true; break;