It turns out I already was on the right track...just not all the way:
I indeed need to listen to modificationChanged
signals since they are emitted on content changes (which are the relevant events for my application save state handling).
I however originally did not see a way to reset the internal modification state (e.g. when my application saves its state). The reason was that setModified(bool)
does not exist for the QPlainTextEdit
, but I realized that each of those objects has a QTextDocument
internally which does have that method. So I simply call that each time I need to reset the state to non-modified:
m_pPlainTextEdit->document()->setModified(false);
As a result, when the content is changed the next time, modificationChanged
will get emitted again so that I can react to it and for example enable the "Save" icon.
BTW: The signal contentsChanged
from QTextDocument
is also emitted upon formatting changes, so not helpful in my scenario.