]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/GuiCitation.cpp
Merge branch 'master' into biblatex2
[lyx.git] / src / frontends / qt4 / GuiCitation.cpp
index b2fe9a9239eafed1522c09fecd2b4a64f941b2bd..d73f3d3542683a0a44049cf5bcbbfb2ead31fed3 100644 (file)
@@ -125,9 +125,9 @@ GuiCitation::GuiCitation(GuiView & lv)
        connect(citationStyleCO, SIGNAL(activated(int)),
                this, SLOT(on_citationStyleCO_currentIndexChanged(int)));
        connect(starredCB, SIGNAL(clicked()),
-               this, SLOT(changed()));
+               this, SLOT(updateStyles()));
        connect(forceuppercaseCB, SIGNAL(clicked()),
-               this, SLOT(changed()));
+               this, SLOT(updateStyles()));
        connect(textBeforeED, SIGNAL(textChanged(QString)),
                this, SLOT(updateStyles()));
        connect(textAfterED, SIGNAL(textChanged(QString)),
@@ -270,21 +270,20 @@ void GuiCitation::updateFormatting(CitationStyle currentStyle)
        if (starred && !currentStyle.stardesc.empty()) {
                string val =
                        bp.documentClass().getCiteMacro(bp.citeEngineType(), currentStyle.stardesc);
+               docstring guistring;
                if (!val.empty()) {
-                       docstring const trans =
-                               translateIfPossible(from_utf8(val));
-                       starredCB->setText(toqstr(trans));
+                       guistring = translateIfPossible(from_utf8(val));
+                       starredCB->setText(toqstr(guistring));
                        starredCB->setEnabled(haveSelection);
                }
                if (!currentStyle.startooltip.empty()) {
                        val = bp.documentClass().getCiteMacro(bp.citeEngineType(),
                                                              currentStyle.startooltip);
-                       if (!val.empty()) {
-                               docstring const trans =
-                                       translateIfPossible(from_utf8(val));
-                               starredCB->setToolTip(toqstr(trans));
-                       }
+                       if (!val.empty())
+                               guistring = translateIfPossible(from_utf8(val));
                }
+               // Tooltip might also be empty
+               starredCB->setToolTip(toqstr(guistring));
        } else {
                // This is the default meaning of the starred commands
                starredCB->setText(qt_("All aut&hors"));
@@ -398,8 +397,10 @@ void GuiCitation::updateInfo(BiblioInfo const & bi, QModelIndex const & idx)
        }
 
        infoML->setToolTip(qt_("Sketchy preview of the selected citation"));
+       CiteItem ci;
+       ci.richtext = true;
        QString const keytxt = toqstr(
-               bi.getInfo(qstring_to_ucs4(idx.data().toString()), documentBuffer(), true));
+               bi.getInfo(qstring_to_ucs4(idx.data().toString()), documentBuffer(), ci));
        infoML->document()->setHtml(keytxt);
 }
 
@@ -679,13 +680,16 @@ void GuiCitation::findKey(BiblioInfo const & bi,
 
 QStringList GuiCitation::citationStyles(BiblioInfo const & bi, size_t max_size)
 {
-       docstring const before = qstring_to_ucs4(textBeforeED->text());
-       docstring const after = qstring_to_ucs4(textAfterED->text());
        vector<docstring> const keys = to_docstring_vector(cited_keys_);
        vector<CitationStyle> styles = citeStyles_;
-       // FIXME: pass a dictionary instead of individual before, after, dialog, etc.
-       vector<docstring> ret = bi.getCiteStrings(keys, styles, documentBuffer(),
-               before, after, from_utf8("dialog"), max_size);
+       CiteItem ci;
+       ci.textBefore = qstring_to_ucs4(textBeforeED->text());
+       ci.textAfter = qstring_to_ucs4(textAfterED->text());
+       ci.forceUpperCase = forceuppercaseCB->isChecked();
+       ci.Starred = starredCB->isChecked();
+       ci.context = CiteItem::Dialog;
+       ci.max_size = max_size;
+       vector<docstring> ret = bi.getCiteStrings(keys, styles, documentBuffer(), ci);
        return to_qstring_list(ret);
 }