mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-25 05:55:34 +00:00
Fix bug with display of reference tooltips.
Previously, the tooltip was assigned during updateBuffer. But then
we could not determine the value for forward references.
(cherry picked from commit b494286a9c
)
This commit is contained in:
parent
8f6c41a110
commit
1ddd148b06
@ -528,20 +528,14 @@ void InsetRef::updateBuffer(ParIterator const & it, UpdateType, bool const /*del
|
||||
label += getParam("name");
|
||||
}
|
||||
|
||||
bool const use_formatted_ref = buffer().params().use_formatted_ref;
|
||||
unsigned int const maxLabelChars = 24;
|
||||
toc_string_ = label;
|
||||
// Show label in tooltip when formatted references are shown in the work
|
||||
// area or it is too long
|
||||
if (use_formatted_ref || label.size() > maxLabelChars) {
|
||||
// The tooltip will be over-written later, in addToToc, if need be.
|
||||
tooltip_ = label;
|
||||
support::truncateWithEllipsis(label, maxLabelChars);
|
||||
} else {
|
||||
// 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
|
||||
unsigned int const maxLabelChars = 24;
|
||||
support::truncateWithEllipsis(label, maxLabelChars);
|
||||
|
||||
// Note: This could also be changed later, in addToToc, if we are using
|
||||
// fomatted references in the work area.
|
||||
screen_label_ = label;
|
||||
// This also can be overwritten in addToToc. (We can't do it now
|
||||
@ -571,14 +565,17 @@ void InsetRef::addToToc(DocIterator const & cpit, bool output_active,
|
||||
toc2->push_back(TocItem(cpit, 0, screenLabel(), output_active));
|
||||
}
|
||||
|
||||
// Code for display of formatted references
|
||||
bool const use_formatted_ref = buffer().params().use_formatted_ref;
|
||||
docstring & target = use_formatted_ref ? screen_label_ : tooltip_;
|
||||
string const & cmd = getCmdName();
|
||||
if (cmd != "pageref" && cmd != "vpageref" &&
|
||||
cmd != "vref" && cmd != "labelonly")
|
||||
{
|
||||
bool const use_formatted_ref = buffer().params().use_formatted_ref;
|
||||
// We will put the value of the reference either into the tooltip
|
||||
// or the screen label, depending.
|
||||
docstring & target = use_formatted_ref ? screen_label_ : tooltip_;
|
||||
docstring const & ref = getParam("reference");
|
||||
if (cmd != "pageref" && cmd != "vpageref" && cmd != "vref" &&
|
||||
cmd != "labelonly")
|
||||
target = displayString(ref, cmd);
|
||||
}
|
||||
return;
|
||||
}
|
||||
// It seems that this reference does not point to any valid label.
|
||||
|
@ -86,6 +86,8 @@ What's new
|
||||
- Restore old display of cross-references in the outliner. The change led to
|
||||
odd behavior on filtering.
|
||||
|
||||
- Display values of cross-references in tooltips for forward references.
|
||||
|
||||
|
||||
* INTERNALS
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user