Track the last chosen citation style when we clear the entries.
This commit is contained in:
Richard Kimberly Heck 2020-02-26 23:00:09 -05:00
parent ca40d1f92a
commit 64f7da961a
2 changed files with 8 additions and 1 deletions

View File

@ -386,6 +386,8 @@ void GuiCitation::updateStyles(BiblioInfo const & bi)
int curr = selectedLV->model()->rowCount() - 1; int curr = selectedLV->model()->rowCount() - 1;
if (curr < 0 || selected_keys.empty()) { if (curr < 0 || selected_keys.empty()) {
last_chosen_style_ =
citationStyleCO->itemData(citationStyleCO->currentIndex()).toString();
citationStyleCO->clear(); citationStyleCO->clear();
citationStyleCO->setEnabled(false); citationStyleCO->setEnabled(false);
citationStyleLA->setEnabled(false); citationStyleLA->setEnabled(false);
@ -408,7 +410,10 @@ void GuiCitation::updateStyles(BiblioInfo const & bi)
// save old style selection // save old style selection
QString const curdata = QString const curdata =
citationStyleCO->itemData(citationStyleCO->currentIndex()).toString(); 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(); citationStyleCO->clear();
BiblioInfo::CiteStringMap::const_iterator cit = sty.begin(); BiblioInfo::CiteStringMap::const_iterator cit = sty.begin();
BiblioInfo::CiteStringMap::const_iterator end = sty.end(); BiblioInfo::CiteStringMap::const_iterator end = sty.end();

View File

@ -182,6 +182,8 @@ private:
/// last used citation style /// last used citation style
QString style_; QString style_;
/// this is the last style chosen in the current dialog
QString last_chosen_style_;
/// ///
GuiSelectionManager * selectionManager; GuiSelectionManager * selectionManager;
/// available keys. /// available keys.