From: Richard Heck Date: Thu, 22 Feb 2018 06:00:18 +0000 (-0500) Subject: Make InsetCitation's params work like other classes. X-Git-Tag: lyx-2.4.0dev-acb2ca7b~3815 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=2afd21bd212174ee0847fe34a481eae25e82a586;p=features.git Make InsetCitation's params work like other classes. --- diff --git a/src/insets/InsetCitation.cpp b/src/insets/InsetCitation.cpp index 3d18456f42..e52e87a6b7 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 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 3e5e3baa35..2974ad44ea 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) {}