X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetInclude.cpp;h=870310ef2ddaa9c03f3186ee18d4fc39f29f3939;hb=eb294eadb5e7f22880da399ae082f74567bbfc4e;hp=be9e418d4043a3ce3f648e3dd21350ac51572e24;hpb=d1b9af3b1dede776f92910378f538f881a68d28e;p=lyx.git diff --git a/src/insets/InsetInclude.cpp b/src/insets/InsetInclude.cpp index be9e418d40..870310ef2d 100644 --- a/src/insets/InsetInclude.cpp +++ b/src/insets/InsetInclude.cpp @@ -4,7 +4,7 @@ * Licence details can be found in the file COPYING. * * \author Lars Gullik Bjønnes - * \author Richard Heck (conversion to InsetCommand) + * \author Richard Kimberly Heck (conversion to InsetCommand) * * Full author contact details are available in file CREDITS. */ @@ -20,7 +20,6 @@ #include "BufferView.h" #include "Converter.h" #include "Cursor.h" -#include "DispatchResult.h" #include "Encoding.h" #include "ErrorList.h" #include "Exporter.h" @@ -28,14 +27,11 @@ #include "FuncRequest.h" #include "FuncStatus.h" #include "LaTeXFeatures.h" -#include "LayoutFile.h" #include "LayoutModuleList.h" #include "LyX.h" -#include "Lexer.h" #include "MetricsInfo.h" #include "output_plaintext.h" #include "output_xhtml.h" -#include "OutputParams.h" #include "texstream.h" #include "TextClass.h" #include "TocBackend.h" @@ -61,7 +57,6 @@ #include "support/gettext.h" #include "support/lassert.h" #include "support/lstrings.h" // contains -#include "support/lyxalgo.h" #include "support/mutex.h" #include "support/ExceptionMessage.h" @@ -187,10 +182,10 @@ char_type replaceCommaInBraces(docstring & params) InsetInclude::InsetInclude(Buffer * buf, InsetCommandParams const & p) : InsetCommand(buf, p), include_label(uniqueID()), preview_(make_unique(this)), failedtoload_(false), - set_label_(false), label_(nullptr), child_buffer_(nullptr), file_exist_(false), + label_(nullptr), child_buffer_(nullptr), file_exist_(false), recursion_error_(false) { - preview_->connect([=](){ fileChanged(); }); + preview_->connect([this](){ fileChanged(); }); if (isListings(params())) { InsetListingsParams listing_params(to_utf8(p["lstparams"])); @@ -203,10 +198,10 @@ InsetInclude::InsetInclude(Buffer * buf, InsetCommandParams const & p) InsetInclude::InsetInclude(InsetInclude const & other) : InsetCommand(other), include_label(other.include_label), preview_(make_unique(this)), failedtoload_(false), - set_label_(false), label_(nullptr), child_buffer_(nullptr), + label_(nullptr), child_buffer_(nullptr), file_exist_(other.file_exist_),recursion_error_(other.recursion_error_) { - preview_->connect([=](){ fileChanged(); }); + preview_->connect([this](){ fileChanged(); }); if (other.label_) label_ = new InsetLabel(*other.label_); @@ -381,7 +376,6 @@ void InsetInclude::setParams(InsetCommandParams const & p) recursion_error_ = false; InsetCommand::setParams(p); - set_label_ = false; if (preview_->monitoring()) preview_->stopMonitoring(); @@ -405,7 +399,7 @@ bool InsetInclude::isChildIncluded() const docstring InsetInclude::screenLabel() const { - docstring pre = file_exist_ ? docstring() : _("FILE MISSING:"); + docstring pre = file_exist_ ? docstring() : _("MISSING:"); docstring temp; @@ -568,6 +562,16 @@ void InsetInclude::latex(otexstream & os, OutputParams const & runparams) const FileName const included_file = includedFileName(buffer(), params()); Buffer const * const masterBuffer = buffer().masterBuffer(); + if (runparams.inDeletedInset) { + // We cannot strike-out whole children, + // so we just output a note. + os << "\\textbf{" + << bformat(buffer().B_("[INCLUDED FILE %1$s DELETED!]"), + from_utf8(included_file.onlyFileName())) + << "}"; + return; + } + // if incfile is relative, make it relative to the master // buffer directory. if (!FileName::isAbsolute(incfile)) { @@ -614,9 +618,9 @@ void InsetInclude::latex(otexstream & os, OutputParams const & runparams) const FileName const writefile(makeAbsPath(mangled, runparams.for_preview ? buffer().temppath() : masterBuffer->temppath())); - LYXERR(Debug::LATEX, "incfile:" << incfile); - LYXERR(Debug::LATEX, "exportfile:" << exportfile); - LYXERR(Debug::LATEX, "writefile:" << writefile); + LYXERR(Debug::OUTFILE, "incfile:" << incfile); + LYXERR(Debug::OUTFILE, "exportfile:" << exportfile); + LYXERR(Debug::OUTFILE, "writefile:" << writefile); string const tex_format = flavor2format(runparams.flavor); @@ -779,7 +783,7 @@ void InsetInclude::latex(otexstream & os, OutputParams const & runparams) const if (checksum_in != checksum_out) { if (!included_file.copyTo(writefile)) { // FIXME UNICODE - LYXERR(Debug::LATEX, + LYXERR(Debug::OUTFILE, to_utf8(bformat(_("Could not copy the file\n%1$s\n" "into the temporary directory."), from_utf8(included_file.absFileName())))); @@ -1002,14 +1006,14 @@ int InsetInclude::plaintext(odocstringstream & os, { // 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) { + if (op.for_tooltip || op.for_toc || op.find_effective()) { os << '[' << screenLabel() << '\n' << ltrim(getParam("filename")) << "\n]"; return PLAINTEXT_NEWLINE + 1; // one char on a separate line } if (isVerbatim(params()) || isListings(params())) { - if (op.for_search) { + if (op.find_effective()) { os << '[' << screenLabel() << ']'; } else { @@ -1103,6 +1107,7 @@ void InsetInclude::docbook(XMLStream & xs, OutputParams const & rp) const op.par_begin = 0; op.par_end = 0; op.inInclude = true; + op.docbook_in_par = false; ibuf->writeDocBookSource(xs.os(), op, Buffer::IncludedFile); } else { xs << XMLStream::ESCAPE_NONE << "