- Page: rotation does not switch height and width
- Document/Part/Generator:
1. Add API for attaching stuff to the interface: ActionCollection and the Navigation Panel
also add possibility to merge an XML .rc file with menu layout. Relevant functions are:
QString Generator::getXMLFile(), returns a QString with your .rc file name.
void Generator::setupGUI (KActionCollection* , QToolbox* ), add your components to the user interface
2. Supporting backend settings:
If during startup, backends which provide a configuration ([X-KDE-oKularHasInternalSettings]
set to true) are found, a menu item: configure backends is created, clicking on it results in
loading all the generators that have settings, but not those that dont. the Generator::addPages(KConfigDialog *dlg)
function should be overloaded by a generator and dlg->addPage should be used to add pages.
If a user opens a file that needs an already loaded generator, the already loaded one is used instead of loading another.
3. Error/Warning/Notice sending support, to send a notice/error/warning, add a relevant notice/error/warning(QString& txt ,int duration)
to the generator class, and sending a message to the user is as simple as emitting a signal!
4. Intercepting of events generated by the PageView is done by Generator::handleEvent(QEvent*), subclass it, do a switch on QEvent::type(), handle your
event and return true if pageview is to proceed with its handling or false if not.
5. Support configuring the KPrinter on the generator side, use Generator::canConfigurePrinter(), return true there, and you get a nonconfigured KPrinter in your
Generator::print()
6. PixmapRequest handling update:
a.) Generator::canGeneratePixmap is now Generator::canGeneratePixmap(bool async)
b.) Document::sendGeneratorRequests is a slot now
c.) Old way of sending pixmaps (Document::requestPixmaps(QValueList<PixmapRequest*> checking if we can generate pixmap if not, waiting for receiving)
is replaced with: requestPixmaps only queues the pixmap all checking if w can generate is done in sendGeneratorReqest, the sendGeneratorRequest is
run in three places:
1. in requestPixmaps when we receive a request
2. in requestDone if pixmapStack is not empty
3. sendGeneratorRequest, apart from removing invalid requests, takes the current request and if generator canGeratePixmap(request->async)
it removes the pixmap from stack and sends to generator if not, QTimer::singleshots to itself after 20ms, it ends when stack has no valid pixmap request
7. Added a commented out zoom field to PixmapGenerator, mightcome in handy sometime
- TextPage: add instructions that handle simplyfing the RegularAreaRect, no more double painted borders in selection rectangles, this rocks.
svn path=/trunk/playground/graphics/oKular/kpdf/; revision=445196
still i implemented all of this myself, damn ghostview is making me lose all the joy i had in working
on okular, working with such a badlyu document API like libgs has i just killing me...
svn path=/trunk/playground/graphics/oKular/kpdf/; revision=437094
* moving all xpdf stuff from core and part to inside generator_pdf
* adding abstract KPDFText class and KPDFTextEntity to hold either
glyph, or word or textline
- support for importing PS files as pdf like on annots branch
- synced with annots branch
- abstract text layer with search for words in different lines
- added RegularArea<NormalizedShape,Shape> template class
which inherits QValueList<NormalizedShape*> and is used
to hold regular areas of given shape (finite collections of the shape)
- loading of relevant generators via ktrader for given mimetype
- the deliverables 1 and 2 of my SoC proposition are delivered
next: 1. fix one spotted regression and 2. code ghostview backend
svn path=/trunk/playground/graphics/oKular/kpdf/; revision=434883
- mark one function to remove later
- add one more category to desktop file to be more vfolders compliant
svn path=/trunk/playground/graphics/oKular/kpdf/; revision=431970
existing ones, updated 'tools.xml' with new names and made generator_pdf
parse pdf icon names as lowercase. Added SVG sources too for the icons.
- note that I suck as icon maker, so plz make good looking icons and don't
complain about these - :-))
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=405395
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
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
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
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
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
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