[LyX/master] Use the old-style sorts of label strings in the TOC.
Richard Kimberly Heck
rikiheck at lyx.org
Mon Aug 5 22:15:42 UTC 2024
commit 1de4645286e5e51d2e5f6084ee53f3fcb463475d
Author: Richard Kimberly Heck <rikiheck at lyx.org>
Date: Mon Aug 5 18:11:24 2024 -0400
Use the old-style sorts of label strings in the TOC.
There are several reasons to do it this way, among which is odd
behavior of the TOC filter if we put anything else there. This also
allows for filtering of the references themsevles in a natural way.
The change, I think, was really an unintended consequence of other
changes connected to showing formatted references in the work area.
---
src/insets/InsetRef.cpp | 13 ++++++++-----
src/insets/InsetRef.h | 2 ++
2 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/src/insets/InsetRef.cpp b/src/insets/InsetRef.cpp
index 11ab35e219..a7d76c29c5 100644
--- a/src/insets/InsetRef.cpp
+++ b/src/insets/InsetRef.cpp
@@ -539,11 +539,14 @@ void InsetRef::updateBuffer(ParIterator const & it, UpdateType, bool const /*del
// put cross-reference value into tooltip
tooltip_ = displayString(ref, cmd);
}
-
+ toc_string_ = label;
+
+ // Note: This could be changed later, in addToToc, if we are using
+ // fomatted references in the work area.
screen_label_ = label;
- // If use_formatted_ref is active, this will be overwritten in addToToc.
- // (We can't do it now because it might be a forward-reference
- // and so the reference might not be in the label cache yet.
+ // This also can be overwritten in addToToc. (We can't do it now
+ // because it might be a forward-reference and so the reference might
+ // not be in the label cache yet.)
broken_ = false;
setBroken(broken_);
}
@@ -661,7 +664,7 @@ docstring InsetRef::getTOCString() const
broken_ = !buffer().activeLabel(label) && active_;
else
broken_ = active_;
- return tooltip_.empty() ? screenLabel() : tooltip_;
+ return (broken_ ? _("BROKEN: ") : docstring()) + toc_string_;
}
} // namespace lyx
diff --git a/src/insets/InsetRef.h b/src/insets/InsetRef.h
index 97e64a69e2..52c8de79e2 100644
--- a/src/insets/InsetRef.h
+++ b/src/insets/InsetRef.h
@@ -127,6 +127,8 @@ private:
///
mutable docstring screen_label_;
///
+ mutable docstring toc_string_;
+ ///
mutable bool broken_;
///
mutable bool active_;
More information about the lyx-cvs
mailing list