X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetInclude.cpp;h=88153c6d2d35941ad375977036d292062b5f6756;hb=3d4076b598deb18660e50ec9c327efc3b15f15d0;hp=9a378b596640e3fadece10ab8eac626e9b651739;hpb=eb90ac098895bd0eeb5ad39c5a75425f2285c850;p=lyx.git diff --git a/src/insets/InsetInclude.cpp b/src/insets/InsetInclude.cpp index 9a378b5966..88153c6d2d 100644 --- a/src/insets/InsetInclude.cpp +++ b/src/insets/InsetInclude.cpp @@ -388,7 +388,8 @@ docstring InsetInclude::screenLabel() const temp = listings_label_; break; case NONE: - LASSERT(false, /**/); + LASSERT(false, temp = buffer().B_("Unknown")); + break; } temp += ": "; @@ -533,8 +534,27 @@ void InsetInclude::latex(otexstream & os, OutputParams const & runparams) const mangledFileName(); } + if (!runparams.nice) + incfile = mangled; + else if (!isValidLaTeXFileName(incfile)) { + frontend::Alert::warning(_("Invalid filename"), + _("The following filename will cause troubles " + "when running the exported file through LaTeX: ") + + from_utf8(incfile)); + } else if (!isValidDVIFileName(incfile)) { + frontend::Alert::warning(_("Problematic filename for DVI"), + _("The following filename can cause troubles " + "when running the exported file through LaTeX " + "and opening the resulting DVI: ") + + from_utf8(incfile), true); + } + FileName const writefile(makeAbsPath(mangled, masterBuffer->temppath())); + LYXERR(Debug::LATEX, "incfile:" << incfile); + LYXERR(Debug::LATEX, "exportfile:" << exportfile); + LYXERR(Debug::LATEX, "writefile:" << writefile); + string const tex_format = flavor2format(runparams.flavor); switch (type(params())) { @@ -599,25 +619,6 @@ void InsetInclude::latex(otexstream & os, OutputParams const & runparams) const // in a comment or doing a dryrun return; - if (!runparams.nice) - incfile = mangled; - else if (!isValidLaTeXFileName(incfile)) { - frontend::Alert::warning(_("Invalid filename"), - _("The following filename will cause troubles " - "when running the exported file through LaTeX: ") + - from_utf8(incfile)); - } - else if (!isValidDVIFileName(incfile)) { - frontend::Alert::warning(_("Problematic filename for DVI"), - _("The following filename can cause troubles " - "when running the exported file through LaTeX " - "and opening the resulting DVI: ") + - from_utf8(incfile), true); - } - LYXERR(Debug::LATEX, "incfile:" << incfile); - LYXERR(Debug::LATEX, "exportfile:" << exportfile); - LYXERR(Debug::LATEX, "writefile:" << writefile); - if (isInputOrInclude(params()) && isLyXFileName(included_file.absFileName())) { // if it's a LyX file and we're inputting or including, @@ -810,13 +811,22 @@ docstring InsetInclude::xhtml(XHTMLStream & xs, OutputParams const & rp) const } -int InsetInclude::plaintext(odocstream & os, OutputParams const & op) const +int InsetInclude::plaintext(odocstringstream & os, + OutputParams const & op, size_t) const { + // just write the filename if we're making a tooltip or toc entry, + // or are generating this for advanced search + if (op.for_tooltip || op.for_toc || op.for_search) { + os << '[' << screenLabel() << '\n' + << getParam("filename") << "\n]"; + return PLAINTEXT_NEWLINE + 1; // one char on a separate line + } + if (isVerbatim(params()) || isListings(params())) { - os << '[' << screenLabel() << '\n'; - // FIXME: We don't know the encoding of the file, default to UTF-8. - os << includedFileName(buffer(), params()).fileContents("UTF-8"); - os << "\n]"; + os << '[' << screenLabel() << '\n' + // FIXME: We don't know the encoding of the file, default to UTF-8. + << includedFileName(buffer(), params()).fileContents("UTF-8") + << "\n]"; return PLAINTEXT_NEWLINE + 1; // one char on a separate line } @@ -895,14 +905,13 @@ int InsetInclude::docbook(odocstream & os, OutputParams const & runparams) const void InsetInclude::validate(LaTeXFeatures & features) const { - string incfile = to_utf8(params()["filename"]); - string writefile; - - LASSERT(&buffer() == &features.buffer(), /**/); + LATTEST(&buffer() == &features.buffer()); + string incfile = to_utf8(params()["filename"]); string const included_file = includedFileName(buffer(), params()).absFileName(); + string writefile; if (isLyXFileName(included_file)) writefile = changeExtension(included_file, ".sgml"); else @@ -957,7 +966,7 @@ void InsetInclude::collectBibKeys(InsetIterator const & /*di*/) const void InsetInclude::metrics(MetricsInfo & mi, Dimension & dim) const { - LASSERT(mi.base.bv, /**/); + LBUFERR(mi.base.bv); bool use_preview = false; if (RenderPreview::status() != LyXRC::PREVIEW_OFF) { @@ -983,7 +992,7 @@ void InsetInclude::metrics(MetricsInfo & mi, Dimension & dim) const void InsetInclude::draw(PainterInfo & pi, int x, int y) const { - LASSERT(pi.base.bv, /**/); + LBUFERR(pi.base.bv); bool use_preview = false; if (RenderPreview::status() != LyXRC::PREVIEW_OFF) { @@ -1088,13 +1097,13 @@ void InsetInclude::addPreview(DocIterator const & /*inset_pos*/, } -void InsetInclude::addToToc(DocIterator const & cpit) const +void InsetInclude::addToToc(DocIterator const & cpit, bool output_active) const { TocBackend & backend = buffer().tocBackend(); if (isListings(params())) { if (label_) - label_->addToToc(cpit); + label_->addToToc(cpit, output_active); InsetListingsParams p(to_utf8(params()["lstparams"])); string caption = p.getParamValue("caption"); @@ -1104,7 +1113,7 @@ void InsetInclude::addToToc(DocIterator const & cpit) const docstring str = convert(toc.size() + 1) + ". " + from_utf8(caption); DocIterator pit = cpit; - toc.push_back(TocItem(pit, 0, str)); + toc.push_back(TocItem(pit, 0, str, output_active)); return; } Buffer const * const childbuffer = getChildBuffer(); @@ -1113,10 +1122,10 @@ void InsetInclude::addToToc(DocIterator const & cpit) const Toc & toc = backend.toc("child"); docstring str = childbuffer->fileName().displayName(); - toc.push_back(TocItem(cpit, 0, str)); + toc.push_back(TocItem(cpit, 0, str, output_active)); TocList & toclist = backend.tocs(); - childbuffer->tocBackend().update(); + childbuffer->tocBackend().update(output_active); TocList const & childtoclist = childbuffer->tocBackend().tocs(); TocList::const_iterator it = childtoclist.begin(); TocList::const_iterator const end = childtoclist.end();