]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetIndexMacro.cpp
Avoid full metrics computation with Update:FitCursor
[lyx.git] / src / insets / InsetIndexMacro.cpp
index 2bfbc9176aac065e7190c850180186f5b0a9c6b2..cbd17a17e126d40dad14642c28bced4e865089c6 100644 (file)
@@ -25,7 +25,6 @@
 #include "InsetList.h"
 #include "LaTeX.h"
 #include "LaTeXFeatures.h"
-#include "Lexer.h"
 #include "MetricsInfo.h"
 #include "xml.h"
 #include "texstream.h"
@@ -35,6 +34,7 @@
 #include "support/debug.h"
 #include "support/docstream.h"
 #include "support/gettext.h"
+#include "support/Lexer.h"
 #include "support/lstrings.h"
 #include "support/Translator.h"
 
@@ -52,7 +52,7 @@ InsetIndexMacroTranslator const init_insetindexmacrotranslator()
 {
        InsetIndexMacroTranslator translator("see", InsetIndexMacroParams::See);
        translator.addPair("seealso", InsetIndexMacroParams::Seealso);
-       translator.addPair("subindex", InsetIndexMacroParams::Subindex);
+       translator.addPair("subentry", InsetIndexMacroParams::Subentry);
        translator.addPair("sortkey", InsetIndexMacroParams::Sortkey);
        return translator;
 }
@@ -62,7 +62,7 @@ InsetIndexMacroTranslatorLoc const init_insetindexmacrotranslator_loc()
 {
        InsetIndexMacroTranslatorLoc translator(_("See"), InsetIndexMacroParams::See);
        translator.addPair(_("See also"), InsetIndexMacroParams::Seealso);
-       translator.addPair(_("Subindex"), InsetIndexMacroParams::Subindex);
+       translator.addPair(_("Subentry"), InsetIndexMacroParams::Subentry);
        translator.addPair(_("Sort as"), InsetIndexMacroParams::Sortkey);
        return translator;
 }
@@ -155,10 +155,11 @@ void InsetIndexMacro::read(Lexer & lex)
 
 void InsetIndexMacro::getLatex(otexstream & os, OutputParams const & runparams) const
 {
-       if (params_.type == InsetIndexMacroParams::Subindex) {
+       if (params_.type == InsetIndexMacroParams::Subentry) {
                if (hasSortKey()) {
                        getSortkey(os, runparams);
                        os << "@";
+                       InsetText::latex(os, runparams);
                } else {
                        odocstringstream ourlatex;
                        otexstream ots(ourlatex);
@@ -205,6 +206,12 @@ docstring InsetIndexMacro::getXhtml(XMLStream & xs, OutputParams const & runpara
 }
 
 
+bool InsetIndexMacro::hasNoContent() const
+{
+       return paragraphs().front().empty();
+}
+
+
 void InsetIndexMacro::doDispatch(Cursor & cur, FuncRequest & cmd)
 {
        switch (cmd.action()) {
@@ -374,7 +381,7 @@ bool InsetIndexMacro::insetAllowed(InsetCode code) const
        case INDEX_CODE:
                return false;
        case INDEXMACRO_SORTKEY_CODE:
-               return (params_.type == InsetIndexMacroParams::Subindex
+               return (params_.type == InsetIndexMacroParams::Subentry
                        && !hasSortKey());
        default:
                return InsetCollapsible::insetAllowed(code);