mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-26 03:11:59 +00:00
Fix bug 11070.
Allows plural, caps, no prefix to be set via context menu.
This commit is contained in:
parent
72e3f74234
commit
35afcfb6dd
@ -96,6 +96,10 @@ Menuset
|
|||||||
Item "Textual Reference|x" "inset-modify changetype nameref"
|
Item "Textual Reference|x" "inset-modify changetype nameref"
|
||||||
Item "Label Only|L" "inset-modify changetype labelonly"
|
Item "Label Only|L" "inset-modify changetype labelonly"
|
||||||
Separator
|
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"
|
Item "Settings...|S" "inset-settings"
|
||||||
End
|
End
|
||||||
|
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
#include "BufferParams.h"
|
#include "BufferParams.h"
|
||||||
#include "Cursor.h"
|
#include "Cursor.h"
|
||||||
#include "DispatchResult.h"
|
#include "DispatchResult.h"
|
||||||
|
#include "FuncStatus.h"
|
||||||
#include "InsetLabel.h"
|
#include "InsetLabel.h"
|
||||||
#include "Language.h"
|
#include "Language.h"
|
||||||
#include "LaTeXFeatures.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 {
|
namespace {
|
||||||
|
|
||||||
void capitalize(docstring & s) {
|
void capitalize(docstring & s) {
|
||||||
|
@ -40,6 +40,10 @@ public:
|
|||||||
/// \name Public functions inherited from Inset class
|
/// \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; }
|
bool isLabeled() const { return true; }
|
||||||
///
|
///
|
||||||
docstring toolTip(BufferView const &, int, int) const
|
docstring toolTip(BufferView const &, int, int) const
|
||||||
|
Loading…
Reference in New Issue
Block a user