commit 7c0cbe68bc11bbe00deaa0346d96948a9827f35d
Author: Richard Kimberly Heck <[email protected]>
Date:   Wed Feb 26 23:00:09 2020 -0500

    Fix bug #11748.
    
    Track the last chosen citation style when we clear the entries.
    
    (cherry picked from commit 64f7da961a853f4ea60716129f0f22f39e451aa7)
---
 src/frontends/qt4/GuiCitation.cpp |    7 ++++++-
 src/frontends/qt4/GuiCitation.h   |    2 ++
 status.23x                        |    2 ++
 3 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/src/frontends/qt4/GuiCitation.cpp 
b/src/frontends/qt4/GuiCitation.cpp
index 638ec7d..0a9dbbf 100644
--- a/src/frontends/qt4/GuiCitation.cpp
+++ b/src/frontends/qt4/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/qt4/GuiCitation.h b/src/frontends/qt4/GuiCitation.h
index 4d85c03..08a7c4c 100644
--- a/src/frontends/qt4/GuiCitation.h
+++ b/src/frontends/qt4/GuiCitation.h
@@ -183,6 +183,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.
diff --git a/status.23x b/status.23x
index 3fbb135..cf3a793 100644
--- a/status.23x
+++ b/status.23x
@@ -27,6 +27,8 @@ What's new
 
 * USER INTERFACE
 
+- Keep citation style when all selected citations are deleted (bug 11748).
+
 
 * DOCUMENTATION AND LOCALIZATION
 
-- 
lyx-cvs mailing list
[email protected]
http://lists.lyx.org/mailman/listinfo/lyx-cvs

Reply via email to