mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-22 10:00:33 +00:00
Fix bug #11055.
See also https://marc.info/?l=lyx-devel&m=151709211602688&w=2.
This commit is contained in:
parent
d24a1c8fa4
commit
d3ee87eea2
@ -2440,6 +2440,11 @@ void Buffer::makeCitationLabels() const
|
||||
}
|
||||
|
||||
|
||||
void Buffer::invalidateCiteLabels() const
|
||||
{
|
||||
masterBuffer()->d->cite_labels_valid_ = false;
|
||||
}
|
||||
|
||||
bool Buffer::citeLabelsValid() const
|
||||
{
|
||||
return masterBuffer()->d->cite_labels_valid_;
|
||||
|
@ -517,6 +517,8 @@ public:
|
||||
///
|
||||
void makeCitationLabels() const;
|
||||
///
|
||||
void invalidateCiteLabels() const;
|
||||
///
|
||||
bool citeLabelsValid() const;
|
||||
///
|
||||
void getLabelList(std::vector<docstring> &) const;
|
||||
|
@ -1379,25 +1379,45 @@ void BufferView::dispatch(FuncRequest const & cmd, DispatchResult & dr)
|
||||
break;
|
||||
}
|
||||
|
||||
case LFUN_UNDO:
|
||||
case LFUN_UNDO: {
|
||||
dr.setMessage(_("Undo"));
|
||||
cur.clearSelection();
|
||||
// We need to find out if the bibliography information
|
||||
// has changed. See bug #11055.
|
||||
// So these should not be references...
|
||||
LayoutModuleList const engines = buffer().params().citeEngine();
|
||||
CiteEngineType const enginetype = buffer().params().citeEngineType();
|
||||
if (!cur.textUndo())
|
||||
dr.setMessage(_("No further undo information"));
|
||||
else
|
||||
else {
|
||||
dr.screenUpdate(Update::Force | Update::FitCursor);
|
||||
dr.forceBufferUpdate();
|
||||
if (buffer().params().citeEngine() != engines ||
|
||||
buffer().params().citeEngineType() != enginetype)
|
||||
buffer().invalidateCiteLabels();
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case LFUN_REDO:
|
||||
case LFUN_REDO: {
|
||||
dr.setMessage(_("Redo"));
|
||||
cur.clearSelection();
|
||||
// We need to find out if the bibliography information
|
||||
// has changed. See bug #11055.
|
||||
// So these should not be references...
|
||||
LayoutModuleList const engines = buffer().params().citeEngine();
|
||||
CiteEngineType const enginetype = buffer().params().citeEngineType();
|
||||
if (!cur.textRedo())
|
||||
dr.setMessage(_("No further redo information"));
|
||||
else
|
||||
else {
|
||||
dr.screenUpdate(Update::Force | Update::FitCursor);
|
||||
dr.forceBufferUpdate();
|
||||
if (buffer().params().citeEngine() != engines ||
|
||||
buffer().params().citeEngineType() != enginetype)
|
||||
buffer().invalidateCiteLabels();
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case LFUN_FONT_STATE:
|
||||
dr.setMessage(cur.currentState(false));
|
||||
|
@ -75,6 +75,14 @@ public:
|
||||
/// to be made.
|
||||
bool adaptToBaseClass(LayoutFile const * const lay,
|
||||
std::list<std::string> const & removedModules);
|
||||
///
|
||||
bool operator==(LayoutModuleList const & other) const {
|
||||
return lml_ == other.lml_;
|
||||
}
|
||||
///
|
||||
bool operator!=(LayoutModuleList const & other) const {
|
||||
return !operator==(other);
|
||||
}
|
||||
private:
|
||||
/// Removes modules excluded by, provided by, etc, the base class.
|
||||
/// \param lay The document class against which to check.
|
||||
|
Loading…
Reference in New Issue
Block a user