]> git.lyx.org Git - features.git/blobdiff - src/TocBackend.cpp
There does not appear to be any need to update the entire Buffer
[features.git] / src / TocBackend.cpp
index 145a23b3cc97de21caf4a0d999e6c682912f5c59..5599e1f362313fc0e01278a7dd6282eb2309545d 100644 (file)
@@ -17,6 +17,7 @@
 
 #include "Buffer.h"
 #include "BufferParams.h"
+#include "Cursor.h"
 #include "FloatList.h"
 #include "FuncRequest.h"
 #include "InsetList.h"
@@ -68,18 +69,18 @@ docstring const & TocItem::tooltip() const
 
 docstring const TocItem::asString() const
 {
-       // U+2327 X IN A RECTANGLE BOX
-       // char_type const cross = 0x2327;
-       // U+274E NEGATIVE SQUARED CROSS MARK
-       char_type const cross = 0x274e;
+       static char_type const cross = 0x2716; // ✖ U+2716 HEAVY MULTIPLICATION X
+       static char_type const thin = 0x2009; // U+2009 THIN SPACE
        docstring prefix;
        if (!output_) {
                prefix += cross;
-               prefix += " ";
+               prefix += thin;
        }
        return prefix + str_;
 }
 
+namespace {
+
 // convert a DocIterator into an argument to LFUN_PARAGRAPH_GOTO 
 docstring paragraph_goto_arg(DocIterator const & dit)
 {
@@ -88,6 +89,8 @@ docstring paragraph_goto_arg(DocIterator const & dit)
                convert<docstring>(s.pos());
 }
 
+} // namespace anon
+
 FuncRequest TocItem::action() const
 {
        if (action_.action() == LFUN_UNKNOWN_ACTION) {
@@ -264,8 +267,11 @@ shared_ptr<TocBuilder> TocBackend::builder(string const & type)
 // TocItem creation and update should be made in a dedicated function and
 // updateItem should be rewritten to uniformly update the matching items from
 // all TOCs.
-bool TocBackend::updateItem(DocIterator const & dit)
+bool TocBackend::updateItem(DocIterator const & dit_in)
 {
+       // we need a text
+       DocIterator dit = dit_in.getInnerText();
+
        if (dit.text()->getTocLevel(dit.pit()) == Layout::NOT_IN_TOC)
                return false;