Commit graph

87 commits

Author SHA1 Message Date
Albert Astals Cid
48651d22dd warning-- 2012-07-02 11:50:32 +02:00
Albert Astals Cid
df5b9cd4a2 Do not set mTextPageReady to true
mTextPageReady is only used for threaded generation and this is a sync one so resetting it to true make very bad things happen
An improvement of this area is needed since it makes no sense canGenerateTextPage returns mTextPageReady when generateTextPage doesn't use itB
BUGS: 297379
FIXED-IN: 4.8.3
(cherry picked from commit c29ce712cf)
2012-04-06 00:53:02 +02:00
Montel Laurent
f9f65979f5 Normalize signals/slots 2011-07-31 21:22:04 +02:00
Albert Astals Cid
0f0cacd63a add a way to generators give a bit more info of why printing failed
and implement it in the pdf generator, others welcome to implement the function
for other generators

svn path=/trunk/KDE/kdegraphics/okular/; revision=1114944
2010-04-14 23:07:27 +00:00
Armin Berres
555cb3c9a1 add synctex support for pdf files
svn path=/trunk/KDE/kdegraphics/okular/; revision=1003016
2009-07-27 14:15:33 +00:00
Pino Toscano
e52672e720 SVN_SILENT slightly improve the debug output of PixmapRequest
svn path=/trunk/KDE/kdegraphics/okular/; revision=914231
2009-01-20 17:37:57 +00:00
Pino Toscano
4501a3afbe make "standard threaded" backend use the right async setting
BUG: 181390

svn path=/trunk/KDE/kdegraphics/okular/; revision=914065
2009-01-20 12:52:01 +00:00
Brad Hards
cfb62ab4d5 Add support for export to OpenDocument text and HTML
for TextDocumentGenerator-based generators:
 - EPub format
 - Fictionbook format
 - OOO.

This depends on Qt 4.5. Thanks to Qt Software (or wherever Thomas Z.
works) for QTextDocumentWriter!

It wouldn't be too hard to make this work for plucker (.pdb)
format, but that format doesn't work for me. It would be very
hard to make it work for other formats.


svn path=/trunk/KDE/kdegraphics/okular/; revision=855771
2008-09-01 12:00:50 +00:00
Pino Toscano
e00b99bba1 add ODT in the export format class
svn path=/trunk/KDE/kdegraphics/okular/; revision=843642
2008-08-07 13:45:43 +00:00
Albert Astals Cid
61964b930f And now okular coupled with poppler from 5 minutes ago has the hability to let you save to file fonts embedded into a pdf file
svn path=/trunk/KDE/kdegraphics/okular/; revision=840789
2008-08-01 20:26:22 +00:00
Pino Toscano
9ea54d7298 update the bounding box of page after the pixmap of the page has been delivered to the observer that requested it,
otherwise the observer gets the change in the bounding box, and request the pixmap if not available, but there's an available pending request (finished) already

svn path=/trunk/KDE/kdegraphics/okular/; revision=814826
2008-05-31 11:23:02 +00:00
Pino Toscano
6725e71340 when generating the page image in an internal secondary thread (started by the base generator), then also calculate the page bounding box in the thread
svn path=/trunk/KDE/kdegraphics/okular/; revision=810380
2008-05-20 15:20:40 +00:00
Pino Toscano
18f486c2c1 add the possibility to store an useful bounding box of a page, and for generators to notify the document (and its observers) on its change
original patch by kde2eran@tromer.org, thanks!
CCMAIL: kde2eran@tromer.org

svn path=/trunk/KDE/kdegraphics/okular/; revision=809467
2008-05-18 23:06:21 +00:00
Pino Toscano
697d51e1a2 Make the rendering for TextDocument-based generators threaded, only if Qt (via QFontDatabase) tells us we can.
... but, as it's proving to be buggy (text disappearing from menus) and crashing (out-of-range font engine list), it's disabled for now, define OKULAR_TEXTDOCUMENT_THREADED_RENDERING to try it.

svn path=/trunk/KDE/kdegraphics/okular/; revision=804719
2008-05-06 20:20:10 +00:00
Albert Astals Cid
bb23209234 limit the number of text pages we keep in memory so that searching does not bring your system to its knees
BUG: 161213

svn path=/trunk/KDE/kdegraphics/okular/; revision=803949
2008-05-04 15:10:32 +00:00
Pino Toscano
3b9ad84427 do not crash when a non-active generator asks for the document
svn path=/trunk/KDE/kdegraphics/okular/; revision=787699
2008-03-19 17:01:00 +00:00
Pino Toscano
c44ce52719 add a private reimplementation of metaData() so the text document generator can show the title of a document
svn path=/trunk/KDE/kdegraphics/okular/; revision=785821
2008-03-15 02:15:16 +00:00
Pino Toscano
e023effb15 Add a requestPixmaps() overload that takes options as flags.
This way we can tell to "merge" in a smart way the new pixmap request with the enqueued ones of the same ID.

