// we can only output characters covered by the current
// encoding!
try {
- if (runparams.encoding->latexChar(c) == docstring(1, c))
+ if (runparams.encoding->encodable(c))
code += c;
else if (runparams.dryrun) {
code += "<" + _("LyX Warning: ")
docstring caption = getCaptionHTML(rp);
if (!caption.empty())
out << html::StartTag("div", "class='float-caption'")
+ << XHTMLStream::ESCAPE_NONE
<< caption << html::EndTag("div");
}
- out << html::StartTag("pre");
+ InsetLayout const & il = getLayout();
+ string const tag = il.htmltag();
+ string attr = "class ='listings";
+ string const lang = params().getParamValue("language");
+ if (!lang.empty())
+ attr += " " + lang;
+ attr += "'";
+ out << html::StartTag(tag, attr);
OutputParams newrp = rp;
newrp.html_disable_captions = true;
+ // We don't want to convert dashes here. That's the only conversion we
+ // do for XHTML, so this is safe.
+ newrp.pass_thru = true;
docstring def = InsetText::insetAsXHTML(out, newrp, InsetText::JustText);
- out << html::EndTag("pre");
+ out << html::EndTag(tag);
if (isInline) {
out << html::CompTag("br");
}
-docstring InsetListings::contextMenuName() const
+string InsetListings::contextMenuName() const
{
- return from_ascii("context-listings");
+ return "context-listings";
}
case LFUN_INSET_DIALOG_UPDATE:
status.setEnabled(true);
return true;
- case LFUN_CAPTION_INSERT:
- status.setEnabled(!params().isInline());
- return true;
+ case LFUN_CAPTION_INSERT: {
+ if (params().isInline()) {
+ status.setEnabled(false);
+ return true;
+ }
+ }
default:
return InsetCollapsable::getStatus(cur, cmd, status);
}
TexRow texrow;
odocstringstream ods;
otexstream os(ods, texrow);
- ins->getOptArg(os, runparams);
+ ins->getArgs(os, runparams);
ins->getArgument(os, runparams);
// the caption may contain \label{} but the listings
// package prefer caption={}, label={}