diff --git a/src/core/document.cpp b/src/core/document.cpp index fc346a6d..7af75372 100644 --- a/src/core/document.cpp +++ b/src/core/document.cpp @@ -144,11 +144,16 @@ bool Document::hasChangedOnDisk() const return true; } -void Document::reload() +void Document::clearChangedOnDisk() { - doLoad(m_fileName); const QFileInfo fi(m_fileName); m_lastModified = fi.lastModified(); +} + +void Document::reload() +{ + doLoad(m_fileName); + clearChangedOnDisk(); emit fileUpdated(); } diff --git a/src/core/document.h b/src/core/document.h index 4f470349..d6ec4655 100644 --- a/src/core/document.h +++ b/src/core/document.h @@ -61,6 +61,7 @@ class Document : public QObject bool hasChanged() const; bool hasChangedOnDisk() const; + void clearChangedOnDisk(); void reload(); public slots: diff --git a/src/gui/mainwindow.cpp b/src/gui/mainwindow.cpp index 53de9a1e..eb38441a 100644 --- a/src/gui/mainwindow.cpp +++ b/src/gui/mainwindow.cpp @@ -505,6 +505,9 @@ void MainWindow::reloadDocuments() if (result == QMessageBox::Yes) { for (auto *document : conflictDocs) document->reload(); + } else { + for (auto *document : conflictDocs) + document->clearChangedOnDisk(); } }