diff options
-rw-r--r-- | src/tools/clangbackend/ipcsource/clangdocument.cpp | 13 | ||||
-rw-r--r-- | src/tools/clangbackend/ipcsource/clangdocument.h | 3 | ||||
-rw-r--r-- | src/tools/clangbackend/ipcsource/clangdocuments.cpp | 3 |
3 files changed, 16 insertions, 3 deletions
diff --git a/src/tools/clangbackend/ipcsource/clangdocument.cpp b/src/tools/clangbackend/ipcsource/clangdocument.cpp index 3cfcfabe09..933bf61276 100644 --- a/src/tools/clangbackend/ipcsource/clangdocument.cpp +++ b/src/tools/clangbackend/ipcsource/clangdocument.cpp @@ -71,6 +71,8 @@ public: uint documentRevision = 0; + TimePoint visibleTimePoint; + TimePoint isDirtyChangeTimePoint; bool isDirty = false; @@ -245,13 +247,22 @@ bool Document::isVisibleInEditor() const return d->isVisibleInEditor; } -void Document::setIsVisibleInEditor(bool isVisibleInEditor) +void Document::setIsVisibleInEditor(bool isVisibleInEditor, const TimePoint &timePoint) { checkIfNull(); + if (isVisibleInEditor) + d->visibleTimePoint = timePoint; d->isVisibleInEditor = isVisibleInEditor; } +TimePoint Document::visibleTimePoint() const +{ + checkIfNull(); + + return d->visibleTimePoint;; +} + bool Document::isDirty() const { checkIfNull(); diff --git a/src/tools/clangbackend/ipcsource/clangdocument.h b/src/tools/clangbackend/ipcsource/clangdocument.h index 15555ace10..48dc32acee 100644 --- a/src/tools/clangbackend/ipcsource/clangdocument.h +++ b/src/tools/clangbackend/ipcsource/clangdocument.h @@ -97,7 +97,8 @@ public: void setIsUsedByCurrentEditor(bool isUsedByCurrentEditor); bool isVisibleInEditor() const; - void setIsVisibleInEditor(bool isVisibleInEditor); + void setIsVisibleInEditor(bool isVisibleInEditor, const TimePoint &timePoint); + TimePoint visibleTimePoint() const; bool isDirty() const; TimePoint isDirtyTimeChangePoint() const; diff --git a/src/tools/clangbackend/ipcsource/clangdocuments.cpp b/src/tools/clangbackend/ipcsource/clangdocuments.cpp index 7ae7106cc8..5fc8f294a7 100644 --- a/src/tools/clangbackend/ipcsource/clangdocuments.cpp +++ b/src/tools/clangbackend/ipcsource/clangdocuments.cpp @@ -117,8 +117,9 @@ void Documents::setUsedByCurrentEditor(const Utf8String &filePath) void Documents::setVisibleInEditors(const Utf8StringVector &filePaths) { + const TimePoint timePoint = Clock::now(); for (Document &document : documents_) - document.setIsVisibleInEditor(filePaths.contains(document.filePath())); + document.setIsVisibleInEditor(filePaths.contains(document.filePath()), timePoint); } const Document &Documents::document(const Utf8String &filePath, const Utf8String &projectPartId) const |