X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FTocBackend.cpp;h=859e6e86e8e306ec35600e448754ac503f581e17;hb=e6b93f7489fc0738b6097d49cb7b16eed2b4fb1e;hp=500d5e3ce0cb1b7b259a135fc5bbff49a0fc7287;hpb=715b8cda54a2aded29260b57ff201b16fd906f21;p=features.git diff --git a/src/TocBackend.cpp b/src/TocBackend.cpp index 500d5e3ce0..859e6e86e8 100644 --- a/src/TocBackend.cpp +++ b/src/TocBackend.cpp @@ -43,8 +43,8 @@ namespace lyx { /////////////////////////////////////////////////////////////////////////// TocItem::TocItem(DocIterator const & dit, int d, docstring const & s, - bool output_active, FuncRequest const & action) - : dit_(dit), depth_(d), str_(s), output_(output_active), + bool output_active, bool missing, FuncRequest const & action) + : dit_(dit), depth_(d), str_(s), output_(output_active), missing_(missing), action_(action) { } @@ -65,6 +65,9 @@ docstring const TocItem::asString() const prefix += cross; prefix += thin; } + if (missing_) { + prefix += _("MISSING: "); + } return prefix + str_; } @@ -143,7 +146,7 @@ shared_ptr TocBackend::toc(string const & type) TocBuilder & TocBackend::builder(string const & type) { - auto p = make_unique(toc(type)); + auto p = lyx::make_unique(toc(type)); return * builders_.insert(make_pair(type, move(p))).first->second; } @@ -153,8 +156,11 @@ 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_in) +bool TocBackend::updateItem(DocIterator const & dit_in) const { + if (dit_in.buffer() && dit_in.buffer()->isInternal()) + return false; + // we need a text DocIterator dit = dit_in.getInnerText();