Add a (private) slot to refresh all the pixmaps of a page.

svn path=/trunk/KDE/kdegraphics/okular/; revision=783259
2008-03-07 15:50:48 +00:00
Pino Toscano
283852c563 instead of assert()'ing, just acts like a Document and delete the pixmap request
svn path=/trunk/KDE/kdegraphics/okular/; revision=769280
2008-02-01 00:30:48 +00:00
Jakob Petsovits
df780d0096 Icon naming spec compliance (code changes - KDE/):
* text -> draw-text, or edit-rename (depends)
* replace inappropriate usage of "table"
  (in preparation of moving it out to KOffice)

svn path=/trunk/KDE/kdegraphics/okular/; revision=756900
2008-01-03 21:56:11 +00:00
Pino Toscano
66376cf31f make swap() private
svn path=/trunk/KDE/kdegraphics/okular/; revision=744918
2007-12-04 21:36:32 +00:00
Pino Toscano
5b01430bb0 remove internal aboutdata+componentdata of the generator, now it's handled by the plugin system
svn path=/trunk/KDE/kdegraphics/okular/; revision=744197
2007-12-02 22:55:12 +00:00
Pino Toscano
6aa123656a Port the plugin system to the standard KDE factory and loader, getting rid of the custom system okular had so far.
This requires a generator to have a
  MyGenerator(QObject *parent, const QVariantList &args)
constructor in order to be successfully loaded.
The OKULAR_EXPORT_PLUGIN macro was adapted, and the generators to provide it the about data; the protected Generator::setAboutData() is no more needed.

Remove the 'lib' prefix from plugins, unneeded now.

CCMAIL: okular-devel@kde.org

svn path=/trunk/KDE/kdegraphics/okular/; revision=744169
2007-12-02 20:57:24 +00:00
Pino Toscano
d3f4460d38 add icon for the pdf export format
svn path=/trunk/KDE/kdegraphics/okular/; revision=741369
2007-11-25 14:48:54 +00:00
Pino Toscano
6e37c43c8d don't print the debug stuff between " and "
svn path=/trunk/KDE/kdegraphics/okular/; revision=732875
2007-11-04 23:33:05 +00:00
John Layt
070285e039 Port from KPrinter to QPrinter, remove dependency on KDE4_KDEPRINT_LIBS.
*** Note this is not a complete port, most of the generators use the 
printFiles method which Qt 4.3 does not support, these have simply
been commented out until we find a solution.  At least it removes
the dependency so we can remove from kdelibs.

svn path=/trunk/KDE/kdegraphics/okular/; revision=725660
2007-10-15 23:01:27 +00:00
Pino Toscano
4060ef669e Make the document closing a bit more safe wrt internal threading - the closing waits for the background threads, to avoid aving them running with stale stuff.
This affects all the generators that use the internal generator threading, own threading models have to be fixed properly.

svn path=/trunk/KDE/kdegraphics/okular/; revision=723161
2007-10-08 21:49:27 +00:00
Pino Toscano
15155d8824 Rename the virtual closeDocument() to doCloseDocument(), and make it protected.
Added a non-virtual closeDocument() in the base Generator class: this way, particular closing routines can be implemented in the "low level" of a generator.
Apart the renaming, the logic of doCloseDocument() remains the same.

CCMAIL: okular-devel@kde.org

svn path=/trunk/KDE/kdegraphics/okular/; revision=723046
2007-10-08 16:46:51 +00:00
Pino Toscano
d51e9fa4d8 remove the private methods of PixmapRequest, and make the Document work with its private class
svn path=/trunk/KDE/kdegraphics/okular/; revision=719319
2007-09-30 21:44:31 +00:00
Pino Toscano
684b146867 SVN_SILENT explicitely initialize the base class
svn path=/trunk/KDE/kdegraphics/okular/; revision=715948
2007-09-23 15:09:27 +00:00
Pino Toscano
4dcadf5544 Add a mutex in the base generator class, so any generator that wants a mutex can use it.
Adapt the poppler and the chm generator to use it instead of the own.

svn path=/trunk/KDE/kdegraphics/okular/; revision=712821
2007-09-15 11:35:53 +00:00
Pino Toscano
78e2377a87 Add a method for generators to know some metadata of the document
adapted the poppler and the chm generators to use that, instead of fiddling with the settings class

svn path=/trunk/KDE/kdegraphics/okular/; revision=712614
2007-09-14 22:16:00 +00:00
Pino Toscano
f8ed5302ec - move the Document::requestDone() to the private class, as it's something internal to the generator work
- make the Generator internally keep an pointer to the private class Document, so we can access easily to the Document' stuff

