X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FChanges.h;h=5bded171ac5c5d5bce5d2c6596b38610f2629456;hb=80983a35535753992ab1499e2230592063f6ddcb;hp=96383967b96f89fb44b7db096e1804f8c091183c;hpb=760bca8265820331b68fb1b5628aa389345a6d11;p=lyx.git diff --git a/src/Changes.h b/src/Changes.h index 96383967b9..5bded171ac 100644 --- a/src/Changes.h +++ b/src/Changes.h @@ -21,8 +21,6 @@ #include "support/types.h" #include "support/lyxtime.h" -#include "texstream.h" - #include @@ -31,9 +29,12 @@ namespace lyx { class AuthorList; class Buffer; class DocIterator; +class FontInfo; class OutputParams; +class otexstream; class PainterInfo; -class FontInfo; +class TocBackend; + class Change { public: @@ -94,7 +95,7 @@ class BufferParams; class Changes { public: - Changes() : is_update_required_(false) {} + Changes() : previously_changed_(false) {} /// set the pos to the given change void set(Change const & change, pos_type pos); @@ -137,12 +138,12 @@ public: /// void addToToc(DocIterator const & cdit, Buffer const & buffer, - bool output_active) const; + bool output_active, TocBackend & backend) const; /// void updateBuffer(Buffer const & buf); /// - bool isUpdateRequired() const { return is_update_required_; } + bool isUpdateRequired() const { return previously_changed_ != isChanged(); } private: class Range { @@ -187,9 +188,9 @@ private: /// table of changes, every row a change and range descriptor ChangeTable table_; - /// signals that the buffer's flag tracked_changes_present_ needs to be - /// recalculated - bool is_update_required_; + /// 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_; };