mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-26 22:17:41 +00:00
Merge branch 'master' of git.lyx.org:lyx
This commit is contained in:
commit
575d98664a
@ -3269,10 +3269,10 @@ void Buffer::listParentMacros(MacroSet & macros, LaTeXFeatures & features) const
|
||||
}
|
||||
|
||||
|
||||
Buffer::References & Buffer::references(docstring const & label)
|
||||
Buffer::References & Buffer::getReferenceCache(docstring const & label)
|
||||
{
|
||||
if (d->parent())
|
||||
return const_cast<Buffer *>(masterBuffer())->references(label);
|
||||
return const_cast<Buffer *>(masterBuffer())->getReferenceCache(label);
|
||||
|
||||
RefCache::iterator it = d->ref_cache_.find(label);
|
||||
if (it != d->ref_cache_.end())
|
||||
@ -3288,7 +3288,14 @@ Buffer::References & Buffer::references(docstring const & label)
|
||||
|
||||
Buffer::References const & Buffer::references(docstring const & label) const
|
||||
{
|
||||
return const_cast<Buffer *>(this)->references(label);
|
||||
return const_cast<Buffer *>(this)->getReferenceCache(label);
|
||||
}
|
||||
|
||||
|
||||
void Buffer::addReference(docstring const & label, Inset * inset, ParIterator it)
|
||||
{
|
||||
References & refs = getReferenceCache(label);
|
||||
refs.push_back(make_pair(inset, it));
|
||||
}
|
||||
|
||||
|
||||
|
@ -660,10 +660,15 @@ public:
|
||||
|
||||
///
|
||||
typedef std::vector<std::pair<Inset *, ParIterator> > References;
|
||||
References & references(docstring const & label);
|
||||
///
|
||||
References const & references(docstring const & label) const;
|
||||
///
|
||||
void addReference(docstring const & label, Inset * inset, ParIterator it);
|
||||
///
|
||||
void clearReferenceCache() const;
|
||||
///
|
||||
void setInsetLabel(docstring const & label, InsetLabel const * il);
|
||||
///
|
||||
InsetLabel const * insetLabel(docstring const & label) const;
|
||||
|
||||
/// return a list of all used branches (also in children)
|
||||
@ -713,6 +718,8 @@ private:
|
||||
/// mark the buffer as busy exporting something, or not
|
||||
void setExportStatus(bool e) const;
|
||||
|
||||
///
|
||||
References & getReferenceCache(docstring const & label);
|
||||
/// Change name of buffer. Updates "read-only" flag.
|
||||
void setFileName(support::FileName const & fname);
|
||||
///
|
||||
|
@ -1064,6 +1064,8 @@ void GuiView::updateStatusBar()
|
||||
|
||||
void GuiView::showMessage()
|
||||
{
|
||||
if (busy_)
|
||||
return;
|
||||
QString msg = toqstr(theGuiApp()->viewStatusMessage());
|
||||
if (msg.isEmpty()) {
|
||||
BufferView const * bv = currentBufferView();
|
||||
|
@ -109,9 +109,9 @@ void InsetLabel::updateLabelAndRefs(docstring const & new_label,
|
||||
void InsetLabel::updateReferences(docstring const & old_label,
|
||||
docstring const & new_label)
|
||||
{
|
||||
Buffer::References & refs = buffer().references(old_label);
|
||||
Buffer::References::iterator it = refs.begin();
|
||||
Buffer::References::iterator end = refs.end();
|
||||
Buffer::References const & refs = buffer().references(old_label);
|
||||
Buffer::References::const_iterator it = refs.begin();
|
||||
Buffer::References::const_iterator end = refs.end();
|
||||
for (; it != end; ++it) {
|
||||
buffer().undo().recordUndo(CursorData(it->second));
|
||||
if (it->first->lyxCode() == MATH_REF_CODE) {
|
||||
|
@ -222,14 +222,21 @@ docstring InsetRef::xhtml(XHTMLStream & xs, OutputParams const &) const
|
||||
// normally, would be "ref on page #", but we have no pages
|
||||
display_string = value;
|
||||
else if (cmd == "pageref" || cmd == "vpageref")
|
||||
// normally would be "on page #", but we have no pages
|
||||
display_string = _("elsewhere");
|
||||
// normally would be "on page #", but we have no pages.
|
||||
// FIXME this is wrong, as it should be the current language,
|
||||
// but it is better than _(), which is what we had before.
|
||||
display_string = buffer().B_("elsewhere");
|
||||
else if (cmd == "eqref")
|
||||
display_string = '(' + value + ')';
|
||||
else if (cmd == "formatted"
|
||||
// we don't really have the ability to handle these
|
||||
// properly in XHTML output
|
||||
|| cmd == "nameref")
|
||||
else if (cmd == "formatted")
|
||||
display_string = il->prettyCounter();
|
||||
else if (cmd == "nameref")
|
||||
// FIXME We don't really have the ability to handle these
|
||||
// properly in XHTML output yet (bug #8599).
|
||||
// It might not be that hard to do. We have the InsetLabel,
|
||||
// and we can presumably find its paragraph using the TOC.
|
||||
// We could then output the contents of the paragraph using
|
||||
// something?
|
||||
display_string = il->prettyCounter();
|
||||
} else
|
||||
display_string = ref;
|
||||
@ -265,7 +272,7 @@ void InsetRef::updateBuffer(ParIterator const & it, UpdateType)
|
||||
{
|
||||
docstring const & ref = getParam("reference");
|
||||
// register this inset into the buffer reference cache.
|
||||
buffer().references(ref).push_back(make_pair(this, it));
|
||||
buffer().addReference(ref, this, it);
|
||||
|
||||
docstring label;
|
||||
for (int i = 0; !types[i].latex_name.empty(); ++i) {
|
||||
|
@ -184,7 +184,7 @@ void InsetMathRef::updateBuffer(ParIterator const & it, UpdateType /*utype*/)
|
||||
return;
|
||||
}
|
||||
// register this inset into the buffer reference cache.
|
||||
buffer().references(getTarget()).push_back(make_pair(this, it));
|
||||
buffer().addReference(getTarget(), this, it);
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user