From d3ca12a5c280e83a826f4e939c616f6ae4db3c72 Mon Sep 17 00:00:00 2001 From: Juergen Spitzmueller Date: Wed, 3 Jan 2018 13:16:07 +0100 Subject: [PATCH] Disable useless environment-split function at the core. (cherry picked from commit f965d23633916387cd48d228380f4a3172e61c2f) --- src/Text3.cpp | 3 ++- src/frontends/qt4/Menus.cpp | 18 ++++++++---------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/Text3.cpp b/src/Text3.cpp index 9c4c7f9f7c..36ab593910 100644 --- a/src/Text3.cpp +++ b/src/Text3.cpp @@ -3232,7 +3232,8 @@ bool Text::getStatus(Cursor & cur, FuncRequest const & cmd, break; } else if (cur.paragraph().layout().isEnvironment()) { - enable = true; + enable = cmd.argument() == "before" + || cur.pos() > 0 || !isFirstInSequence(cur.pit()); break; } enable = false; diff --git a/src/frontends/qt4/Menus.cpp b/src/frontends/qt4/Menus.cpp index 108d978f21..d08517f00b 100644 --- a/src/frontends/qt4/Menus.cpp +++ b/src/frontends/qt4/Menus.cpp @@ -1865,7 +1865,6 @@ void MenuDefinition::expandEnvironmentSeparators(BufferView const * bv, return; pit_type pit = bv->cursor().selBegin().pit(); - pos_type pos = bv->cursor().selBegin().pos(); Paragraph const & par = text->getPar(pit); docstring const curlayout = par.layout().name(); docstring outerlayout; @@ -1898,18 +1897,17 @@ void MenuDefinition::expandEnvironmentSeparators(BufferView const * bv, add(MenuItem(MenuItem::Command, toqstr(label), FuncRequest(LFUN_ENVIRONMENT_SPLIT, from_ascii("before")))); - if (!par.layout().keepempty || pos > 0 || !text->isFirstInSequence(pit)) { - label = contextmenu ? - bformat(_("Insert Separated %1$s Below"), - translateIfPossible(curlayout)): - bformat(_("Separated %1$s Below"), - translateIfPossible(curlayout)); - // We use command-alternatives here since this is how the binding is defined - // (otherwise, the binding is not displayed in the menu) + label = contextmenu ? + bformat(_("Insert Separated %1$s Below"), + translateIfPossible(curlayout)): + bformat(_("Separated %1$s Below"), + translateIfPossible(curlayout)); + // We use command-alternatives here since this is how the binding is defined + // (otherwise, the binding is not displayed in the menu) + if (getStatus(FuncRequest(LFUN_ENVIRONMENT_SPLIT)).enabled()) add(MenuItem(MenuItem::Command, toqstr(label), FuncRequest(LFUN_COMMAND_ALTERNATIVES, from_ascii("environment-split ; environment-split previous")))); - } } else if (!prevlayout.empty()) { docstring const label = contextmenu ?