X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyxtext.h;h=897808cca860789ac90c57995140309b4efb7b67;hb=80328d2053869dc089c23c25adbed4167d7bf0b1;hp=9074b858282348f93e66f79311213f127d62c04f;hpb=2e09a925a579e85d438824ada0843600fb16950e;p=lyx.git diff --git a/src/lyxtext.h b/src/lyxtext.h index 9074b85828..897808cca8 100644 --- a/src/lyxtext.h +++ b/src/lyxtext.h @@ -153,8 +153,17 @@ public: /// just selects the word the cursor is in void selectWord(LCursor & cur, word_location loc); + /// what type of change operation to make + enum ChangeOp { + ACCEPT, + REJECT + }; /// accept or reject the selected change - void acceptOrRejectChange(LCursor & cur, bool accept); + void acceptOrRejectChanges(LCursor & cur, ChangeOp op); + /// accept the changes within the complete LyXText + void acceptChanges(BufferParams const & bparams); + /// reject the changes within the complete LyXText + void rejectChanges(BufferParams const & bparams); /// returns true if par was empty and was removed bool setCursor(LCursor & cur, pit_type par, pos_type pos, @@ -336,13 +345,17 @@ public: int cursorY(BufferView const & bv, CursorSlice const & cursor, bool boundary) const; - /// delete double space or empty paragraphs around old cursor. + /// delete double spaces, leading spaces, and empty paragraphs around old cursor. /// \retval true if a change has happened and we need a redraw. /// FIXME: replace LCursor with DocIterator. This is not possible right /// now because recordUndo() is called which needs a LCursor. - bool deleteEmptyParagraphMechanism(LCursor & cur, + static bool deleteEmptyParagraphMechanism(LCursor & cur, LCursor & old, bool & need_anchor_change); + /// delete double spaces, leading spaces, and empty paragraphs + /// from \first to \last paragraph + void deleteEmptyParagraphMechanism(pit_type first, pit_type last, bool trackChanges); + public: /// the current font settings LyXFont current_font; @@ -369,7 +382,7 @@ private: // fix the cursor `cur' after a characters has been deleted at `where' // position. Called by deleteEmptyParagraphMechanism - void fixCursorAfterDelete(CursorSlice & cur, CursorSlice const & where); + static void fixCursorAfterDelete(CursorSlice & cur, CursorSlice const & where); // At cursor position 0, try to merge the paragraph with the one before it. // Ignore change tracking, i.e., physically remove the end-of-par character