#include "insets/insetbibitem.h"
#include "insets/insetfloat.h"
+#include "insets/insetwrap.h"
#include "support/LAssert.h"
#include "support/textutils.h"
// Wow, redoParagraphs is stupid.
LyXCursor tmpcursor;
- setCursor(tmpcursor, &(*start), 0);
+ setCursor(tmpcursor, start, 0);
//redoParagraphs(tmpcursor, &(*pastend));
- redoParagraphs(tmpcursor, &(*pastend));
+ redoParagraphs(tmpcursor, pastend);
// We need to actually move the text->cursor. I don't
// understand why ...
++endpit;
undoendpit = endpit;
}
- } else if (endpit!= pars_end) {
+ } else if (endpit != pars_end) {
// because of parindents etc.
++endpit;
}
}
if (isOK) {
- Floating const & fl
- = textclass.floats().getType(static_cast<InsetFloat*>(in)->type());
+ string type;
+
+ if (in->lyxCode() == Inset::FLOAT_CODE)
+ type = static_cast<InsetFloat*>(in)->params().type;
+ else if (in->lyxCode() == Inset::WRAP_CODE)
+ type = static_cast<InsetWrap*>(in)->params().type;
+ else
+ lyx::Assert(0);
+
+ Floating const & fl = textclass.floats().getType(type);
textclass.counters().step(fl.type());
ParagraphList::iterator endpit;
PitPosPair ppp;
- boost::tie(ppp, endpit) =
- CutAndPaste::pasteSelection(ownerParagraphs(),
- cursor.par(), cursor.pos(),
+ boost::tie(ppp, endpit) =
+ CutAndPaste::pasteSelection(ownerParagraphs(),
+ cursor.par(), cursor.pos(),
bv()->buffer()->params.textclass);
-
+
redoParagraphs(cursor, endpit);
setCursor(cursor.par(), cursor.pos());
if (body_pos > 0 && c == body_pos - 1) {
tmpx += fill_label_hfill +
font_metrics::width(layout->labelsep,
- getLabelFont(bv()->buffer(), &*rit_par));
+ getLabelFont(bv()->buffer(), rit_par));
if (rit_par->isLineSeparator(body_pos - 1))
tmpx -= singleWidth(rit_par, body_pos - 1);
}