]> git.lyx.org Git - lyx.git/blobdiff - src/Text2.cpp
FindAdv: Amend ec387b6d: Handle search for '{' and '}'
[lyx.git] / src / Text2.cpp
index 2d1ca0ec4ee0dc6f6a57368e0fd611f22ac2b881..7e30ecd7d01e98b321684a17b8d6c9b74bb282bf 100644 (file)
 #include "Text.h"
 
 #include "Buffer.h"
-#include "buffer_funcs.h"
-#include "BufferList.h"
 #include "BufferParams.h"
 #include "BufferView.h"
 #include "Changes.h"
 #include "Cursor.h"
-#include "CutAndPaste.h"
-#include "DispatchResult.h"
-#include "ErrorList.h"
 #include "Language.h"
 #include "Layout.h"
-#include "Lexer.h"
-#include "LyX.h"
 #include "LyXRC.h"
 #include "Paragraph.h"
 #include "ParagraphParameters.h"
 #include "TextClass.h"
 #include "TextMetrics.h"
 
-#include "insets/InsetCollapsible.h"
-
-#include "mathed/InsetMathHull.h"
+#include "insets/InsetText.h"
 
 #include "support/lassert.h"
-#include "support/debug.h"
 #include "support/gettext.h"
-#include "support/lyxalgo.h"
-#include "support/textutils.h"
 
 #include <sstream>
 
@@ -157,7 +145,7 @@ void Text::setInsetFont(BufferView const & bv, pit_type pit,
        Inset * const inset = pars_[pit].getInset(pos);
        LASSERT(inset && inset->resetFontEdit(), return);
 
-       CursorSlice::idx_type endidx = inset->nargs();
+       idx_type endidx = inset->nargs();
        for (CursorSlice cs(*inset); cs.idx() != endidx; ++cs.idx()) {
                Text * text = cs.text();
                if (text) {
@@ -182,7 +170,11 @@ void Text::setLayout(pit_type start, pit_type end,
 
        for (pit_type pit = start; pit != end; ++pit) {
                Paragraph & par = pars_[pit];
-               par.applyLayout(lyxlayout);
+               // Is this a separating paragraph? If so,
+               // this needs to be standard layout
+               bool const is_separator = par.size() == 1
+                               && par.isEnvSeparator(0);
+               par.applyLayout(is_separator ? bp.documentClass().defaultLayout() : lyxlayout);
                if (lyxlayout.margintype == MARGIN_MANUAL)
                        par.setLabelWidthString(par.expandLabel(lyxlayout, bp));
        }
@@ -218,7 +210,7 @@ static bool changeDepthAllowed(Text::DEPTH_CHANGE type,
 }
 
 
-bool Text::changeDepthAllowed(Cursor & cur, DEPTH_CHANGE type) const
+bool Text::changeDepthAllowed(Cursor const & cur, DEPTH_CHANGE type) const
 {
        LBUFERR(this == cur.text());
        // this happens when selecting several cells in tabular (bug 2630)
@@ -238,7 +230,7 @@ bool Text::changeDepthAllowed(Cursor & cur, DEPTH_CHANGE type) const
 }
 
 
-void Text::changeDepth(Cursor & cur, DEPTH_CHANGE type)
+void Text::changeDepth(Cursor const & cur, DEPTH_CHANGE type)
 {
        LBUFERR(this == cur.text());
        pit_type const beg = cur.selBegin().pit();
@@ -483,7 +475,7 @@ void Text::setLabelWidthStringToSequence(Cursor const & cur,
 }
 
 
-void Text::setParagraphs(Cursor & cur, docstring const & arg, bool merge)
+void Text::setParagraphs(Cursor const & cur, docstring const & arg, bool merge)
 {
        LBUFERR(cur.text());
 
@@ -511,7 +503,7 @@ void Text::setParagraphs(Cursor & cur, docstring const & arg, bool merge)
 }
 
 
-void Text::setParagraphs(Cursor & cur, ParagraphParameters const & p)
+void Text::setParagraphs(Cursor const & cur, ParagraphParameters const & p)
 {
        LBUFERR(cur.text());