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
Just use the pointer as id :-)
This is BIC and SIC, increase the soversion now to makes sure we don't forget in the future
Patch based in an earlier patch by Bogdan Cristea <cristeab@gmail.com>
REVIEW: 109115
Widget annotations are not meant to behave like "regular" annotations.
In particular, they must not be listed in the review panel or when the
user right-clicks on form fields.
in the hicolor namespace. Before, the non-specified
"graphics-viewer-document" icon was used, which caused
icon loaders from other toolkits not to find this icon
as they don't consider Oxygen by default.
Also update all the references that made use of the
"graphics-viewer-document" icon in the code and
the many .desktop files.
svn path=/trunk/KDE/kdegraphics/okular/; revision=819965
It provides the items this way:
root
+ page 1
| + annotations for page 1
+ page 2
| + annotations for page 2
.. and so on
It does not return subtrees for pages without annotations.
svn path=/trunk/KDE/kdegraphics/okular/; revision=709946