mirror of
https://git.lyx.org/repos/lyx.git
synced 2025-01-22 16:37:28 +00:00
Truncate long cross-references and show the whole thing in a tooltip.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33586 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
3906792378
commit
fce0bea8a2
@ -68,12 +68,6 @@ ParamInfo const & InsetRef::findInfo(string const & /* cmdName */)
|
||||
}
|
||||
|
||||
|
||||
docstring InsetRef::screenLabel() const
|
||||
{
|
||||
return screen_label_;
|
||||
}
|
||||
|
||||
|
||||
int InsetRef::latex(odocstream & os, OutputParams const & runparams) const
|
||||
{
|
||||
// We don't want to output p_["name"], since that is only used
|
||||
@ -163,22 +157,36 @@ void InsetRef::tocString(odocstream & os) const
|
||||
|
||||
void InsetRef::updateLabels(ParIterator const & it, UpdateType)
|
||||
{
|
||||
docstring const & label = getParam("reference");
|
||||
docstring const & ref = getParam("reference");
|
||||
// register this inset into the buffer reference cache.
|
||||
buffer().references(label).push_back(make_pair(this, it));
|
||||
buffer().references(ref).push_back(make_pair(this, it));
|
||||
|
||||
docstring label;
|
||||
for (int i = 0; !types[i].latex_name.empty(); ++i) {
|
||||
if (getCmdName() == types[i].latex_name) {
|
||||
screen_label_ = _(types[i].short_gui_name);
|
||||
label = _(types[i].short_gui_name);
|
||||
break;
|
||||
}
|
||||
}
|
||||
screen_label_ += label;
|
||||
label += ref;
|
||||
|
||||
if (!isLatex && !getParam("name").empty()) {
|
||||
screen_label_ += "||";
|
||||
screen_label_ += getParam("name");
|
||||
label += "||";
|
||||
label += getParam("name");
|
||||
}
|
||||
|
||||
screen_label_ = label;
|
||||
bool shortened = false;
|
||||
unsigned int const maxLabelChars = 24;
|
||||
if (screen_label_.size() > maxLabelChars) {
|
||||
screen_label_.erase(maxLabelChars - 3);
|
||||
screen_label_ += "...";
|
||||
shortened = true;
|
||||
}
|
||||
if (shortened)
|
||||
tooltip_ = label;
|
||||
else
|
||||
tooltip_ = from_ascii("");
|
||||
}
|
||||
|
||||
|
||||
@ -213,7 +221,7 @@ InsetRef::type_info InsetRef::types[] = {
|
||||
{ "pageref", N_("Page Number"), N_("Page: ")},
|
||||
{ "vpageref", N_("Textual Page Number"), N_("TextPage: ")},
|
||||
{ "vref", N_("Standard+Textual Page"), N_("Ref+Text: ")},
|
||||
{ "prettyref", N_("PrettyRef"), N_("FormatRef: ")},
|
||||
{ "prettyref", N_("PrettyRef"), N_("FrmtRef: ")},
|
||||
{ "", "", "" }
|
||||
};
|
||||
|
||||
|
@ -41,7 +41,10 @@ public:
|
||||
///
|
||||
bool isLabeled() const { return true; }
|
||||
///
|
||||
docstring screenLabel() const;
|
||||
docstring screenLabel() const { return screen_label_; }
|
||||
///
|
||||
docstring toolTip(BufferView const &, int, int) const
|
||||
{ return tooltip_; }
|
||||
///
|
||||
bool hasSettings() const { return true; }
|
||||
///
|
||||
@ -80,6 +83,8 @@ private:
|
||||
bool isLatex;
|
||||
///
|
||||
mutable docstring screen_label_;
|
||||
///
|
||||
mutable docstring tooltip_;
|
||||
};
|
||||
|
||||
} // namespace lyx
|
||||
|
Loading…
x
Reference in New Issue
Block a user