]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetInclude.cpp
Natbib authoryear uses (Ref1; Ref2) by default.
[lyx.git] / src / insets / InsetInclude.cpp
index 9a378b596640e3fadece10ab8eac626e9b651739..88153c6d2d35941ad375977036d292062b5f6756 100644 (file)
@@ -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<docstring>(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();