]> git.lyx.org Git - features.git/commitdiff
Introduce allowMultiPar()
authorMartin Vermeer <martin.vermeer@hut.fi>
Thu, 11 Oct 2007 10:13:45 +0000 (10:13 +0000)
committerMartin Vermeer <martin.vermeer@hut.fi>
Thu, 11 Oct 2007 10:13:45 +0000 (10:13 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20898 a592a061-630c-0410-9148-cb99ea01b6c8

src/Text3.cpp
src/insets/InsetBox.cpp
src/insets/InsetCollapsable.cpp
src/insets/InsetCollapsable.h
src/insets/InsetText.h

index 1f090369ecc7ea126912cf368f4fac1f1768bb80..d9d5b8f70b70ced12c10933ac978b496b6398d22 100644 (file)
@@ -210,8 +210,8 @@ static bool doInsertInset(Cursor & cur, Text * text,
 
                if (gotsel && pastesel) {
                        lyx::dispatch(FuncRequest(LFUN_PASTE, "0"));
-                       InsetLayout il = inset->getLayout(cur.buffer().params());
-                       if (!il.multipar || cur.lastpit() == 0) {
+                       if (!static_cast<InsetText *>(inset)->allowMultiPar() 
+                           || cur.lastpit() == 0) {
                                // reset first par to default
                                LayoutPtr const layout =
                                        cur.buffer().params().getTextClass().defaultLayout();
index 2b10cd663d6e75229cb49fcd5fcb105cb837b28f..8939f0eacdeb1859362bb1a5fe764736eb3c3479 100644 (file)
@@ -14,6 +14,7 @@
 
 #include "InsetBox.h"
 
+#include "Buffer.h"
 #include "BufferView.h"
 #include "Cursor.h"
 #include "DispatchResult.h"
@@ -94,6 +95,7 @@ void InsetBox::init()
 InsetBox::InsetBox(BufferParams const & bp, string const & label)
        : InsetCollapsable(bp), params_(label)
 {
+       setLayout(bp);
        init();
 }
 
@@ -134,6 +136,7 @@ void InsetBox::read(Buffer const & buf, Lexer & lex)
 {
        params_.read(lex);
        InsetCollapsable::read(buf, lex);
+       setLayout(buf.params());
        setButtonLabel();
 }
 
@@ -203,6 +206,7 @@ void InsetBox::doDispatch(Cursor & cur, FuncRequest & cmd)
        case LFUN_INSET_MODIFY: {
                //lyxerr << "InsetBox::dispatch MODIFY" << endl;
                InsetBoxMailer::string2params(to_utf8(cmd.argument()), params_);
+               setLayout(cur.buffer().params());
                setButtonLabel();
                break;
        }
index 654979df7f16116b1bdf393098ffd9eb095baf23..4159ff36a7469d65e592bd2fa58f4aff1faa49e7 100644 (file)
@@ -546,6 +546,12 @@ void InsetCollapsable::doDispatch(Cursor & cur, FuncRequest & cmd)
 }
 
 
+bool InsetCollapsable::allowMultiPar() const
+{
+       return layout_.multipar;
+}
+
+
 bool InsetCollapsable::getStatus(Cursor & cur, FuncRequest const & cmd,
                FuncStatus & flag) const
 {
index a1009509453d1d11c750a23968bbcadd1a6a2392..71264ade2ba59bf91281a4389df899575ef117a3 100644 (file)
@@ -122,6 +122,8 @@ public:
        ///
        bool allowSpellCheck() const { return true; }
        ///
+       bool allowMultiPar() const;
+       ///
        bool getStatus(Cursor &, FuncRequest const &, FuncStatus &) const;
        ///
        void setStatus(Cursor & cur, CollapseStatus st);
index 673faf6a1b54f172cb0172fd49ff7884a3d781ef..7fced9b3576be4dc066fb755bfe63e928bdfa48d 100644 (file)
@@ -130,6 +130,8 @@ public:
        /// should paragraph indendation be ommitted in any case?
        bool neverIndent(Buffer const &) const;
        ///
+       virtual bool allowMultiPar() const { return true; }
+       ///
        InsetText(InsetText const &);
 
        // Update the counters of this inset and of its contents