]> git.lyx.org Git - lyx.git/blobdiff - src/Changes.h
Amend 7e121117bb3203
[lyx.git] / src / Changes.h
index 96383967b96f89fb44b7db096e1804f8c091183c..5bded171ac5c5d5bce5d2c6596b38610f2629456 100644 (file)
@@ -21,8 +21,6 @@
 #include "support/types.h"
 #include "support/lyxtime.h"
 
-#include "texstream.h"
-
 #include <vector>
 
 
@@ -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_;
 };