commit 2afd21bd212174ee0847fe34a481eae25e82a586 Author: Richard Heck <rgh...@lyx.org> Date: Thu Feb 22 01:00:18 2018 -0500
Make InsetCitation's params work like other classes. --- src/insets/InsetCitation.cpp | 16 ++++++++-------- src/insets/InsetCitation.h | 4 ---- 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/src/insets/InsetCitation.cpp b/src/insets/InsetCitation.cpp index 3d18456..e52e87a 100644 --- a/src/insets/InsetCitation.cpp +++ b/src/insets/InsetCitation.cpp @@ -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()); - docstring aft = params().prepareCommand(runparams, posts[k], - param_info_["posttextlist"].handling()); + pinfo["pretextlist"].handling()); + docstring aft = params().prepareCommand(runparams, posts[k], + pinfo["posttextlist"].handling()); if (!bef.empty()) os << '[' << protectArgument(bef) << "][" << protectArgument(aft) << ']'; diff --git a/src/insets/InsetCitation.h b/src/insets/InsetCitation.h index 3e5e3ba..2974ad4 100644 --- a/src/insets/InsetCitation.h +++ b/src/insets/InsetCitation.h @@ -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) {}