- Wilfried, could you recheck oKular from svn and rebuild it, should work for you now :)
CCMAIL:Wilfried Huss <Wilfried.Huss@gmx.at>
svn path=/trunk/playground/graphics/oKular/kpdf/; revision=456053
- fix loading docuemnts that dont have the dsc by using one page of local papersize with the pixmap generated by ghostscript after sending the whole document, fixes first bigger bug in oKular
svn path=/trunk/playground/graphics/oKular/kpdf/; revision=456051
- What works:
+ viewing documents
+ thumbnail generation
+ calculating page sizes based on the size of their KHTMLView
+ table of contents
- What is pending:
+ using internal index, will code it once I comeback, wasted too much time on textpage generation
- What probably will not work:
+ printing the entire document, no CHM viewer provides it now
it would need some kind of being able to print multiple HTML files
at once or sth similar (maybe anyone else has an idea?)
- About generating the textpage:
I went a long way, with enormous, and I do mean enormous help from SadEagle explaining to me how
to use the KHTML API to generate the text page in a usable way (actually getCaretPos is depreciated
and not document, and if you try to read the code, you'll notice it delegate the important stuff
further and further into the KHTML core. Understanding KHTML's core is a bit too much to require
at the moment.
Well finally I had something close to working, some words are matched properly - the rectangles are ok,
most are matched with a one/one and a half offshot to the right, finally some are not matched because
getCaretPost returns -1 as the left X border, I have no idea why, when I am asking for a
This is why I am ccing to kfm-devel, if anyone of you guys, has a while to spare and would be kind
enough, I would like to ask you to look at generator_t.cpp and the
void TGenerator::recursiveExploreNodes(DOM::Node node,KPDFTextPage *tp)
function, and tell me what seems wrong there? Also if you knwo a better way to get per character
coordinates for every character in the text inside a HTML Page, please let me know.
CCMAIL:kfm-devel@kde.org
svn path=/trunk/playground/graphics/oKular/kpdf/; revision=450785
make: *** No rule to make target `gssettingswidget.lo', needed by `libgssettings.la'. Stop.
but everything seems to be ok in the makefile.am, help me please
svn path=/trunk/playground/graphics/oKular/kpdf/; revision=445674
- GSLogWindow initially based on kghostview code got a total overhaul and is practically rewritten
- THIS SHOULD COMPLETE 3rd of5 DELIVERABLES, 5 am, need sleep now.
svn path=/trunk/playground/graphics/oKular/kpdf/; revision=445397
Ghostscript backend depends on libgs Ghostscript shared library.
- BTW. anyone know how to add a -Lsth flag to KDE_CHECK_LIB so it can be found if nonstandard directory is chosen?
svn path=/trunk/playground/graphics/oKular/kpdf/; revision=445369
1. GSGenerator (generator ghostview, need renaming)
Implements the Generator class, handles PixmapRequest transmission and starts other objects.
2. InternalDocument
Holds information stored in document's DSC and the information set by the user:
Page Format, BoundingBoxes, etc, some code taken from kghostview
3. GSInterpreterLib, the synchronous pixmap generator
4. GSInterpreterCMD, asynchronous pixmap generator that communciates with the kpdflibgsasynchelper application
svn path=/trunk/playground/graphics/oKular/kpdf/; revision=445276
- 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
- add an option to allow selecting a generator by the user if more than one generator found for given mimetype
svn path=/trunk/playground/graphics/oKular/kpdf/; revision=445154
GS says it cant open the initial device, does it mean the pximap or the widget? does the widget need to be shown
before it can receive communication from X11?
Asking Luis, he might know. I wanted to use the library version of the interpreter but it
somehow fails to create instance... Will investigate it later.
CCMAIL: luis@luispedro.org
svn path=/trunk/playground/graphics/oKular/kpdf/; revision=439247