Summary:
It appears it's copied and pasted from LibCHM and while it's indeed
needed to support displaying CHM files, it's a library of its
own.
Reviewers: #okular
Tags: #okular
Differential Revision: https://phabricator.kde.org/D8879
The the original unique name was empty. Otherwise we can't find the annotation after save/reload because the annotation name is still empty and a new random id is assigned
Summary:
This way pages that take more than 500ms to render get updated every so often so that the
user can see that the program didn't hang, it's just that it's taking long to render
Tags:
incremental rendering, partial updates
BUGS: 344081
Subscribers: #okular
Tags: #okular
Differential Revision: https://phabricator.kde.org/D8379
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
This patch updates our copy of the chm lib from kchmviewer. The lib files itself are an unmodified copy from kchmviewer 7.7, only our generator needed some changes. In contrast to kchmviewer we still use khtml and therefor still need msits.
REVIEW: 130226
Previously, rasterized printing would use the QPrinter backend whenever
annotations were to be printed, and fall back to the convert-to-ps
toolchain otherwise. Effectively, this meant that printing on
windows without showing the annotations was not possible (because
on windows only the QPrinter can be used for printing).
Starting with poppler 0.60, there is a way to disable annotation
rendering for the renderToImage and renderToPainter methods that
are used by QPrinter. This patch makes use of this new option,
making printing on windows without annotations possible.
Differential Revision: https://phabricator.kde.org/D7688