X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2Finsetexternal.C;h=910d3d071a55a3d2230672a217d987144652de64;hb=e28331ed63062dea10d0a21b9ec12034b4b17b9a;hp=51fd1a8916e199223b734cd4ed71db41060cd31a;hpb=8b67659646c6850377cb9f44a2a0a22c0e80840c;p=lyx.git diff --git a/src/insets/insetexternal.C b/src/insets/insetexternal.C index 51fd1a8916..910d3d071a 100644 --- a/src/insets/insetexternal.C +++ b/src/insets/insetexternal.C @@ -44,13 +44,6 @@ #include -namespace support = lyx::support; -namespace external = lyx::external; -namespace graphics = lyx::graphics; - -using lyx::docstring; -using lyx::odocstream; - using std::endl; using std::string; using std::auto_ptr; @@ -62,7 +55,7 @@ using std::vector; namespace { -external::DisplayType const defaultDisplayType = external::NoDisplay; +lyx::external::DisplayType const defaultDisplayType = lyx::external::NoDisplay; unsigned int const defaultLyxScale = 100; @@ -72,15 +65,16 @@ string defaultTemplateName = "RasterImage"; namespace lyx { + 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"); } @@ -133,7 +127,6 @@ Translator const & displayTranslator() } } // namespace external -} // namespace lyx InsetExternalParams::InsetExternalParams() @@ -297,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; @@ -439,7 +432,7 @@ void InsetExternal::doDispatch(LCursor & cur, FuncRequest & cmd) case LFUN_EXTERNAL_EDIT: { Buffer const & buffer = cur.buffer(); InsetExternalParams p; - InsetExternalMailer::string2params(lyx::to_utf8(cmd.argument()), buffer, p); + InsetExternalMailer::string2params(to_utf8(cmd.argument()), buffer, p); external::editExternal(p, buffer); break; } @@ -447,7 +440,7 @@ void InsetExternal::doDispatch(LCursor & cur, FuncRequest & cmd) case LFUN_INSET_MODIFY: { Buffer const & buffer = cur.buffer(); InsetExternalParams p; - InsetExternalMailer::string2params(lyx::to_utf8(cmd.argument()), buffer, p); + InsetExternalMailer::string2params(to_utf8(cmd.argument()), buffer, p); setParams(p, buffer); break; } @@ -489,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; } @@ -536,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; @@ -564,7 +559,7 @@ graphics::Params get_grfx_params(InsetExternalParams const & eparams) if (gparams.display == graphics::DefaultDisplay) gparams.display = lyxrc.display_graphics; // Override the above if we're not using a gui - if (!lyx::use_gui) + if (!use_gui) gparams.display = graphics::NoDisplay; return gparams; @@ -579,9 +574,9 @@ docstring const getScreenLabel(InsetExternalParams const & params, if (!ptr) // FIXME UNICODE return support::bformat((_("External template %1$s is not installed")), - lyx::from_utf8(params.templatename())); + from_utf8(params.templatename())); // FIXME UNICODE - return lyx::from_utf8(external::doSubstitution(params, buffer, + return from_utf8(external::doSubstitution(params, buffer, ptr->guiName, false)); } @@ -684,7 +679,7 @@ int InsetExternal::latex(Buffer const & buf, odocstream & os, if (params_.draft) { // FIXME UNICODE os << "\\fbox{\\ttfamily{}" - << lyx::from_utf8(params_.filename.outputFilename(buf.filePath())) + << from_utf8(params_.filename.outputFilename(buf.filePath())) << "}\n"; return 1; } @@ -706,17 +701,21 @@ int InsetExternal::latex(Buffer const & buf, odocstream & os, external::Template::Formats::const_iterator cit = et.formats.find("PDFLaTeX"); - if (cit != et.formats.end()) + + if (cit != et.formats.end()) { return external::writeExternal(params_, "PDFLaTeX", - buf, os, - *(runparams.exportdata), - external_in_tmpdir, - runparams.inComment); + buf, os, + *(runparams.exportdata), + external_in_tmpdir, + runparams.inComment); + } + } + return external::writeExternal(params_, "LaTeX", buf, os, - *(runparams.exportdata), - external_in_tmpdir, - runparams.inComment); + *(runparams.exportdata), + external_in_tmpdir, + runparams.inComment); } @@ -729,16 +728,12 @@ int InsetExternal::plaintext(Buffer const & buf, odocstream & os, } -int InsetExternal::docbook(Buffer const & buf, ostream & os, +int InsetExternal::docbook(Buffer const & buf, odocstream & os, OutputParams const & runparams) const { - lyx::odocstringstream oss; - int const retval = external::writeExternal(params_, "DocBook", buf, oss, + return external::writeExternal(params_, "DocBook", buf, os, *(runparams.exportdata), false, runparams.inComment); - // FIXME UNICODE - os << lyx::to_utf8(oss.str()); - return retval; } @@ -785,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); } } @@ -798,20 +793,17 @@ 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); } docstring const latex_string(InsetExternal const & inset, Buffer const & buffer) { - lyx::odocstringstream os; + odocstringstream os; OutputParams runparams; runparams.flavor = OutputParams::LATEX; inset.latex(buffer, os, runparams); - return os.str(); } @@ -824,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); @@ -841,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); } @@ -901,3 +893,5 @@ InsetExternalMailer::params2string(InsetExternalParams const & params, data << "\\end_inset\n"; return data.str(); } + +} // namespace lyx