X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2Finsetexternal.C;h=910d3d071a55a3d2230672a217d987144652de64;hb=e28331ed63062dea10d0a21b9ec12034b4b17b9a;hp=d93fab6063374adcb7a8d12f6aa7c77182a418a0;hpb=6c300f72a217722652dc27db9108e1050028979c;p=lyx.git diff --git a/src/insets/insetexternal.C b/src/insets/insetexternal.C index d93fab6063..910d3d071a 100644 --- a/src/insets/insetexternal.C +++ b/src/insets/insetexternal.C @@ -70,11 +70,11 @@ namespace external { 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"); } @@ -290,7 +290,7 @@ bool InsetExternalParams::read(Buffer const & buffer, LyXLex & lex) break; case EX_FILENAME: { - lex.next(); + lex.eatLine(); string const name = lex.getString(); filename.set(name, buffer.filePath()); break; @@ -482,10 +482,12 @@ void InsetExternal::edit(LCursor & cur, bool) } -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; } @@ -529,7 +531,7 @@ graphics::Params get_grfx_params(InsetExternalParams const & eparams) { 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; @@ -778,7 +780,7 @@ void InsetExternal::validate(LaTeXFeatures & features) const for (; it != end; ++it) { string const preamble = etm.getPreambleDefByName(*it); if (!preamble.empty()) - features.addExternalPreamble(preamble); + features.addPreambleSnippet(preamble); } } @@ -791,9 +793,8 @@ namespace { 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); } @@ -815,7 +816,7 @@ void add_preview_and_start_loading(RenderMonitoredPreview & renderer, 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); @@ -832,7 +833,7 @@ void InsetExternal::addPreview(graphics::PreviewLoader & ploader) const 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); }