Prepend "Insert " in the context menu for environment separators.

(cherry picked from commit 8f86feb260)
This commit is contained in:
Juergen Spitzmueller 2018-01-01 13:40:49 +01:00
parent 6c5beb86fd
commit d60fa7f501
3 changed files with 45 additions and 13 deletions

View File

@ -343,7 +343,7 @@ Menuset
Item "Move Paragraph Up|o" "paragraph-move-up" Item "Move Paragraph Up|o" "paragraph-move-up"
Item "Move Paragraph Down|v" "paragraph-move-down" Item "Move Paragraph Down|v" "paragraph-move-down"
Separator Separator
EnvironmentSeparators EnvironmentSeparatorsContext
Separator Separator
OptItem "Promote Section|r" "outline-out" OptItem "Promote Section|r" "outline-out"
OptItem "Demote Section|m" "outline-in" OptItem "Demote Section|m" "outline-in"

View File

@ -392,7 +392,9 @@ Menuset
Item "Hyperlink...|k" "href-insert" Item "Hyperlink...|k" "href-insert"
Item "Footnote|F" "footnote-insert" Item "Footnote|F" "footnote-insert"
Item "Marginal Note|M" "marginalnote-insert" Item "Marginal Note|M" "marginalnote-insert"
Separator
EnvironmentSeparators EnvironmentSeparators
Separator
Arguments Arguments
Item "TeX Code" "ert-insert" Item "TeX Code" "ert-insert"
Item "Program Listing[[Menu]]" "listing-insert" Item "Program Listing[[Menu]]" "listing-insert"

View File

