}
}
- // set the paragraphs to empty layout if necessary
+ // set the paragraphs to plain layout if necessary
if (cur.inset().usePlainLayout()) {
bool forcePlainLayout = cur.inset().forcePlainLayout();
- Layout const & emptyLayout = newDocClass->emptyLayout();
+ Layout const & plainLayout = newDocClass->plainLayout();
Layout const & defaultLayout = newDocClass->defaultLayout();
ParagraphList::iterator const end = insertion.end();
ParagraphList::iterator par = insertion.begin();
for (; par != end; ++par) {
Layout const & parLayout = par->layout();
if (forcePlainLayout || parLayout == defaultLayout)
- par->setLayout(emptyLayout);
+ par->setLayout(plainLayout);
}
- } else { // check if we need to reset from empty layout
+ } else { // check if we need to reset from plain layout
Layout const & defaultLayout = newDocClass->defaultLayout();
- Layout const & emptyLayout = newDocClass->emptyLayout();
+ Layout const & plainLayout = newDocClass->plainLayout();
ParagraphList::iterator const end = insertion.end();
ParagraphList::iterator par = insertion.begin();
for (; par != end; ++par) {
Layout const & parLayout = par->layout();
- if (parLayout == emptyLayout)
+ if (parLayout == plainLayout)
par->setLayout(defaultLayout);
}
}
// merge the first par of the insertion with the current par
mergeParagraph(buffer.params(), pars, pit);
}
+ //FIXME: We should call setBuffer() on each inserted paragraph.
+ // instead, we call setBuffer() for the main inset at the beginning
+ // of updateLabels()
pit_type last_paste = pit + insertion.size() - 1;
newtc.addLayoutIfNeeded(name);
if (in.usePlainLayout())
- it->setLayout(newtc.emptyLayout());
+ it->setLayout(newtc.plainLayout());
else
it->setLayout(newtc[name]);
}
}
-vector<docstring> availableSelections()
+vector<docstring> availableSelections(Buffer const * buf)
{
vector<docstring> selList;
+ if (!buf)
+ return selList;
CutStack::const_iterator cit = theCuts.begin();
CutStack::const_iterator end = theCuts.end();
ParagraphList::const_iterator pit = pars.begin();
ParagraphList::const_iterator pend = pars.end();
for (; pit != pend; ++pit) {
- asciiSel += pit->asString(AS_STR_INSETS);
+ Paragraph par(*pit, 0, 26);
+ // adapt paragraph to current buffer.
+ par.setBuffer(const_cast<Buffer &>(*buf));
+ asciiSel += par.asString(AS_STR_INSETS);
if (asciiSel.size() > 25) {
asciiSel.replace(22, docstring::npos,
from_ascii("..."));
ParagraphList pars;
Paragraph par;
BufferParams const & bp = cur.buffer().params();
- // FIXME This should be the empty layout...right?
- par.setLayout(bp.documentClass().emptyLayout());
+ // FIXME This should be the plain layout...right?
+ par.setLayout(bp.documentClass().plainLayout());
par.insert(0, grabSelection(cur), Font(), Change(Change::UNCHANGED));
pars.push_back(par);
cutstack.push(make_pair(pars, bp.documentClassPtr()));
ParagraphList pars;
Paragraph par;
BufferParams const & bp = cur.buffer().params();
- par.setLayout(bp.documentClass().emptyLayout());
+ par.setLayout(bp.documentClass().plainLayout());
par.insert(0, plaintext, Font(), Change(Change::UNCHANGED));
pars.push_back(par);
theCuts.push(make_pair(pars, bp.documentClassPtr()));