EmbeddedFile file(to_utf8(params["filename"]),
onlyPath(parentFilename(buffer)));
file.setEmbed(!params["embed"].empty());
- file.setInzipName(toutf8(params["embed"]));
+ file.setInzipName(to_utf8(params["embed"]));
file.enable(buffer.embedded(), &buffer, false);
return file;
}
void InsetInclude::setBuffer(Buffer & buffer)
{
+ if (buffer_) {
+ try {
+ EmbeddedFile file_from = includedFilename(*buffer_, params());
+ EmbeddedFile file_to = file_from.copyTo(&buffer);
+ if (file_to.embedded())
+ setParam("embed", from_utf8(file_to.inzipName()));
+ } catch (ExceptionMessage const & message) {
+ Alert::error(message.title_, message.details_);
+ // failed to embed
+ setParam("embed", docstring());
+ }
+
+ }
buffer_ = &buffer;
if (label_)
label_->setBuffer(buffer);
InsetCommandParams p(INCLUDE_CODE);
InsetCommandMailer::string2params("include", to_utf8(cmd.argument()), p);
if (!p.getCmdName().empty()) {
- Buffer const & buf = cur.buffer();
if (isListings(p)){
InsetListingsParams new_params(to_utf8(p["lstparams"]));
docstring const label_str = from_utf8(new_params.getParamValue("label"));
label_->initView();
}
}
- try {
- // the embed parameter passed back from the dialog
- // is "true" or "false", we need to change it.
- if (p["embed"] == _("false"))
- p["embed"].clear();
- else
- p["embed"] = from_utf8(EmbeddedFile(to_utf8(p["filename"]),
- onlyPath(parentFilename(buf))).inzipName());
- // test parameter
- includedFilename(cur.buffer(), p);
- } catch (ExceptionMessage const & message) {
- Alert::error(message.title_, message.details_);
- // do not set parameter if an error happens
- break;
- }
setParams(p);
buffer().updateBibfilesCache();
} else
string const module = *it;
vector<string>::const_iterator found =
find(masterModules.begin(), masterModules.end(), module);
- if (found != masterModules.end()) {
+ if (found == masterModules.end()) {
docstring text = bformat(_("Included file `%1$s'\n"
"uses module `%2$s'\n"
"which is not used in parent file."),