Has a few minor issues which I'm working on. One is that not all the images display, but I'm thinking that might be due to lack of memory (even though it still doesn't show them when I reduce the cache size... hmm...)
qPDFView is really nice. It has some path problems, though. I.e. it can't find it's own help.html document and you can't use it from CLI (or you need to translate "RAM:doc.pdf" to "/RAM/doc.pdf" manually, which makes it somewhat unusable from a usual Amiga DOS script...).
@zzd10h There's a "continous page" option that can be enabled.
@cha05e90 Quote:
qPDFView is really nice. It has some path problems, though. I.e. it can't find it's own help.html document and you can't use it from CLI (or you need to translate "RAM:doc.pdf" to "/RAM/doc.pdf" manually, which makes it somewhat unusable from a usual Amiga DOS script...).
I know about those. The first I didn't see as very important (I did have a quick go at fixing it but decided not to waste much time) and the second is a consequence of being forced to use -lunix. Hmm.. actually, is it necessary to use -lunix? I'll try it without. edit Yes it is necessary, because the Qt libraries insist on it. Any suggestions for ways around the command line problem welcomed!
Path problem: Poppler has not been built with -lunix, and consequently the poppler demo works with amiga path names from the CLI. I would suggest adding something like the following to the qpdfview code:
EDIT: Ahem, no, a better way would be to fix the QRegExp and QFileInfo stuff in the main.cpp file. The reason qpdfview doesn\t work with amiga paths is, that the code in main.cpp uses QFileInfo::absoluteFilePath() to expand the paths submitted to it. That call will return a null string for absolute amiga paths.
Just remove any reference to QFileInfo and set file.filePath = argument instead. Or if you really want to reference your files using absolute paths (I cant see why you would), you need to do some conversion using qt_amiga_to_unix_path_name etc.
Unfortunately it runs like a snail in treacle here, and has a few problems. The main problem is this:
if (dynamic_cast<StelProjector2d*>(prj.data()))
{
return array;
}
If anybody knows how to do that a way which doesn't involve the dynamic_cast crap (which just crashes under OS4) OR if somebody knows how to stop dynamic casting crashing (I think it crashes when the cast doesn't match, rather than doing what it is supposed to) that will be most helpful.
Yes, that works, thanks - well with PDF it does anyway. DjVu is appending the path to the current directory for some reason, but I'm sure that won't be too difficult to fix.
edit Hmm, the PDF I just tested with caused a crash when I did grab dragging. It's one I've opened previously though and had no problems with.
edit2 I can't reproduce the drag crashing problem.
dynamic casting has some quirks. AFAIR there is an issue with multiple inheritance classes, that could be the issue here too. I think the best solution is to track the exact inheritance tree of the input to output class and do a check for each step. Or you could just implement a ::type() virtual method, that gives you the actual type of the object in some enum-erated way.