void TextDocumentPrivate::updateRevisions() { TextDocumentLayout *documentLayout = qobject_cast<TextDocumentLayout*>(m_document.documentLayout()); QTC_ASSERT(documentLayout, return); int oldLastSaveRevision = documentLayout->lastSaveRevision; documentLayout->lastSaveRevision = m_document.revision(); if (oldLastSaveRevision != documentLayout->lastSaveRevision) { for (QTextBlock block = m_document.begin(); block.isValid(); block = block.next()) { if (block.revision() < 0 || block.revision() != oldLastSaveRevision) block.setRevision(-documentLayout->lastSaveRevision - 1); else block.setRevision(documentLayout->lastSaveRevision); } } }
void TextDocumentPrivate::resetRevisions() { TextDocumentLayout *documentLayout = qobject_cast<TextDocumentLayout*>(m_document.documentLayout()); QTC_ASSERT(documentLayout, return); documentLayout->lastSaveRevision = m_document.revision(); for (QTextBlock block = m_document.begin(); block.isValid(); block = block.next()) block.setRevision(documentLayout->lastSaveRevision); }