-
How does it work: * What it does is really closing and opening the file again through poppler * This means that things that are generated in "open" time like Page, Rects, Annotations, Forms need to be updated * For Page what we do is swap the PagePrivate so that other classes that hold Page* don't break * Since some parts of the PagePrivate can be reused, we move them in PagePrivate::adoptGeneratedContents * For all the commands in the undo stack we need to update the annotations/forms it refers to, added a new function to do that * The annotationmodel needs updating it's pointers * The widgets for the forms are reused and their form* updated * the widgets for the videos are recreased since videos don't really hold much content (you lose the playing status on save but i think that's acceptable) TODO: Make this work for .okular files TODO: For files with password we will need to reload the file, asking for the password again and thus losing the undo stack, warn the user TODO: autotests
ca5422d0