Commit graph

899 commits

Author SHA1 Message Date
Enrico Ros 6195accba0 CVS_SILENT cosmetic change.
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=404086
2005-04-08 15:35:54 +00:00
Enrico Ros da5e6b8b74 Annotations: removed the opened attribute from TextAnnotation. Fixed
a bug in Annotation::Window.
PDFGenerator: added postprocessing for handle the special pdf cases on
  TextAnnotations (where window geometry is embedded in annotation, not
  in popup and the annotation should be represented as an icon).

svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=404023
2005-04-08 11:15:23 +00:00
Enrico Ros eeff7763d2 Page: don't append parent containers if there are no children.
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=404012
2005-04-08 10:33:20 +00:00
Enrico Ros 850b7b7f53 Added 3 custom attributes to the Highlight annotation. Adapted pdf parser
and xml storage stuff.

svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=403983
2005-04-08 08:58:49 +00:00
Enrico Ros 57f0453b73 Document:
Warning before running out of memory and stop pixmap request.
  CCMAIL: 103435@bugs.kde.org
PagePainter:
  Not related to the bug: avoid scaling up slow pixmaps.

svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=403884
2005-04-07 20:26:49 +00:00
Enrico Ros bcc2542e24 Big update to annotations. DataStructures passed the recursive saving
and retrieval xml test. This second rewrite seems better than the
previous one. Maybe it's not perfect bug finally it's good enought
to move ahead now.

Annotations:
  Restored and verified XML loading/saving with recursive storing and
  retrieval of referenced objects. 100% verified and tested. Finally
  all is working as expected. The structure is clean and it's simple
  to choose the way to go now: rendering. Updated AnnotationUtils, More
  comments, removed leak.
Page:
  Adapted to changes to AnnotationUtils and Annotation, changed context
  saving.
Misc updates on TODO and PDFGenerator (fixed Ext flag).

svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=403863
2005-04-07 19:27:54 +00:00
Enrico Ros 659ae73bc8 Fixed crash when exiting with kapp->quit(). Usually the Settings singleton
is deleted after all classes, but when kpdf is run stand-alone and quit()
is used (currently only by clicking on Quit links) the app could crash.
-> Best practice: don't use KConfigXT settings classes for storing values
on destructors (do it when a parameter is updated).
CCMAIL: Mikolaj Machowski <mikmach@wp.pl>

svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=403765
2005-04-07 12:47:24 +00:00
Enrico Ros e5ed6251a6 Implemented PDF:FullScreen and Close action to KPDF 'Presentation' and
'EndPresentation' actions. Based on testcase by Mikolaj.

svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=403726
2005-04-07 09:53:15 +00:00
Enrico Ros 9709ffbd6b CVS_SILENT add whishes and in-progress-crash-solving by Mikolaj
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=403716
2005-04-07 09:09:29 +00:00
Enrico Ros 3ac84b0f73 CVS_SILENT Sync and ++Whishes.
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=403360
2005-04-05 17:46:55 +00:00
Enrico Ros 2b2a634064 PDFGenerator:
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
2005-04-05 15:05:54 +00:00
Enrico Ros 852eb6ed0d CVS_SILENT update state
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=403223
2005-04-04 23:56:57 +00:00
Enrico Ros b2b74d91c8 Adapted to annotations.h changes.
annotations.cpp is all commented out, need to work on that now.

svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=403222
2005-04-04 23:55:40 +00:00
Enrico Ros eabe001f46 The revolution starts here.
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=403221
2005-04-04 23:53:45 +00:00
Enrico Ros 372299cc5e Internal changes, broken stuff, heavy headache.
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
2005-04-04 23:52:53 +00:00
Enrico Ros 18feebc838 Moved the PDF annotations status here from annotations.h (that is going
through a deep transformation).

svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=403113
2005-04-04 12:36:10 +00:00
Enrico Ros f4231cd98c CVS_SILENT update
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=403099
2005-04-04 11:55:06 +00:00
Enrico Ros 37abd55198 CVS_SILENT more naming changes
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=402436
2005-04-01 16:24:11 +00:00
Enrico Ros 52cf329fbe Tools.xml:
Changed engine and annotation definitions.
PageViewAnnotator:
  Renewed parsing loops. Much cleaner code now.

svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=402412
2005-04-01 14:00:59 +00:00
Enrico Ros 917d5e8b79 CVS_SILENT variable names change. preparing for heavy mods.
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=402410
2005-04-01 13:54:26 +00:00
Enrico Ros 7ad04b788c CVS_SILENT add x-pdf as mimetype
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=402353
2005-04-01 09:56:32 +00:00
Enrico Ros c7a14857ce CVS_SILENT just remembered to sync todo
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=401786
2005-03-29 22:03:09 +00:00
Enrico Ros f8c5f3f928 Apply fix for 102117 to this branch too.
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=400436
2005-03-25 08:32:27 +00:00
Enrico Ros d04324545e Sync with latest status!
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=400313
2005-03-24 20:00:32 +00:00
Enrico Ros c93d339c57 Adapted to PagePainter changes.
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=400311
2005-03-24 19:59:50 +00:00
Enrico Ros e5eb63ec71 Redesigned graphic pipeline on PagePainter and hand scaling (10x gain on
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
2005-03-24 19:59:11 +00:00
Enrico Ros 4d0a1ed6e1 Added a new experimental 'Reviews' widget to the toolbox. This shows
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
2005-03-24 19:50:28 +00:00
Enrico Ros a7c62b4a98 Feature: Added vertical mouse wrapping over screen for panning the document
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
2005-03-24 19:10:41 +00:00
Enrico Ros b7cbbe8bc5 Minor cosmetic change.
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=400290
2005-03-24 18:54:13 +00:00
Enrico Ros 952f500248 Intersect is true even if not proper.
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=400289
2005-03-24 18:52:39 +00:00
Enrico Ros 861b4ed763 Cleaned up annotations structure. Packed header. Added some comments and
TODOs.

svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=400288
2005-03-24 18:51:24 +00:00
Enrico Ros ed16042b4e Regrouped options (looks cleaner now, expecially in kcfgcreator). Added
3 entries for saving checked state of 'Annotations side pane' (see next
commits).

svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=400285
2005-03-24 18:43:20 +00:00
Enrico Ros 1e9f0e590a Another milestone has been reached: complete saving/restoring of
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
2005-03-18 18:49:45 +00:00
Enrico Ros a041d23ee2 CVS_SILENT sync with last commit
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=397323
2005-03-13 17:23:38 +00:00
Enrico Ros 0de54211f1 Annotations: Author name request. Configure::generalDialog: changes.
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=397322
2005-03-13 17:23:12 +00:00
Enrico Ros 9023b05e16 Document, Page:
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
2005-03-13 13:14:44 +00:00
Jakub Stachowski 664d441534 Added action for showing/hiding left panel and removed it from settings.
"Watch file" moved to settings dialog.
BUG: 99316

svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=396976
2005-03-12 15:39:04 +00:00
Enrico Ros 65738852b8 CVS_SILENT A point that makes sense (thanks to Uga).
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=396947
2005-03-12 12:51:59 +00:00
Enrico Ros b7e621bb60 Expand scope of kdpf :-) (thanks to ktech)
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=396924
2005-03-12 11:18:16 +00:00
Enrico Ros 7feee78554 Sync that too. Updated to show current status.
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=396912
2005-03-12 08:40:44 +00:00
Enrico Ros 3c6049f415 Adapted to changes in Annotation and children strcuts.
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
2005-03-12 08:35:22 +00:00
Enrico Ros c20faca61b PDF 1.6 Annotation Parser and DSs: annotations are loaded from PDF file.
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
2005-03-12 08:30:47 +00:00
Enrico Ros de460a39c5 missing pieces for annotations support to be complete (90% missing)
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=395075
2005-03-05 16:46:29 +00:00
Albert Astals Cid aa62460776 and the file you always forget :-D
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=395069
2005-03-05 16:00:06 +00:00
Albert Astals Cid 99a10e1841 All fixes done in HEAD come to annotations branch
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=395067
2005-03-05 15:59:15 +00:00
Enrico Ros c6191c4836 Annotations -Part2- PDF1.6 DSs are summarized and ready4impl in ann*.h
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
2005-03-04 23:06:24 +00:00
nobody 8d960f1ed8 This commit was manufactured by cvs2svn to create branch
'kpdf_annotations'.

svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=394413
2005-03-02 18:32:40 +00:00
Albert Astals Cid 0571097b26 Make what i really said yesterday.
--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
2005-03-02 18:32:40 +00:00
Tom Albers 245bd035b1 Corrected two errors
BUGS: 99629,99630

svn path=/trunk/kdegraphics/doc/kpdf/; revision=394390
2005-03-02 17:19:43 +00:00
Albert Astals Cid e87148d238 Better wording
svn path=/trunk/kdegraphics/kpdf/; revision=394213
2005-03-01 22:12:39 +00:00