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
6d4e6aad24edb7bcfbc49f03d2432fc9fa06954d.
# math: the toolbar is visible only when in math
# mathmacrotemplate: the toolbar is visible only when in a macro definition
# table: the toolbar is visible only when in a table
# math: the toolbar is visible only when in math
# mathmacrotemplate: the toolbar is visible only when in a macro definition
# table: the toolbar is visible only when in a table
-# review: the toolbar is visible only when tracked changes are present or
-# change tracking is enabled
+# review: the toolbar is visible only when inside a tracked change
# ipa: the toolbar is only visible when inside an ipa inset
#
# top: the toolbar should be at the top of the window
# ipa: the toolbar is only visible when inside an ipa inset
#
# top: the toolbar should be at the top of the window
+ (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.
void refreshFileMonitor();
// Make sure the file monitor monitors the good file.
void refreshFileMonitor();
cite_labels_valid_(false), have_bibitems_(false), require_fresh_start_(false),
inset(0), preview_loader_(0), cloned_buffer_(cloned_buffer),
clone_list_(0), doing_export(false),
cite_labels_valid_(false), have_bibitems_(false), require_fresh_start_(false),
inset(0), preview_loader_(0), cloned_buffer_(cloned_buffer),
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)
{
refreshFileMonitor();
word_count_(0), char_count_(0), blank_count_(0)
{
refreshFileMonitor();
preview_file_ = cloned_buffer_->d->preview_file_;
preview_format_ = cloned_buffer_->d->preview_format_;
require_fresh_start_ = cloned_buffer_->d->require_fresh_start_;
preview_file_ = cloned_buffer_->d->preview_file_;
preview_format_ = cloned_buffer_->d->preview_format_;
require_fresh_start_ = cloned_buffer_->d->require_fresh_start_;
- tracked_changes_present_ = cloned_buffer_->d->tracked_changes_present_;
if (params().save_transient_properties)
undo().recordUndoBufferParams(CursorData());
params().track_changes = !params().track_changes;
if (params().save_transient_properties)
undo().recordUndoBufferParams(CursorData());
params().track_changes = !params().track_changes;
- if (!params().track_changes)
- dr.forceChangesUpdate();
break;
case LFUN_CHANGES_OUTPUT:
break;
case LFUN_CHANGES_OUTPUT:
// update all caches
clearReferenceCache();
updateMacros();
// update all caches
clearReferenceCache();
updateMacros();
- setChangesPresent(false);
Buffer & cbuf = const_cast<Buffer &>(*this);
// if we are reloading, then we could have a dangling TOC,
Buffer & cbuf = const_cast<Buffer &>(*this);
// if we are reloading, then we could have a dangling TOC,
clearReferenceCache();
// we should not need to do this again?
// updateMacros();
clearReferenceCache();
// we should not need to do this again?
// updateMacros();
- setChangesPresent(false);
updateBuffer(parit, utype);
// this will already have been done by reloadBibInfoCache();
// d->bibinfo_cache_valid_ = true;
updateBuffer(parit, utype);
// this will already have been done by reloadBibInfoCache();
// d->bibinfo_cache_valid_ = true;
// set the counter for this paragraph
d->setLabel(parit, utype);
// set the counter for this paragraph
d->setLabel(parit, utype);
- // update change-tracking flag
- parit->addChangesToBuffer(*this);
-
// now the insets
for (auto const & insit : parit->insetList()) {
parit.pos() = insit.pos;
// now the insets
for (auto const & insit : parit->insetList()) {
parit.pos() = insit.pos;
-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()
{
if (file_monitor_ && file_monitor_->filename() == filename.absFileName()) {
void Buffer::Impl::refreshFileMonitor()
{
if (file_monitor_ && file_monitor_->filename() == filename.absFileName()) {
int wordCount() const;
int charCount(bool with_blanks) const;
int wordCount() const;
int charCount(bool with_blanks) const;
- // this is const because it does not modify the buffer's real contents,
- // only the mutable flag.
- void setChangesPresent(bool) const;
- bool areChangesPresent() const;
- void updateChangesPresent() const;
+ /// FIXME: dummy function for now
+ bool areChangesPresent() const { return true; }
+
///
void registerBibfiles(docstring_list const & bf) const;
///
///
void registerBibfiles(docstring_list const & bf) const;
///
-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,
double const x2, FontInfo const & font) const
{
void Change::paintCue(PainterInfo & pi, double const x1, double const y,
double const x2, FontInfo const & font) const
{
- Changes() : previously_changed_(false) {}
-
/// set the pos to the given change
void set(Change const & change, pos_type pos);
/// set the range (excluding end) to the given change
/// set the pos to the given change
void set(Change const & change, pos_type pos);
/// set the range (excluding end) to the given change
void addToToc(DocIterator const & cdit, Buffer const & buffer,
bool output_active, TocBackend & backend) const;
void addToToc(DocIterator const & cdit, Buffer const & buffer,
bool output_active, TocBackend & backend) const;
- ///
- void updateBuffer(Buffer const & buf);
- ///
- bool isUpdateRequired() const { return previously_changed_ != isChanged(); }
-
private:
class Range {
public:
private:
class Range {
public:
/// table of changes, every row a change and range descriptor
ChangeTable table_;
/// table of changes, every row a change and range descriptor
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_;
// In case the master has no gui associated with it,
// the TocItem is not updated (part of bug 5699).
buffer()->tocBackend().updateItem(*this);
// In case the master has no gui associated with it,
// the TocItem is not updated (part of bug 5699).
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();
error_(false),
update_(Update::None),
need_buf_update_(false),
error_(false),
update_(Update::None),
need_buf_update_(false),
- need_msg_update_(true),
- need_changes_update_(false)
{}
///
DispatchResult(bool dispatched, Update::flags f) :
{}
///
DispatchResult(bool dispatched, Update::flags f) :
error_(false),
update_(f),
need_buf_update_(false),
error_(false),
update_(f),
need_buf_update_(false),
- need_msg_update_(true),
- need_changes_update_(false)
{}
///
bool dispatched() const { return dispatched_; }
{}
///
bool dispatched() const { return dispatched_; }
Update::flags screenUpdate() const { return update_; }
///
void screenUpdate(Update::flags f) { update_ = f; }
Update::flags screenUpdate() const { return update_; }
///
void screenUpdate(Update::flags f) { update_ = f; }
/// Does the buffer need updating?
bool needBufferUpdate() const { return need_buf_update_; }
/// Force the buffer to be updated
void forceBufferUpdate() { need_buf_update_ = true; }
/// Clear the flag indicating we need an update
void clearBufferUpdate() { need_buf_update_ = false; }
/// Does the buffer need updating?
bool needBufferUpdate() const { return need_buf_update_; }
/// Force the buffer to be updated
void forceBufferUpdate() { need_buf_update_ = true; }
/// Clear the flag indicating we need an update
void clearBufferUpdate() { need_buf_update_ = false; }
/// Do we need to display a message in the status bar?
bool needMessageUpdate() const { return need_msg_update_; }
/// Force the message to be displayed
/// Do we need to display a message in the status bar?
bool needMessageUpdate() const { return need_msg_update_; }
/// Force the message to be displayed
/// Clear the flag indicating we need to display the message
void clearMessageUpdate() { need_msg_update_ = false; }
/// Clear the flag indicating we need to display the message
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:
/// was the event fully dispatched?
bool dispatched_;
private:
/// was the event fully dispatched?
bool dispatched_;
bool need_buf_update_;
///
bool need_msg_update_;
bool need_buf_update_;
///
bool need_msg_update_;
- ///
- bool need_changes_update_;
-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
{
LASSERT(start >= 0 && start <= size(), return false);
bool Paragraph::isDeleted(pos_type start, pos_type end) const
{
LASSERT(start >= 0 && start <= size(), return false);
///
void addChangesToToc(DocIterator const & cdit, Buffer const & buf,
bool output_active, TocBackend & backend) const;
///
void addChangesToToc(DocIterator const & cdit, Buffer const & buf,
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;
///
if (dr.needBufferUpdate()) {
bv->cursor().clearBufferUpdate();
bv->buffer().updateBuffer();
if (dr.needBufferUpdate()) {
bv->cursor().clearBufferUpdate();
bv->buffer().updateBuffer();
- } else if (dr.needChangesUpdate()) {
- // updateBuffer() already updates the change-tracking presence flag
- bv->buffer().updateChangesPresent();
}
// BufferView::update() updates the ViewMetricsInfo and
// also initializes the position cache for all insets in
}
// BufferView::update() updates the ViewMetricsInfo and
// also initializes the position cache for all insets in