Better flow in annotations parser.
Annotation:
Cleanups in header.
PageView:
Adjusted a squelch.. I think a neural network it's the least we can do
to choose that float number between 0.6 and 0.7.
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=403319
PDFGenerator:
Changed parser to deal with the new data structures:
1) Popups are not inserted anymore as annotations, but parsed and
scheduled for later merging with other annotations. Shared popups are
permitted (the pdf reference doesn't clarify on this, so we better
support them).
2) Annotations can have an internal hieracy. When an IRT annotation is
found, it's parsed and scheduled for later merging in the parent's
tree.
The merges take place at the end of the annotation retrieval. At that
point all cross-objects are in memory and we can resolve/reparent
stuff.
README.Annotations:
Note on internal parser.
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=403219
typical usage).
PagePainter:
Added 2 convenience methods for performing fast cropping and scaling
from qpixmaps to qimages. Split buffered graphic flow from the unbuffered
one reducing buffers conversions to the minimum. Avoid odd cases in
rescaling. Detection of annotations boundaries to check for enabling
buffered painting.
Sample quick dirty and broken (but not so much..) implementation for
painting AStamp annotations.
Misc:
PresentationWidged and ThumbnailWidget: adapted to PagePainter changes.
(PageView mod has already been committed).
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=400310
all the reviews on the document (pretty unuseful now, but that will
change ;-). Another step to good kpdf annotations.
Part:
Added Reviews toolbox pane. Added (commented out while doing it right)
searchline for toc; just works.
Misc:
Observer: added id for Reviews pane (as document observer it monitors
document/annotations changes). Page: added 2 temporary accessors for
annotations (will change soon). Makefile: added side_reviews.cpp to
compilation. Searchwidget: slight better spacing to look consistant with
the review panel.
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=400307
and when dynzooming by holding the mid mouse button.
Fix: mouselock bug due to unproper dynzooming handling. Also don't
request pixmaps continuely during the operation -> speeds up DZ.
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=400293
3 entries for saving checked state of 'Annotations side pane' (see next
commits).
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=400285
annotations in the 'document tie file'. Every attribute of kpdf dss
can be dumped to disk. Only rendering prevents HEAD merging now! :-)
Annotations:
Storage: full annotations saving/loding on the tied XML is implemented.
every annotation put on a page (either loaded from a pdf or created
internally is loaded and saved when opening/closing a document).
Attributes are dumped to XML and reloaded from it via qdom
DataStructures: internal changes, better naming, some attributes fused.
PopupAnnotation has become WindowAnnotation
PDF16Parser: 100% completeness for the types we support
PDFGenerator:
adapted to annotation ds changes. better parsing on a couple of attrs.
correctly handle 'F'.
Misc:
Document: remove/cleanup debugs, Page: performance testing stuff added,
PagePainter: setPen( annot->color ), PageV..or: typo,
TODO: many changes
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=398789
Changed loadDocumentInfo/saveDocumentInfo semantics. Document settings
are saved by Document, but page related stuff (bookmark state,
annotations, ...) are loaded/saved by the KPDFPage itself.
Annotation:
Better usage of dom entities (QDomElement(s) -> QDomNode(s)). Added const
modifier to 'saveSettings' methods.
Part:
Use setCheckedState for the show/hide left panel menu entry. Use icon
too. Bumped .rc revision.
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=397236
PagePainter:
Only draw annotation extents (the rect property).
PageViewAnnotator:
Changed AnnotatorEngine(s) to deal with new attribs in structures. In
particular they use the NormalizedRect attribute of annotation instead
of the annotation as a rect itself.
Todo:
Updated.
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=396911
AFAIK the kpdf team is once again the first opensource reader to get
support for a cool feature. All annotations in pdf file are read and
converted to our internal data structures. Then they'll be rendered on
screen and changed/saved to our xml file.
Annotations completely supported and parsed from PDF: [markup], popup,
text, freetext, line, polygon, polyline, highlight, underline, squiggly,
strikeout, stamp, ink. Partial support for: [base], geom.
Annotations:
Added/Changed the passive annotation data structures to contain and
generalize the attributes of annotation classes. Missing attributes
(won't be handled by kpdf): base{P,AP,AS,A,AA,StructPar,OC}, geom{RD}.
Little changes to the PDF1.6 summary in header.
PDFGenerator:
Internal parser (discussed with Albert) directly in top of xpdf. Read
object nodes of type 'Annot' and parse the whole set of attributes as
defined in the PDF1.6 spec (for supported annotations).
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=396909
Annotation: the class has been passivized. It's only a data container now,
no more active manipulation of events/paints.
PageViewAnnotator: this class has been created to handle creating annots.
PageView creates its 'Annotator on demand. The annotator parses tool
definition from the 'tool.xml' file.
The Annotator internally uses AnnotatorEngine(s) to react to mouse events
and the annotation is created when the job is really finished.
Page: added a (maybe temporary) NormalizedPoint to complement Norm..Rect.
PageViewUtils: removed PageViewEditTools and cleaned up header.
conf/: added a debug option for showing annotation boundary while creating
one and added a temporary 'debug' toolbox in the config dialogs.
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=394959
--enable-force-kpdf-drm is a configure option, it defaults to NO, if YES DRM is ALLWAYS obeyed
skip_drm is a kiosk option, it defaults to YES, if NO, means the user is not authorized to skip DRM and DRM is ALLWAYS obeyed
if previous options are no and yes, the user sees a GUI option called Obey DRM limitations that defaults to YES but the user can set to NO from the GUI
svn path=/trunk/kdegraphics/kpdf/; revision=394412
How it is going to end:
- Exists a configure option called --enable-kpdf-drm that is DISABLE by default and you can use to FORCE kpdf obeying DRM
- Exists a kiosk option called skip_drm that is true by default and the admin can set to TRUE to FORCE kdpf obeying DRM
- Exists a GUI option called Obey pdf limitations that is shown if skip_drm is true, that option is ON by default, that means DRM is obeyed but the user can disable it from the GUI
Hope that will please everyone
Please can somebody with better english than me check that the wording i used is actually correct english? Thanks
svn path=/trunk/kdegraphics/kpdf/; revision=394212
Olaf can you check that fixes your wrong paper format complaining printer too?
CCMAIL: 98837@bugs.kde.org
BUGS: 100003
svn path=/trunk/kdegraphics/kpdf/; revision=393859
pageviewtoolbox.cpp/.h: Removed.
PageViewToolBar (was PageViewToolbox): Moved def/impl inside the
pageviewutils.c/.h files. Uses eventfilter to get notified when the
anchorWidget changes in size. Cleaned up code.
Annotations: added empty code.
PageView: removed some code. fixed rmb popup menu hidden if no document
was opened.
Updated TODO.
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=393302