]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetListings.cpp
Fixup 572b06d6: reduce cache size for breakString
[lyx.git] / src / insets / InsetListings.cpp
index 96b035ed12c6d578dd9e97b341e5aa769580cc38..67a046208542ce222b671301be29e2c78a73379e 100644 (file)
 #include "Buffer.h"
 #include "BufferView.h"
 #include "BufferParams.h"
-#include "Counters.h"
 #include "Cursor.h"
-#include "DispatchResult.h"
 #include "Encoding.h"
 #include "FuncRequest.h"
 #include "FuncStatus.h"
 #include "InsetCaption.h"
 #include "InsetLabel.h"
+#include "InsetLayout.h"
 #include "Language.h"
 #include "LaTeXFeatures.h"
 #include "Lexer.h"
 #include "output_latex.h"
 #include "output_docbook.h"
 #include "output_xhtml.h"
-#include "TextClass.h"
 #include "TexRow.h"
 #include "texstream.h"
 
@@ -43,6 +41,7 @@
 #include "frontends/alert.h"
 #include "frontends/Application.h"
 
+#include <cstring>
 #include <regex>
 #include <sstream>
 
@@ -66,7 +65,7 @@ InsetListings::~InsetListings()
 }
 
 
-Inset::RowFlags InsetListings::rowFlags() const
+int InsetListings::rowFlags() const
 {
        return params().isInline() || params().isFloat() ? Inline : Display | AlignLeft;
 }
@@ -314,9 +313,11 @@ void InsetListings::latex(otexstream & os, OutputParams const & runparams) const
                        }
                }
                ++par;
-               // for the inline case, if there are multiple paragraphs
+               // Add new line between paragraphs in displayed listings.
+               // Exception: merged paragraphs in change tracking mode.
+               // Also, for the inline case, if there are multiple paragraphs
                // they are simply joined. Otherwise, expect latex errors.
-               if (par != end && !isInline && !captionline)
+               if (par != end && !isInline && !captionline && !par->parEndChange().deleted())
                        code += "\n";
        }
        if (isInline) {
@@ -607,9 +608,7 @@ docstring const InsetListings::buttonLabel(BufferView const & bv) const
 {
        // FIXME UNICODE
        docstring const locked = tempfile_ ? docstring(1, 0x1F512) : docstring();
-       if (decoration() == InsetLayout::MINIMALISTIC)
-               return locked;
-       if (decoration() == InsetLayout::CLASSIC)
+       if (decoration() == InsetDecoration::CLASSIC)
                return locked + (isOpen(bv) ? _("Listing") : getNewLabel(_("Listing")));
        return locked + getNewLabel(_("Listing"));
 }