]> git.lyx.org Git - features.git/commitdiff
Respect "literal" setting when entering citation via LyX server.
authorRichard Heck <rgheck@lyx.org>
Thu, 22 Feb 2018 20:24:28 +0000 (15:24 -0500)
committerRichard Heck <rgheck@lyx.org>
Thu, 22 Feb 2018 20:28:01 +0000 (15:28 -0500)
This requires moving the bool that tracks this somewhere that it
is visible from BufferView. It seemed to make sense to put it as
a static member of InsetCitation.

src/BufferView.cpp
src/frontends/qt4/GuiCitation.cpp
src/frontends/qt4/GuiCitation.h
src/insets/InsetCitation.cpp
src/insets/InsetCitation.h

index 7d7dc7fee539db9c1f783824daa2b93837feee02..f421d91544c10d0dfecf0e5b89358b41d7764ef3 100644 (file)
@@ -2049,6 +2049,8 @@ void BufferView::dispatch(FuncRequest const & cmd, DispatchResult & dr)
                icp["key"] = from_utf8(arg);
                if (!opt1.empty())
                        icp["before"] = from_utf8(opt1);
+               icp["literal"] = 
+                       from_ascii(InsetCitation::last_literal ? "true" : "false");
                string icstr = InsetCommand::params2string(icp);
                FuncRequest fr(LFUN_INSET_INSERT, icstr);
                lyx::dispatch(fr);
index 74282210c1b7feeed4d9aaaf75ae6dffe184954a..d7d225b5f219f283e9023a60411e40e59120e58c 100644 (file)
@@ -27,6 +27,7 @@
 #include "TextClass.h"
 #include "FuncRequest.h"
 
+#include "insets/InsetCitation.h"
 #include "insets/InsetCommand.h"
 
 #include "support/debug.h"
@@ -92,7 +93,7 @@ static vector<lyx::docstring> to_docstring_vector(QStringList const & qlist)
 
 GuiCitation::GuiCitation(GuiView & lv)
        : DialogView(lv, "citation", qt_("Citation")),
-         style_(QString()), literal_(false), params_(insetCode("citation"))
+         style_(QString()), params_(insetCode("citation"))
 {
        setupUi(this);
 
@@ -237,7 +238,7 @@ void GuiCitation::on_restorePB_clicked()
 
 void GuiCitation::on_literalCB_clicked()
 {
-       literal_ = literalCB->isChecked();
+       InsetCitation::last_literal = literalCB->isChecked();
        changed();
 }
 
@@ -768,7 +769,7 @@ void GuiCitation::init()
        // if this is a new citation, we set the literal checkbox
        // to its last set value.
        if (cited_keys_.isEmpty())
-               literalCB->setChecked(literal_);
+               literalCB->setChecked(InsetCitation::last_literal);
        else
                literalCB->setChecked(params_["literal"] == "true");
 
@@ -1061,7 +1062,7 @@ void GuiCitation::saveSession(QSettings & settings) const
        settings.setValue(
                sessionKey() + "/citestyle", style_);
        settings.setValue(
-               sessionKey() + "/literal", literal_);
+               sessionKey() + "/literal", InsetCitation::last_literal);
 }
 
 
@@ -1073,7 +1074,8 @@ void GuiCitation::restoreSession()
        casesense_->setChecked(settings.value(sessionKey() + "/casesensitive").toBool());
        instant_->setChecked(settings.value(sessionKey() + "/autofind", true).toBool());
        style_ = settings.value(sessionKey() + "/citestyle").toString();
-       literal_ = settings.value(sessionKey() + "/literal", false).toBool();
+       InsetCitation::last_literal = 
+               settings.value(sessionKey() + "/literal", false).toBool();
        updateFilterHint();
 }
 
index 008d2d556d5ba2bda38ce6485a9616e46f8b2213..4d85c0315ae242de88656a046503284b9112318b 100644 (file)
@@ -183,9 +183,6 @@ private:
 
        /// last used citation style
        QString style_;
-       /// last set value for literal
-       /// this is used only for new citations
-       bool literal_;
        ///
        GuiSelectionManager * selectionManager;
        /// available keys.
index e52e87a6b79e4c467940873ff158b04460246af2..e1f40eaebf04f7c14cfd377199f837e21bf0abea 100644 (file)
@@ -59,6 +59,12 @@ InsetCitation::~InsetCitation()
 }
 
 
+// May well be over-ridden when session settings are loaded
+// in GuiCitation. Unfortunately, that will not happen until
+// such a dialog is created.
+bool InsetCitation::last_literal = true;
+
+
 ParamInfo const & InsetCitation::findInfo(string const & /* cmdName */)
 {
        static ParamInfo param_info_;
index 2974ad44ead399a29cab75458f93ef83ebdd1490..a8e9e1853d9fc797b2715b4c41a49e093f8f527e 100644 (file)
@@ -88,6 +88,8 @@ public:
                                       std::vector<CitationStyle> const & valid_styles) const;
        ///
        std::map<docstring, docstring> getQualifiedLists(docstring const p) const;
+       ///
+       static bool last_literal;
 
 private:
        /// tries to make a pretty label and makes a basic one if not