commit 6933051747f7ce62e60d5e6b73172cc207c646bf Author: Juergen Spitzmueller <sp...@lyx.org> Date: Sat Jan 7 17:21:41 2017 +0100
Implement display of forceUpperCase --- src/BiblioInfo.cpp | 2 ++ src/frontends/qt4/GuiCitation.cpp | 3 ++- src/frontends/qt4/Menus.cpp | 1 + src/insets/InsetCitation.cpp | 5 +++-- 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/BiblioInfo.cpp b/src/BiblioInfo.cpp index c5d06ea..8a17925 100644 --- a/src/BiblioInfo.cpp +++ b/src/BiblioInfo.cpp @@ -744,6 +744,8 @@ docstring BibTeXInfo::getValueForKey(string const & oldkey, Buffer const & buf, + " [" + operator[]("year") + "]"; else ret = operator[]("title"); + if (ci.forceUpperCase && isLowerCase(ret[0])) + ret[0] = uppercase(ret[0]); } else if (key == "bibentry") { // Special key to provide the full bibliography entry: see getInfo() CiteEngineType const engine_type = buf.params().citeEngineType(); diff --git a/src/frontends/qt4/GuiCitation.cpp b/src/frontends/qt4/GuiCitation.cpp index 5ee05d5..9e5bfab 100644 --- a/src/frontends/qt4/GuiCitation.cpp +++ b/src/frontends/qt4/GuiCitation.cpp @@ -127,7 +127,7 @@ GuiCitation::GuiCitation(GuiView & lv) connect(starredCB, SIGNAL(clicked()), this, SLOT(changed())); connect(forceuppercaseCB, SIGNAL(clicked()), - this, SLOT(changed())); + this, SLOT(updateStyles())); connect(textBeforeED, SIGNAL(textChanged(QString)), this, SLOT(updateStyles())); connect(textAfterED, SIGNAL(textChanged(QString)), @@ -685,6 +685,7 @@ QStringList GuiCitation::citationStyles(BiblioInfo const & bi, size_t max_size) CiteItem ci; ci.textBefore = qstring_to_ucs4(textBeforeED->text()); ci.textAfter = qstring_to_ucs4(textAfterED->text()); + ci.forceUpperCase = forceuppercaseCB->isChecked(); ci.context = CiteItem::Dialog; ci.max_size = max_size; vector<docstring> ret = bi.getCiteStrings(keys, styles, documentBuffer(), ci); diff --git a/src/frontends/qt4/Menus.cpp b/src/frontends/qt4/Menus.cpp index cdd70fb..78b596f 100644 --- a/src/frontends/qt4/Menus.cpp +++ b/src/frontends/qt4/Menus.cpp @@ -1553,6 +1553,7 @@ void MenuDefinition::expandCiteStyles(BufferView const * bv) CiteItem ci; ci.textBefore = citinset->getParam("before"); ci.textAfter = citinset->getParam("after"); + ci.forceUpperCase = force; ci.context = CiteItem::Dialog; ci.max_size = 40; vector<docstring> citeStrings = diff --git a/src/insets/InsetCitation.cpp b/src/insets/InsetCitation.cpp index c92b665..a6cb6af 100644 --- a/src/insets/InsetCitation.cpp +++ b/src/insets/InsetCitation.cpp @@ -256,8 +256,8 @@ docstring InsetCitation::complexLabel(bool for_xhtml) const // We don't currently use the full or forceUCase fields. string cite_type = getCmdName(); - if (isUpperCase(cite_type[0])) - // If we were going to use them, this would mean ForceUCase + bool const uppercase = isUpperCase(cite_type[0]); + if (uppercase) cite_type[0] = lowercase(cite_type[0]); if (cite_type[cite_type.size() - 1] == '*') // and this would mean FULL @@ -278,6 +278,7 @@ docstring InsetCitation::complexLabel(bool for_xhtml) const CiteItem ci; ci.textBefore = getParam("before"); ci.textAfter = getParam("after"); + ci.forceUpperCase = uppercase; ci.max_size = UINT_MAX; if (for_xhtml) { ci.max_key_size = UINT_MAX;