Revert "Automatically show the review toolbar if the document has tracked changes"

We will replace this with a better solution

For now, only keep
- Changes::isChanged()
- Buffer::areChangesPresent(), replaced by a dummy function

Next step will be to provide a working areChangesPresent() and to
compute Inset::isChanged in updateBuffer.

This reverts commit 6d4e6aad24.
This commit is contained in:
Jean-Marc Lasgouttes 2020-01-12 18:33:01 +01:00
parent ce950f1ea5
commit dba1e40b52
10 changed files with 7 additions and 103 deletions

View File

@ -34,8 +34,7 @@ Include "stdtoolbars.inc"
# math: the toolbar is visible only when in math # math: the toolbar is visible only when in math
# mathmacrotemplate: the toolbar is visible only when in a macro definition # mathmacrotemplate: the toolbar is visible only when in a macro definition
# table: the toolbar is visible only when in a table # table: the toolbar is visible only when in a table
# review: the toolbar is visible only when tracked changes are present or # review: the toolbar is visible only when inside a tracked change
# change tracking is enabled
# ipa: the toolbar is only visible when inside an ipa inset # ipa: the toolbar is only visible when inside an ipa inset
# #
# top: the toolbar should be at the top of the window # top: the toolbar should be at the top of the window

View File

@ -391,10 +391,6 @@ public:
+ (with_blanks ? blank_count_ : 0); + (with_blanks ? blank_count_ : 0);
} }
// does the buffer contain tracked changes? (if so, we automatically
// display the review toolbar, for instance)
mutable bool tracked_changes_present_;
// Make sure the file monitor monitors the good file. // Make sure the file monitor monitors the good file.
void refreshFileMonitor(); void refreshFileMonitor();
@ -459,7 +455,7 @@ Buffer::Impl::Impl(Buffer * owner, FileName const & file, bool readonly_,
cite_labels_valid_(false), have_bibitems_(false), require_fresh_start_(false), cite_labels_valid_(false), have_bibitems_(false), require_fresh_start_(false),
inset(0), preview_loader_(0), cloned_buffer_(cloned_buffer), inset(0), preview_loader_(0), cloned_buffer_(cloned_buffer),
clone_list_(0), doing_export(false), clone_list_(0), doing_export(false),
tracked_changes_present_(0), externally_modified_(false), parent_buffer(0), externally_modified_(false), parent_buffer(0),
word_count_(0), char_count_(0), blank_count_(0) word_count_(0), char_count_(0), blank_count_(0)
{ {
refreshFileMonitor(); refreshFileMonitor();
@ -490,7 +486,6 @@ Buffer::Impl::Impl(Buffer * owner, FileName const & file, bool readonly_,
preview_file_ = cloned_buffer_->d->preview_file_; preview_file_ = cloned_buffer_->d->preview_file_;
preview_format_ = cloned_buffer_->d->preview_format_; preview_format_ = cloned_buffer_->d->preview_format_;
require_fresh_start_ = cloned_buffer_->d->require_fresh_start_; require_fresh_start_ = cloned_buffer_->d->require_fresh_start_;
tracked_changes_present_ = cloned_buffer_->d->tracked_changes_present_;
} }
@ -3033,8 +3028,6 @@ void Buffer::dispatch(FuncRequest const & func, DispatchResult & dr)
if (params().save_transient_properties) if (params().save_transient_properties)
undo().recordUndoBufferParams(CursorData()); undo().recordUndoBufferParams(CursorData());
params().track_changes = !params().track_changes; params().track_changes = !params().track_changes;
if (!params().track_changes)
dr.forceChangesUpdate();
break; break;
case LFUN_CHANGES_OUTPUT: case LFUN_CHANGES_OUTPUT:
@ -5032,7 +5025,6 @@ void Buffer::updateBuffer(UpdateScope scope, UpdateType utype) const
// update all caches // update all caches
clearReferenceCache(); clearReferenceCache();
updateMacros(); updateMacros();
setChangesPresent(false);
Buffer & cbuf = const_cast<Buffer &>(*this); Buffer & cbuf = const_cast<Buffer &>(*this);
// if we are reloading, then we could have a dangling TOC, // if we are reloading, then we could have a dangling TOC,
@ -5073,7 +5065,6 @@ void Buffer::updateBuffer(UpdateScope scope, UpdateType utype) const
clearReferenceCache(); clearReferenceCache();
// we should not need to do this again? // we should not need to do this again?
// updateMacros(); // updateMacros();
setChangesPresent(false);
updateBuffer(parit, utype); updateBuffer(parit, utype);
// this will already have been done by reloadBibInfoCache(); // this will already have been done by reloadBibInfoCache();
// d->bibinfo_cache_valid_ = true; // d->bibinfo_cache_valid_ = true;
@ -5355,9 +5346,6 @@ void Buffer::updateBuffer(ParIterator & parit, UpdateType utype) const
// set the counter for this paragraph // set the counter for this paragraph
d->setLabel(parit, utype); d->setLabel(parit, utype);
// update change-tracking flag
parit->addChangesToBuffer(*this);
// now the insets // now the insets
for (auto const & insit : parit->insetList()) { for (auto const & insit : parit->insetList()) {
parit.pos() = insit.pos; parit.pos() = insit.pos;
@ -5619,29 +5607,6 @@ string Buffer::includedFilePath(string const & name, string const & ext) const
} }
void Buffer::setChangesPresent(bool b) const
{
d->tracked_changes_present_ = b;
}
bool Buffer::areChangesPresent() const
{
return d->tracked_changes_present_;
}
void Buffer::updateChangesPresent() const
{
LYXERR(Debug::CHANGES, "Buffer::updateChangesPresent");
setChangesPresent(false);
ParConstIterator it = par_iterator_begin();
ParConstIterator const end = par_iterator_end();
for (; !areChangesPresent() && it != end; ++it)
it->addChangesToBuffer(*this);
}
void Buffer::Impl::refreshFileMonitor() void Buffer::Impl::refreshFileMonitor()
{ {
if (file_monitor_ && file_monitor_->filename() == filename.absFileName()) { if (file_monitor_ && file_monitor_->filename() == filename.absFileName()) {

View File

@ -774,11 +774,9 @@ public:
int wordCount() const; int wordCount() const;
int charCount(bool with_blanks) const; int charCount(bool with_blanks) const;
// this is const because it does not modify the buffer's real contents, /// FIXME: dummy function for now
// only the mutable flag. bool areChangesPresent() const { return true; }
void setChangesPresent(bool) const;
bool areChangesPresent() const;
void updateChangesPresent() const;
/// ///
void registerBibfiles(docstring_list const & bf) const; void registerBibfiles(docstring_list const & bf) const;
/// ///

View File

@ -561,14 +561,6 @@ void Changes::addToToc(DocIterator const & cdit, Buffer const & buffer,
} }
void Changes::updateBuffer(Buffer const & buf)
{
bool const changed = isChanged();
buf.setChangesPresent(buf.areChangesPresent() || changed);
previously_changed_ = changed;
}
void Change::paintCue(PainterInfo & pi, double const x1, double const y, void Change::paintCue(PainterInfo & pi, double const x1, double const y,
double const x2, FontInfo const & font) const double const x2, FontInfo const & font) const
{ {

View File

@ -95,8 +95,6 @@ class BufferParams;
class Changes { class Changes {
public: public:
Changes() : previously_changed_(false) {}
/// set the pos to the given change /// set the pos to the given change
void set(Change const & change, pos_type pos); void set(Change const & change, pos_type pos);
/// set the range (excluding end) to the given change /// set the range (excluding end) to the given change
@ -140,11 +138,6 @@ public:
void addToToc(DocIterator const & cdit, Buffer const & buffer, void addToToc(DocIterator const & cdit, Buffer const & buffer,
bool output_active, TocBackend & backend) const; bool output_active, TocBackend & backend) const;
///
void updateBuffer(Buffer const & buf);
///
bool isUpdateRequired() const { return previously_changed_ != isChanged(); }
private: private:
class Range { class Range {
public: public:
@ -187,10 +180,6 @@ private:
/// table of changes, every row a change and range descriptor /// table of changes, every row a change and range descriptor
ChangeTable table_; ChangeTable table_;
/// cache previous value of isChanged to be able to tell whether the
/// buffer's flag tracked_changes_present_ needs to be recomputed
bool previously_changed_;
}; };

View File

@ -2474,12 +2474,6 @@ void Cursor::checkBufferStructure()
// In case the master has no gui associated with it, // In case the master has no gui associated with it,
// the TocItem is not updated (part of bug 5699). // the TocItem is not updated (part of bug 5699).
buffer()->tocBackend().updateItem(*this); buffer()->tocBackend().updateItem(*this);
// If the last tracked change of the paragraph has just been
// deleted, then we need to recompute the buffer flag
// tracked_changes_present_.
if (inTexted() && paragraph().isChangeUpdateRequired())
disp_.forceChangesUpdate();
} }

View File

@ -29,8 +29,7 @@ public:
error_(false), error_(false),
update_(Update::None), update_(Update::None),
need_buf_update_(false), need_buf_update_(false),
need_msg_update_(true), need_msg_update_(true)
need_changes_update_(false)
{} {}
/// ///
DispatchResult(bool dispatched, Update::flags f) : DispatchResult(bool dispatched, Update::flags f) :
@ -38,8 +37,7 @@ public:
error_(false), error_(false),
update_(f), update_(f),
need_buf_update_(false), need_buf_update_(false),
need_msg_update_(true), need_msg_update_(true)
need_changes_update_(false)
{} {}
/// ///
bool dispatched() const { return dispatched_; } bool dispatched() const { return dispatched_; }
@ -59,14 +57,12 @@ public:
Update::flags screenUpdate() const { return update_; } Update::flags screenUpdate() const { return update_; }
/// ///
void screenUpdate(Update::flags f) { update_ = f; } void screenUpdate(Update::flags f) { update_ = f; }
/// Does the buffer need updating? /// Does the buffer need updating?
bool needBufferUpdate() const { return need_buf_update_; } bool needBufferUpdate() const { return need_buf_update_; }
/// Force the buffer to be updated /// Force the buffer to be updated
void forceBufferUpdate() { need_buf_update_ = true; } void forceBufferUpdate() { need_buf_update_ = true; }
/// Clear the flag indicating we need an update /// Clear the flag indicating we need an update
void clearBufferUpdate() { need_buf_update_ = false; } void clearBufferUpdate() { need_buf_update_ = false; }
/// Do we need to display a message in the status bar? /// Do we need to display a message in the status bar?
bool needMessageUpdate() const { return need_msg_update_; } bool needMessageUpdate() const { return need_msg_update_; }
/// Force the message to be displayed /// Force the message to be displayed
@ -74,14 +70,6 @@ public:
/// Clear the flag indicating we need to display the message /// Clear the flag indicating we need to display the message
void clearMessageUpdate() { need_msg_update_ = false; } void clearMessageUpdate() { need_msg_update_ = false; }
/// Do we need to update the change tracking presence flag?
bool needChangesUpdate() { return need_changes_update_; }
/// Force the change tracking presence flag to be updated
void forceChangesUpdate() { need_changes_update_ = true; }
/// Clear the flag indicating that we need to update the change tracking
/// presence flag
void clearChangesUpdate() { need_changes_update_ = false; }
private: private:
/// was the event fully dispatched? /// was the event fully dispatched?
bool dispatched_; bool dispatched_;
@ -95,8 +83,6 @@ private:
bool need_buf_update_; bool need_buf_update_;
/// ///
bool need_msg_update_; bool need_msg_update_;
///
bool need_changes_update_;
}; };

View File

@ -581,18 +581,6 @@ void Paragraph::addChangesToToc(DocIterator const & cdit, Buffer const & buf,
} }
void Paragraph::addChangesToBuffer(Buffer const & buf) const
{
d->changes_.updateBuffer(buf);
}
bool Paragraph::isChangeUpdateRequired() const
{
return d->changes_.isUpdateRequired();
}
bool Paragraph::isDeleted(pos_type start, pos_type end) const bool Paragraph::isDeleted(pos_type start, pos_type end) const
{ {
LASSERT(start >= 0 && start <= size(), return false); LASSERT(start >= 0 && start <= size(), return false);

View File

@ -153,10 +153,6 @@ public:
/// ///
void addChangesToToc(DocIterator const & cdit, Buffer const & buf, void addChangesToToc(DocIterator const & cdit, Buffer const & buf,
bool output_active, TocBackend & backend) const; bool output_active, TocBackend & backend) const;
/// set the buffer flag if there are changes in the paragraph
void addChangesToBuffer(Buffer const & buf) const;
///
bool isChangeUpdateRequired() const;
/// ///
Language const * getParLanguage(BufferParams const &) const; Language const * getParLanguage(BufferParams const &) const;
/// ///

View File

@ -1476,9 +1476,6 @@ void GuiApplication::updateCurrentView(FuncRequest const & cmd, DispatchResult &
if (dr.needBufferUpdate()) { if (dr.needBufferUpdate()) {
bv->cursor().clearBufferUpdate(); bv->cursor().clearBufferUpdate();
bv->buffer().updateBuffer(); bv->buffer().updateBuffer();
} else if (dr.needChangesUpdate()) {
// updateBuffer() already updates the change-tracking presence flag
bv->buffer().updateChangesPresent();
} }
// BufferView::update() updates the ViewMetricsInfo and // BufferView::update() updates the ViewMetricsInfo and
// also initializes the position cache for all insets in // also initializes the position cache for all insets in