#include "CutAndPaste.h"
+#include "Author.h"
#include "BranchList.h"
#include "Buffer.h"
-#include "buffer_funcs.h"
#include "BufferList.h"
#include "BufferParams.h"
#include "BufferView.h"
#include "FuncCode.h"
#include "FuncRequest.h"
#include "InsetIterator.h"
-#include "InsetList.h"
#include "Language.h"
#include "LyX.h"
#include "LyXRC.h"
#include "insets/InsetBranch.h"
#include "insets/InsetCitation.h"
#include "insets/InsetCommand.h"
-#include "insets/InsetFlex.h"
#include "insets/InsetGraphics.h"
#include "insets/InsetGraphicsParams.h"
#include "insets/InsetInclude.h"
#include "support/lassert.h"
#include "support/limited_stack.h"
#include "support/lstrings.h"
-#include "support/lyxalgo.h"
#include "support/TempFile.h"
#include "support/unique_ptr.h"
#include "frontends/alert.h"
#include "frontends/Clipboard.h"
-#include "frontends/Selection.h"
#include <string>
#include <tuple>
// set the paragraphs to plain layout if necessary
DocumentClassConstPtr newDocClass = buffer.params().documentClassPtr();
+ Layout const & plainLayout = newDocClass->plainLayout();
+ Layout const & defaultLayout = newDocClass->defaultLayout();
if (cur.inset().usePlainLayout()) {
bool forcePlainLayout = target_inset->forcePlainLayout();
- Layout const & plainLayout = newDocClass->plainLayout();
- Layout const & defaultLayout = newDocClass->defaultLayout();
for (auto & par : insertion) {
Layout const & parLayout = par.layout();
if (forcePlainLayout || parLayout == defaultLayout)
}
} else {
// check if we need to reset from plain layout
- Layout const & defaultLayout = newDocClass->defaultLayout();
- Layout const & plainLayout = newDocClass->plainLayout();
for (auto & par : insertion) {
Layout const & parLayout = par.layout();
if (parLayout == plainLayout)
namespace cap {
void region(CursorSlice const & i1, CursorSlice const & i2,
- Inset::row_type & r1, Inset::row_type & r2,
- Inset::col_type & c1, Inset::col_type & c2)
+ row_type & r1, row_type & r2,
+ col_type & c1, col_type & c2)
{
Inset const & p = i1.inset();
c1 = p.col(i1.idx());
void copySelection(Cursor const & cur, docstring const & plaintext)
{
// In tablemode, because copy and paste actually use a special table stack,
- // we need to go through the cells and collect the paragraphs.
+ // we need to go through the cells and collect the paragraphs.
// In math matrices, we generate a plain text version.
if (cur.selBegin().idx() != cur.selEnd().idx()) {
ParagraphList pars;
cur.pos() = cur.lastpos();
} else if (p->nrows() > 0 && p->ncols() > 0) {
// This is a grid, delete a nice square region
- Inset::row_type r1, r2;
- Inset::col_type c1, c2;
+ row_type r1, r2;
+ col_type c1, c2;
region(i1, i2, r1, r2, c1, c2);
- for (Inset::row_type row = r1; row <= r2; ++row)
- for (Inset::col_type col = c1; col <= c2; ++col)
+ for (row_type row = r1; row <= r2; ++row)
+ for (col_type col = c1; col <= c2; ++col)
p->cell(p->index(row, col)).clear();
// We've deleted the whole cell. Only pos 0 is valid.
cur.pos() = 0;
} else {
- Inset::idx_type idx1 = i1.idx();
- Inset::idx_type idx2 = i2.idx();
+ idx_type idx1 = i1.idx();
+ idx_type idx2 = i2.idx();
if (idx1 > idx2)
swap(idx1, idx2);
- for (Inset::idx_type idx = idx1 ; idx <= idx2; ++idx)
+ for (idx_type idx = idx1 ; idx <= idx2; ++idx)
p->cell(idx).clear();
// We've deleted the whole cell. Only pos 0 is valid.
cur.pos() = 0;
}
}
- Inset::row_type r1, r2;
- Inset::col_type c1, c2;
+ row_type r1, r2;
+ col_type c1, c2;
region(i1, i2, r1, r2, c1, c2);
docstring data;
if (i1.inset().asInsetMath()) {
- for (Inset::row_type row = r1; row <= r2; ++row) {
+ for (row_type row = r1; row <= r2; ++row) {
if (row > r1)
data += "\\\\";
- for (Inset::col_type col = c1; col <= c2; ++col) {
+ for (col_type col = c1; col <= c2; ++col) {
if (col > c1)
data += '&';
data += asString(i1.asInsetMath()->