/// If there was an error when previewing, on the next preview we do
/// a fresh compile (e.g. in case the user installed a package that
/// was missing).
- bool preview_error_;
+ bool require_fresh_start_;
/// Cache the references associated to a label and their positions
/// in the buffer.
+ (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();
file_fully_loaded(false), file_format(LYX_FORMAT), need_format_backup(false),
ignore_parent(false), toc_backend(owner), macro_lock(false),
checksum_(0), wa_(0), gui_(0), undo_(*owner), bibinfo_cache_valid_(false),
- cite_labels_valid_(false), have_bibitems_(false), preview_error_(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();
layout_position = cloned_buffer_->d->layout_position;
preview_file_ = cloned_buffer_->d->preview_file_;
preview_format_ = cloned_buffer_->d->preview_format_;
- preview_error_ = cloned_buffer_->d->preview_error_;
- tracked_changes_present_ = cloned_buffer_->d->tracked_changes_present_;
+ require_fresh_start_ = cloned_buffer_->d->require_fresh_start_;
}
}
-bool Buffer::lastPreviewError() const
+bool Buffer::freshStartRequired() const
{
- return d->preview_error_;
+ return d->require_fresh_start_;
+}
+
+void Buffer::requireFreshStart(bool const b) const
+{
+ d->require_fresh_start_ = b;
}
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:
Impl * theimpl = isClone() ? d->cloned_buffer_->d : d;
theimpl->preview_file_ = previewFile;
theimpl->preview_format_ = format;
- theimpl->preview_error_ = (status != ExportSuccess);
+ theimpl->require_fresh_start_ = (status != ExportSuccess);
if (status != ExportSuccess)
return status;
// update all caches
clearReferenceCache();
updateMacros();
- setChangesPresent(false);
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();
- setChangesPresent(false);
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);
- // update change-tracking flag
- parit->addChangesToBuffer(*this);
-
// 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()) {