lyx::dispatch(FuncRequest(LFUN_DEPTH_DECREMENT));
}
bool const morecont = cur.lastpos() > cur.pos();
- lyx::dispatch(FuncRequest(LFUN_LAYOUT, "Separator"));
+ // FIXME This hardcoding is bad
+ docstring const sep =
+ cur.buffer()->params().documentClass().hasLayout(from_ascii("Separator"))
+ ? from_ascii("Separator") : from_ascii("--Separator--");
+ lyx::dispatch(FuncRequest(LFUN_LAYOUT, sep));
lyx::dispatch(FuncRequest(LFUN_PARAGRAPH_BREAK, "inverse"));
if (morecont)
lyx::dispatch(FuncRequest(LFUN_DOWN));
bool const hebrew =
par.getFontSettings(bufparams, pos).language()->lang() == "hebrew";
bool const allow_inset_quote = !(par.isPassThru() || hebrew);
-
+
+ string const arg = to_utf8(cmd.argument());
if (allow_inset_quote) {
char_type c = ' ';
if (pos > 0 && (!cur.prevInset() || !cur.prevInset()->isSpace()))
c = par.getChar(pos - 1);
- string const arg = to_utf8(cmd.argument());
InsetQuotes::QuoteTimes const quote_type = (arg == "single")
? InsetQuotes::SingleQuotes : InsetQuotes::DoubleQuotes;
cur.insert(new InsetQuotes(cur.buffer(), c, quote_type));
} else {
// The cursor might have been invalidated by the replaceSelection.
cur.buffer()->changed(true);
- lyx::dispatch(FuncRequest(LFUN_SELF_INSERT, "\""));
- }
+ string const quote_string = (arg == "single") ? "'" : "\"";
+ lyx::dispatch(FuncRequest(LFUN_SELF_INSERT, quote_string));
+ }
break;
}
code = INDEX_CODE;
else if (cmd.argument() == "index_print")
code = INDEX_PRINT_CODE;
+ else if (cmd.argument() == "listings")
+ code = LISTINGS_CODE;
+ else if (cmd.argument() == "mathspace")
+ code = MATH_HULL_CODE;
else if (cmd.argument() == "nomenclature")
code = NOMENCL_CODE;
else if (cmd.argument() == "nomencl_print")
code = VSPACE_CODE;
else if (cmd.argument() == "wrap")
code = WRAP_CODE;
- else if (cmd.argument() == "listings")
- code = LISTINGS_CODE;
break;
case LFUN_ERT_INSERT:
case LFUN_NEWLINE_INSERT:
// LaTeX restrictions (labels or empty par)
- enable = (cur.pos() > cur.paragraph().beginOfBody());
+ enable = !cur.paragraph().isPassThru()
+ && cur.pos() > cur.paragraph().beginOfBody();
break;
case LFUN_TAB_INSERT:
break;
case LFUN_ENVIRONMENT_SPLIT: {
- if (!cur.buffer()->params().documentClass().hasLayout(from_ascii("Separator"))) {
+ // FIXME This hardcoding is bad
+ if (!cur.buffer()->params().documentClass().hasLayout(from_ascii("Separator"))
+ && !cur.buffer()->params().documentClass().hasLayout(from_ascii("--Separator--"))) {
enable = false;
break;
}