svn path=/trunk/KDE/kdegraphics/okular/; revision=712498
2007-09-14 15:29:16 +00:00
Pino Toscano
006111382b common d_ptr+q_ptr structure for Generator/TextDocumentGenerator, and their private classes
svn path=/trunk/KDE/kdegraphics/okular/; revision=712465
2007-09-14 13:31:55 +00:00
Pino Toscano
a8d747745f Cleanup a bit the GuiInterface, and making it work.
Instead of manually requestion actions and other stuff, we just make the interface as gui client, requesting and integrating it in the part gui.
Also, rename the Generator's componentData() to ownComponentData() to avoid clashing with KXMLGUIClient.

svn path=/trunk/KDE/kdegraphics/okular/; revision=705933
2007-08-28 23:17:00 +00:00
Albert Astals Cid
41c25cb208 Back from holiday, let's do some comitting :-)
* Update some copyright years and mail addresses
 * Search does not block the GUI anymore YUHUUUUU
   Well, it it does but it's almost unperceptible, that means the searching methods of Document no longer return a bool but a void and the Document::searchFinished signal is used to know if something was found, nothing was found or the user pressed the cancel button !YES! one can cancel search now :-)
 * TextPage no longer holds the area and the current transformed area, it took TOO MUCH memory, now we transform the area each time, it's much more CPU intensive but i could not measure a time loss while searching big documents and i could measure HUNDREDS of MB of usage less.
 * MICRO optimization: Change some code to not detach some containers
 * I still don't have ADSL so this is something like a "blind" commit, Pino will check it compiles against current KDE, not against what's on my computers

svn path=/trunk/KDE/kdegraphics/okular/; revision=699701
2007-08-13 22:25:27 +00:00
Thiago Macieira
000dc825e3 Use QDebug instead of kdbgstream
svn path=/trunk/KDE/kdegraphics/okular/; revision=694533
2007-07-30 23:58:04 +00:00
Pino Toscano
e5037f45b1 Refator a bit the way Document and the generators use to read the font information from a document.
Instead of having a synchronous function that extracts all the information at once, use a function to read the fonts of a single page.
This way, we can get all the result step by step (aka page by page), and possibly in an asynchronous way.
The resuls of the font "scanning" are sent via signals, as well the end of the work.
So, instead of block waiting for the results of all the document at once, the Fonts tab in the properties dialog can have a progress bar with the progress, and the results (the fonts) that are added incrementally to the list.

Only two minor things are left:
- the process is always asynchronous at the moment, as the only generator that can provide this kind of information is the Poppler one (safe)
- there is no check for duplicate fonts
But they should be easy to solve.

svn path=/trunk/KDE/kdegraphics/okular/; revision=685002
2007-07-07 20:35:01 +00:00
Pino Toscano
2e024d6d96 generalize a bit more the way for constructing "standard" ExportFormat's
svn path=/trunk/KDE/kdegraphics/okular/; revision=656426
2007-04-21 11:09:41 +00:00
Pino Toscano
fc97f3b23b on demand creation of the auxiliary threads
svn path=/trunk/KDE/kdegraphics/okular/; revision=656230
2007-04-20 17:59:12 +00:00
Pino Toscano
9134ad4669 make the Document access to the private class of Generator, so we can get rid of the public setDocument
svn path=/trunk/KDE/kdegraphics/okular/; revision=656222
2007-04-20 17:26:04 +00:00
Pino Toscano
166ba5b87a move the Generator::Private to a GeneratorPrivate, and move the implementations of the provate threads to a cpp
svn path=/trunk/KDE/kdegraphics/okular/; revision=656221
2007-04-20 17:17:44 +00:00
Albert Astals Cid
0d47b62715 krazy include order issues
svn path=/trunk/KDE/kdegraphics/okular/; revision=655893
2007-04-19 18:30:20 +00:00
Pino Toscano
df5b2c3329 make ExportFormat implicitely shared, especially because it's mostly a "read-only" class
svn path=/trunk/KDE/kdegraphics/okular/; revision=653196
2007-04-12 20:43:37 +00:00
Pino Toscano
1117200950 constness for document()
svn path=/trunk/playground/graphics/okular/; revision=643431
2007-03-17 12:11:41 +00:00
Pino Toscano
6ea5badeab don't try to start a text extraction thread if the generator does not extract text
svn path=/trunk/playground/graphics/okular/; revision=641458
2007-03-11 12:05:48 +00:00
Pino Toscano
1bfc805a3e it does not make much sense to check for a serie of permissions at the same time, so just check one permission at a time
svn path=/trunk/playground/graphics/okular/; revision=641341
2007-03-10 23:59:11 +00:00
Pino Toscano
2ef46f8d90 simplify a bit the export action creation code
svn path=/trunk/playground/graphics/okular/; revision=641313
2007-03-10 21:32:09 +00:00
Pino Toscano
1316811082 Cache the export formats, so we can know better if the text/plain formst is supported by the backend (and act accordingly).
svn path=/trunk/playground/graphics/okular/; revision=641302
2007-03-10 20:51:50 +00:00
Pino Toscano
fd7434c95a Add support for custom generator about data (and potentially for custom configuration).
svn path=/trunk/playground/graphics/okular/; revision=640348
2007-03-07 18:15:00 +00:00