implement annotations now (and create the save/load procedure).
Annotations: converging to a stable Annotation definition. Changed a bit
the paint functions. Added a first 'template' annotation, a simple
pen-like segments recorder for framework testing purposes only. This
has events filters in place and the rough paint function implemented.
PageView: removed the MouseEdit mode and using that button for toggling
the editToolBox instead. Added Annotation support. When the Annotation
is created, all pageView events flow through that new object. Repaint
of damaged/old areas is done internally and is based on the geometry
of the annotation we're creating. When an Annotation is complete, it
is reparented to the Page that adds it to its internal list.
From that point on the annotation will be rendered by pagePainter
using the pixmap-based paint function provided by the annotation
itself.
PagePainter: draws annotations stored in pages when rendering (using the
'rought paint function' till the good pixmap based one will be in
place.
Page: added preliminary support for adding Annotation(s) to the page
and deleting them all.
Document: added the pass-through call to add an Annotation to the Page
and notify observers.
PageViewToolbox: can be draged and attached to any side. Position is
remembered between runs (choose your side and that the toolbox will
always be there). Available on Right and Bottom sides too. Emits -1
when the current tool is deselected.
Misc: added Annotations to both the 'observers changed flags' and the
'pagepainter' ones and updated ui classes accordingly.
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=390638
Removed old code, reworked bad code.
I have no more reported crashes now.
No plans for additions or code changes till 3.4 release.
Thank you all kpdf users, Have Fun!
svn path=/trunk/kdegraphics/kpdf/; revision=385897
Part). Implemented 'history (xpdf's LinkAction) links'. History depth is
100 steps by default (this is enough for sure, clicking 100 times on a
button is not an easy task :-).
Minor issues (removed half TODOs in code, all FIXMEs are already removed):
Invoke mailer on 'mailto:' links inst instead of konqueror.
Actions cleanup: disable actions like 'print', 'preview', 'save to..', etc
when there isn't an active document. Added history actions to the toolbar
in place of the 'prev_page' and 'next_page' ones. Fixed open+open_recent
action tooltip and behavior.
Move definition and implementation of PagePainter class to ui/pagepainter
from core/page.
Valgrinded and leakchecked (2 memory leaks spotted and fixed (missing
contents deletion in KPDFGeneratorThread and missing deletion of
PixmapRequests on cancel in Document::requestPixmaps())).
svn path=/trunk/kdegraphics/kpdf/; revision=382960
Display contents faster, waste less memory. Added preloading to forward-
generate pages (if threading enabled and memory profile >= normal). Main
pages are always generated first, then thumbnails come, then preload ones,
etc.. Btw memory and cpu will be happier now.
(1 bug in memory and 1 in preloading still remains.. will be spotted soon)
For Developers:
Generator: dropped moc, api changes, better functions naming.
PDFGenerator and Document: moved requests queue to the Document.
The generator performs only a single request a time. A flag can be
queried to know if the generator is ready for starting another pixmap
generation or not (in case it's generating a pixmap in background).
PixmapRequest: added priority and backgound (async) attributes.
Document: queuing requests by priority in requestPixmaps.
Observer: added defines for priorities used in doc->requestpixmaps.
PageView: delayed find-ahead timer creation (not created if not needed).
Added preload PixmapRequests to the pixmap requests list.
ThumbnailsList: adapted to pixmapRequest changes and changed naming for
delayed thumbanils request.
svn path=/trunk/kdegraphics/kpdf/; revision=379820
bodies. Optimized fit width and a saved a couple of pixmap requests. Busy
cursor on load and searches.
svn path=/trunk/kdegraphics/kpdf/; revision=377152
for the file naming map and file versioning. Please wait until the commit
storm ends to report any bug. Albert and Enrico
Compile fixes.
svn path=/trunk/kdegraphics/kpdf/; revision=374944
for the file naming map and file versioning. Please wait until the commit
storm ends to report any bug. Albert and Enrico
File namings change.
svn path=/trunk/kdegraphics/kpdf/; revision=374924