Make InsetCitation's params work like other classes.

This commit is contained in:
Richard Heck 2018-02-22 01:00:18 -05:00
parent 61fa57ad4c
commit 2afd21bd21
2 changed files with 8 additions and 12 deletions

View File

@ -42,9 +42,6 @@ using namespace lyx::support;
namespace lyx {
ParamInfo InsetCitation::param_info_;
InsetCitation::InsetCitation(Buffer * buf, InsetCommandParams const & p)
: InsetCommand(buf, p)
{
@ -64,6 +61,8 @@ InsetCitation::~InsetCitation()
ParamInfo const & InsetCitation::findInfo(string const & /* cmdName */)
{
static ParamInfo param_info_;
// standard cite does only take one argument, but biblatex, jurabib
// and natbib extend this to two arguments, so
// we have to allow both here. InsetCitation takes care that
@ -579,10 +578,11 @@ void InsetCitation::latex(otexstream & os, OutputParams const & runparams) const
if (qualified)
os << "s";
ParamInfo const & pinfo = findInfo(string());
docstring before = params().prepareCommand(runparams, getParam("before"),
param_info_["before"].handling());
pinfo["before"].handling());
docstring after = params().prepareCommand(runparams, getParam("after"),
param_info_["after"].handling());
pinfo["after"].handling());
if (!before.empty() && cs.textBefore) {
if (qualified)
os << '(' << protectArgument(before, '(', ')')
@ -606,9 +606,9 @@ void InsetCitation::latex(otexstream & os, OutputParams const & runparams) const
map<docstring, docstring> posts = getQualifiedLists(getParam("posttextlist"));
for (docstring const & k: keys) {
docstring bef = params().prepareCommand(runparams, pres[k],
param_info_["pretextlist"].handling());
pinfo["pretextlist"].handling());
docstring aft = params().prepareCommand(runparams, posts[k],
param_info_["posttextlist"].handling());
pinfo["posttextlist"].handling());
if (!bef.empty())
os << '[' << protectArgument(bef)
<< "][" << protectArgument(aft) << ']';

View File

@ -109,10 +109,6 @@ private:
docstring screenLabel() const;
//@}
/// we'll eventually want to be able to get info on this from the
/// various CiteEngines
static ParamInfo param_info_;
///
struct Cache {
Cache() : recalculate(true) {}