From 64f7da961a853f4ea60716129f0f22f39e451aa7 Mon Sep 17 00:00:00 2001 From: Richard Kimberly Heck Date: Wed, 26 Feb 2020 23:00:09 -0500 Subject: [PATCH] Fix bug #11748. Track the last chosen citation style when we clear the entries. --- src/frontends/qt/GuiCitation.cpp | 7 ++++++- src/frontends/qt/GuiCitation.h | 2 ++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/frontends/qt/GuiCitation.cpp b/src/frontends/qt/GuiCitation.cpp index c14d34e8c1..7a554e7764 100644 --- a/src/frontends/qt/GuiCitation.cpp +++ b/src/frontends/qt/GuiCitation.cpp @@ -386,6 +386,8 @@ void GuiCitation::updateStyles(BiblioInfo const & bi) int curr = selectedLV->model()->rowCount() - 1; if (curr < 0 || selected_keys.empty()) { + last_chosen_style_ = + citationStyleCO->itemData(citationStyleCO->currentIndex()).toString(); citationStyleCO->clear(); citationStyleCO->setEnabled(false); citationStyleLA->setEnabled(false); @@ -408,7 +410,10 @@ void GuiCitation::updateStyles(BiblioInfo const & bi) // save old style selection QString const curdata = citationStyleCO->itemData(citationStyleCO->currentIndex()).toString(); - QString const olddata = (curdata.isEmpty()) ? style_ : curdata; + QString const olddata = (curdata.isEmpty()) ? + (last_chosen_style_.isEmpty() ? style_ : last_chosen_style_): curdata; + // reset this + last_chosen_style_.clear(); citationStyleCO->clear(); BiblioInfo::CiteStringMap::const_iterator cit = sty.begin(); BiblioInfo::CiteStringMap::const_iterator end = sty.end(); diff --git a/src/frontends/qt/GuiCitation.h b/src/frontends/qt/GuiCitation.h index d3a23b587c..29b7b9b485 100644 --- a/src/frontends/qt/GuiCitation.h +++ b/src/frontends/qt/GuiCitation.h @@ -182,6 +182,8 @@ private: /// last used citation style QString style_; + /// this is the last style chosen in the current dialog + QString last_chosen_style_; /// GuiSelectionManager * selectionManager; /// available keys. -- 2.39.2