TempName::TempName()
{
- tempname_ = support::tempName(string(), "lyxext");
+ support::FileName const tempname(support::tempName(support::FileName(), "lyxext"));
// FIXME: This is unsafe
- support::unlink(tempname_);
+ support::unlink(tempname);
// must have an extension for the converter code to work correctly.
- tempname_ += ".tmp";
+ tempname_ = support::FileName(tempname.absFilename() + ".tmp");
}
break;
case EX_FILENAME: {
- lex.next();
+ lex.eatLine();
string const name = lex.getString();
filename.set(name, buffer.filePath());
break;
}
-void InsetExternal::metrics(MetricsInfo & mi, Dimension & dim) const
+bool InsetExternal::metrics(MetricsInfo & mi, Dimension & dim) const
{
renderer_->metrics(mi, dim);
+ bool const changed = dim_ != dim;
dim_ = dim;
+ return changed;
}
{
graphics::Params gparams;
- gparams.filename = eparams.filename.absFilename();
+ gparams.filename = eparams.filename;
gparams.scale = eparams.lyxscale;
if (eparams.clipdata.clip)
gparams.bb = eparams.clipdata.bbox;
int InsetExternal::latex(Buffer const & buf, odocstream & os,
- OutputParams const & runparams) const
+ OutputParams const & runparams) const
{
if (params_.draft) {
// FIXME UNICODE
// "nice" means that the buffer is exported to LaTeX format but not
// run through the LaTeX compiler.
// If we're running through the LaTeX compiler, we should write the
- // generated files in the bufer's temporary directory.
- bool const external_in_tmpdir = !runparams.nice && !runparams.dryrun;
+ // generated files in the buffer's temporary directory.
+ bool const external_in_tmpdir = !runparams.nice;
+ bool const dryrun = runparams.dryrun || runparams.inComment;
// If the template has specified a PDFLaTeX output, then we try and
// use that.
buf, os,
*(runparams.exportdata),
external_in_tmpdir,
- runparams.inComment);
+ dryrun);
}
-
}
-
+
return external::writeExternal(params_, "LaTeX", buf, os,
*(runparams.exportdata),
external_in_tmpdir,
- runparams.inComment);
+ dryrun);
}
int InsetExternal::plaintext(Buffer const & buf, odocstream & os,
- OutputParams const & runparams) const
+ OutputParams const & runparams) const
{
- return external::writeExternal(params_, "Ascii", buf, os,
- *(runparams.exportdata), false,
- runparams.inComment);
+ os << '\n'; // output external material on a new line
+ external::writeExternal(params_, "Ascii", buf, os,
+ *(runparams.exportdata), false,
+ runparams.dryrun || runparams.inComment);
+ return PLAINTEXT_NEWLINE;
}
int InsetExternal::docbook(Buffer const & buf, odocstream & os,
- OutputParams const & runparams) const
+ OutputParams const & runparams) const
{
return external::writeExternal(params_, "DocBook", buf, os,
*(runparams.exportdata), false,
- runparams.inComment);
+ runparams.dryrun || runparams.inComment);
}
for (; it != end; ++it) {
string const preamble = etm.getPreambleDefByName(*it);
if (!preamble.empty())
- features.addExternalPreamble(preamble);
+ features.addPreambleSnippet(preamble);
}
}
bool preview_wanted(InsetExternalParams const & params)
{
- string const included_file = params.filename.absFilename();
return params.display == external::PreviewDisplay &&
- support::isFileReadable(included_file);
+ support::isFileReadable(params.filename);
}
docstring const latex_string(InsetExternal const & inset, Buffer const & buffer)
{
odocstringstream os;
- OutputParams runparams;
+ // We don't need to set runparams.encoding since it is not used by
+ // latex().
+ OutputParams runparams(0);
runparams.flavor = OutputParams::LATEX;
inset.latex(buffer, os, runparams);
return os.str();
if (RenderPreview::status() != LyXRC::PREVIEW_OFF &&
preview_wanted(params)) {
- renderer.setAbsFile(params.filename.absFilename());
+ renderer.setAbsFile(params.filename);
docstring const snippet = latex_string(inset, buffer);
renderer.addPreview(snippet, buffer);
renderer.startLoading(buffer);
return;
if (preview_wanted(params())) {
- ptr->setAbsFile(params_.filename.absFilename());
+ ptr->setAbsFile(params_.filename);
docstring const snippet = latex_string(*this, ploader.buffer());
ptr->addPreview(snippet, ploader);
}