The KTextEditor preview plugin* repeatedly feeds new
versions to the same kpart instance, to allow instant
preview of changes. To avoid stressing of the filesystem
the stream API of the kpart is used if available.
*https://frinring.wordpress.com/2017/08/21/look-what-you-have-donewwdo/
This patch adds support for the stream API.
Additionally it remembers the view state on closing an url,
and if the same url is load again, the view state is restored.
The latter allows continuous display of the same, but
updated file as e.g. happening with the preview plugin.
Open questions:
# use of the streaming API matching intentions?
# Restoring of view state overlaps with support in browser history, for which there is the KParts::OpenUrlArguments property of ReadOnlyPart. That one only supports x/y offset, so how would zoom and other custom state properties be save and retrieved again, if they should?
This patch should help to solve this questions in general, so it is
known what to do for other kparts.