@ -193,6 +193,8 @@ public:
SwitchCaptions, SwitchCaptions,
/** Commands to separate environments. */ /** Commands to separate environments. */
EnvironmentSeparators, EnvironmentSeparators,
/** Commands to separate environments (context menu version). */
EnvironmentSeparatorsContext,
/** This is the list of quotation marks available */ /** This is the list of quotation marks available */
SwitchQuotes SwitchQuotes
}; };
@ -368,7 +370,7 @@ public:
void expandLanguageSelector(Buffer const * buf); void expandLanguageSelector(Buffer const * buf);
void expandArguments(BufferView const *, bool switcharg = false); void expandArguments(BufferView const *, bool switcharg = false);
void expandCaptions(Buffer const * buf, bool switchcap = false); void expandCaptions(Buffer const * buf, bool switchcap = false);
void expandEnvironmentSeparators(BufferView const *); void expandEnvironmentSeparators(BufferView const *, bool contextmenu = false);
void expandQuotes(BufferView const *); void expandQuotes(BufferView const *);
/// ///
ItemList items_; ItemList items_;
@ -484,6 +486,7 @@ void MenuDefinition::read(Lexer & lex)
md_captions, md_captions,
md_switchcaptions, md_switchcaptions,
md_env_separators, md_env_separators,
md_env_separatorscontext,
md_switchquotes md_switchquotes
}; };
@ -499,6 +502,7 @@ void MenuDefinition::read(Lexer & lex)
{ "elements", md_elements }, { "elements", md_elements },
{ "end", md_endmenu }, { "end", md_endmenu },
{ "environmentseparators", md_env_separators }, { "environmentseparators", md_env_separators },
{ "environmentseparatorscontext", md_env_separatorscontext },
{ "exportformat", md_exportformat }, { "exportformat", md_exportformat },
{ "exportformats", md_exportformats }, { "exportformats", md_exportformats },
{ "floatinsert", md_floatinsert }, { "floatinsert", md_floatinsert },
@ -672,6 +676,10 @@ void MenuDefinition::read(Lexer & lex)
add(MenuItem(MenuItem::EnvironmentSeparators)); add(MenuItem(MenuItem::EnvironmentSeparators));
break; break;
case md_env_separatorscontext:
add(MenuItem(MenuItem::EnvironmentSeparatorsContext));
break;
case md_switchquotes: case md_switchquotes:
add(MenuItem(MenuItem::SwitchQuotes)); add(MenuItem(MenuItem::SwitchQuotes));
break; break;
@ -1846,7 +1854,8 @@ void MenuDefinition::expandQuotes(BufferView const * bv)
} }
void MenuDefinition::expandEnvironmentSeparators(BufferView const * bv) void MenuDefinition::expandEnvironmentSeparators(BufferView const * bv,
bool contextmenu)
{ {
if (!bv) if (!bv)
return; return;
@ -1881,20 +1890,28 @@ void MenuDefinition::expandEnvironmentSeparators(BufferView const * bv)
break; break;
} }
if (par.layout().isEnvironment()) { if (par.layout().isEnvironment()) {
docstring label = bformat(_("Separated %1$s Above"), docstring label = contextmenu ?
bformat(_("Insert Separated %1$s Above"),
translateIfPossible(curlayout)) :
bformat(_("Separated %1$s Above"),
translateIfPossible(curlayout)); translateIfPossible(curlayout));
add(MenuItem(MenuItem::Command, toqstr(label), add(MenuItem(MenuItem::Command, toqstr(label),
FuncRequest(LFUN_ENVIRONMENT_SPLIT, FuncRequest(LFUN_ENVIRONMENT_SPLIT,
from_ascii("before")))); from_ascii("before"))));
if (!par.layout().keepempty || pos > 0 || !text->isFirstInSequence(pit)) { if (!par.layout().keepempty || pos > 0 || !text->isFirstInSequence(pit)) {
label = bformat(_("Separated %1$s Below"), label = contextmenu ?
bformat(_("Insert Separated %1$s Below"),
translateIfPossible(curlayout)):
bformat(_("Separated %1$s Below"),
translateIfPossible(curlayout)); translateIfPossible(curlayout));
add(MenuItem(MenuItem::Command, toqstr(label), add(MenuItem(MenuItem::Command, toqstr(label),
FuncRequest(LFUN_ENVIRONMENT_SPLIT))); FuncRequest(LFUN_ENVIRONMENT_SPLIT)));
} }
} }
else if (!prevlayout.empty()) { else if (!prevlayout.empty()) {
docstring const label = docstring const label = contextmenu ?
bformat(_("Insert Separated %1$s Below"),
translateIfPossible(prevlayout)) :
bformat(_("Separated %1$s Below"), bformat(_("Separated %1$s Below"),
translateIfPossible(prevlayout)); translateIfPossible(prevlayout));
add(MenuItem(MenuItem::Command, toqstr(label), add(MenuItem(MenuItem::Command, toqstr(label),
@ -1902,11 +1919,20 @@ void MenuDefinition::expandEnvironmentSeparators(BufferView const * bv)
from_ascii("previous")))); from_ascii("previous"))));
} }
if (!outerlayout.empty()) { if (!outerlayout.empty()) {
docstring const label = (outerlayout == curlayout) ? docstring label;
if (contextmenu) {
label = (outerlayout == curlayout) ?
bformat(_("Insert Separated Outer %1$s Below"),
translateIfPossible(outerlayout)) :
bformat(_("Insert Separated %1$s Below"),
translateIfPossible(outerlayout));
} else {
label = (outerlayout == curlayout) ?
bformat(_("Separated Outer %1$s Below"), bformat(_("Separated Outer %1$s Below"),
translateIfPossible(outerlayout)) : translateIfPossible(outerlayout)) :
bformat(_("Separated %1$s Below"), bformat(_("Separated %1$s Below"),
translateIfPossible(outerlayout)); translateIfPossible(outerlayout));
}
add(MenuItem(MenuItem::Command, toqstr(label), add(MenuItem(MenuItem::Command, toqstr(label),
FuncRequest(LFUN_ENVIRONMENT_SPLIT, FuncRequest(LFUN_ENVIRONMENT_SPLIT,
from_ascii("outer")))); from_ascii("outer"))));
@ -2312,6 +2338,10 @@ void Menus::Impl::expand(MenuDefinition const & frommenu,
tomenu.expandEnvironmentSeparators(bv); tomenu.expandEnvironmentSeparators(bv);
break; break;
case MenuItem::EnvironmentSeparatorsContext:
tomenu.expandEnvironmentSeparators(bv, true);
break;
case MenuItem::SwitchQuotes: case MenuItem::SwitchQuotes:
tomenu.expandQuotes(bv); tomenu.expandQuotes(bv);
break; break;