X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FTocBackend.cpp;h=43a2188c713c15234b6b5d302c9f75c694cb16cd;hb=0f9ef6877c8e590ae4b04bf009f8c50eb9a8e103;hp=dc347a6539bf26ae192ddf8eb29142f66f93fb92;hpb=1ac48c7cba8ee5c516ee1e676894f06107149945;p=lyx.git diff --git a/src/TocBackend.cpp b/src/TocBackend.cpp index dc347a6539..43a2188c71 100644 --- a/src/TocBackend.cpp +++ b/src/TocBackend.cpp @@ -43,7 +43,7 @@ namespace lyx { /////////////////////////////////////////////////////////////////////////// TocItem::TocItem(DocIterator const & dit, int d, docstring const & s, - bool output_active, FuncRequest action) + bool output_active, FuncRequest const & action) : dit_(dit), depth_(d), str_(s), output_(output_active), action_(action) { @@ -162,7 +162,7 @@ bool TocBackend::updateItem(DocIterator const & dit_in) return false; if (toc("tableofcontents")->empty()) { - // FIXME: should not happen, + // FIXME: should not happen, // a call to TocBackend::update() is missing somewhere LYXERR0("TocBackend::updateItem called but the TOC is empty!"); return false; @@ -204,17 +204,24 @@ bool TocBackend::updateItem(DocIterator const & dit_in) } -void TocBackend::update(bool output_active, UpdateType utype) +void TocBackend::reset() { - for (TocList::iterator it = tocs_.begin(); it != tocs_.end(); ++it) - it->second->clear(); + for (auto const & t: tocs_) + t.second->clear(); tocs_.clear(); builders_.clear(); resetOutlinerNames(); - if (!buffer_->isInternal()) { - DocIterator dit; - buffer_->inset().addToToc(dit, output_active, utype, *this); - } +} + + +void TocBackend::update(bool output_active, UpdateType utype) +{ + reset(); + if (buffer_->isInternal()) + return; + + DocIterator dit; + buffer_->inset().addToToc(dit, output_active, utype, *this); } @@ -272,7 +279,7 @@ void TocBackend::resetOutlinerNames() { outliner_names_.clear(); // names from this document class - for (pair const & name + for (auto const & name : buffer_->params().documentClass().outlinerNames()) addName(name.first, translateIfPossible(name.second)); // Hardcoded types @@ -281,6 +288,7 @@ void TocBackend::resetOutlinerNames() addName("senseless", _("Senseless")); addName("citation", _("Citations")); addName("label", _("Labels and References")); + addName("brokenrefs", _("Broken References and Citations")); // Customizable, but the corresponding insets have no layout definition addName("child", _("Child Documents")); addName("graphics", _("Graphics"));