mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-25 10:58:52 +00:00
Fix bug 11070.
Allows plural, caps, no prefix to be set via context menu.
(cherry picked from commit 35afcfb6dd
)
This commit is contained in:
parent
a067267648
commit
a05da2121c
@ -96,6 +96,10 @@ Menuset
|
||||
Item "Textual Reference|x" "inset-modify changetype nameref"
|
||||
Item "Label Only|L" "inset-modify changetype labelonly"
|
||||
Separator
|
||||
OptItem "Plural|a" "inset-modify ref toggle-plural"
|
||||
OptItem "Capitalize|C" "inset-modify ref toggle-caps"
|
||||
Item "No Prefix" "inset-modify ref toggle-noprefix"
|
||||
Separator
|
||||
Item "Settings...|S" "inset-settings"
|
||||
End
|
||||
|
||||
|
@ -15,6 +15,7 @@
|
||||
#include "BufferParams.h"
|
||||
#include "Cursor.h"
|
||||
#include "DispatchResult.h"
|
||||
#include "FuncStatus.h"
|
||||
#include "InsetLabel.h"
|
||||
#include "Language.h"
|
||||
#include "LaTeXFeatures.h"
|
||||
@ -78,6 +79,60 @@ ParamInfo const & InsetRef::findInfo(string const & /* cmdName */)
|
||||
}
|
||||
|
||||
|
||||
void InsetRef::doDispatch(Cursor & cur, FuncRequest & cmd)
|
||||
{
|
||||
string const inset = cmd.getArg(0);
|
||||
string const arg = cmd.getArg(1);
|
||||
string pstring;
|
||||
if (cmd.action() == LFUN_INSET_MODIFY && inset == "ref") {
|
||||
if (arg == "toggle-plural")
|
||||
pstring = "plural";
|
||||
else if (arg == "toggle-caps")
|
||||
pstring = "caps";
|
||||
else if (arg == "toggle-noprefix")
|
||||
pstring = "noprefix";
|
||||
}
|
||||
// otherwise not for us
|
||||
if (pstring.empty())
|
||||
return InsetCommand::doDispatch(cur, cmd);
|
||||
|
||||
bool const isSet = (getParam(pstring) == "true");
|
||||
setParam(pstring, from_ascii(isSet ? "false" : "true"));
|
||||
}
|
||||
|
||||
|
||||
bool InsetRef::getStatus(Cursor & cur, FuncRequest const & cmd,
|
||||
FuncStatus & status) const
|
||||
{
|
||||
if (cmd.action() != LFUN_INSET_MODIFY)
|
||||
return InsetCommand::getStatus(cur, cmd, status);
|
||||
if (cmd.getArg(0) != "ref")
|
||||
return InsetCommand::getStatus(cur, cmd, status);
|
||||
|
||||
string const arg = cmd.getArg(1);
|
||||
string pstring;
|
||||
if (arg == "toggle-plural")
|
||||
pstring = "plural";
|
||||
else if (arg == "toggle-caps")
|
||||
pstring = "caps";
|
||||
if (!pstring.empty()) {
|
||||
status.setEnabled(buffer().params().use_refstyle &&
|
||||
params().getCmdName() == "formatted");
|
||||
bool const isSet = (getParam(pstring) == "true");
|
||||
status.setOnOff(isSet);
|
||||
return true;
|
||||
}
|
||||
if (arg == "toggle-noprefix") {
|
||||
status.setEnabled(params().getCmdName() == "labelonly");
|
||||
bool const isSet = (getParam("noprefix") == "true");
|
||||
status.setOnOff(isSet);
|
||||
return true;
|
||||
}
|
||||
// otherwise not for us
|
||||
return InsetCommand::getStatus(cur, cmd, status);
|
||||
}
|
||||
|
||||
|
||||
namespace {
|
||||
|
||||
void capitalize(docstring & s) {
|
||||
|
@ -40,6 +40,10 @@ public:
|
||||
/// \name Public functions inherited from Inset class
|
||||
//@{
|
||||
///
|
||||
void doDispatch(Cursor & cur, FuncRequest & cmd);
|
||||
///
|
||||
bool getStatus(Cursor & cur, FuncRequest const & cmd, FuncStatus & status) const;
|
||||
///
|
||||
bool isLabeled() const { return true; }
|
||||
///
|
||||
docstring toolTip(BufferView const &, int, int) const
|
||||
|
@ -148,6 +148,9 @@ What's new
|
||||
|
||||
- Avoid white space before math completion (bug 11283).
|
||||
|
||||
- View and change Plural, Capitalization, and No Prefix options for
|
||||
cross-references from the context menu (bug 11070).
|
||||
|
||||
|
||||
* INTERNALS
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user