Commit graph

55 commits

Author SHA1 Message Date
Pino Toscano
8b41489e2f porting
svn path=/branches/work/kde4/playground/graphics/okular/; revision=522251
2006-03-24 21:31:46 +00:00
Albert Astals Cid
6c6a1ac522 branchport r510876
svn path=/trunk/playground/graphics/oKular/kpdf/; revision=510882
2006-02-18 12:06:52 +00:00
Piotr Szymanski
5e0e973e12 - add supported mimetype caching to the kpdf part properly
- begin work on ghostscript backend port to libqgs
- minor tweak in configure.in.bot 

svn path=/trunk/playground/graphics/oKular/kpdf/; revision=486447
2005-12-07 21:25:25 +00:00
Stephan Binner
dd43125621 i18n style guide fixes
svn path=/trunk/playground/graphics/oKular/kpdf/; revision=481809
2005-11-20 17:32:53 +00:00
Piotr Szymanski
d09fd28b89 - MERGE KPDF 3.5 CHANGES
svn path=/trunk/playground/graphics/oKular/kpdf/; revision=477586
2005-11-04 11:59:51 +00:00
Albert Astals Cid
3a09624824 some more kpdf -> oKular
svn path=/trunk/playground/graphics/oKular/kpdf/; revision=471466
2005-10-17 19:16:31 +00:00
Piotr Szymanski
34b8e28322 - Page/Link: tooltips for links backported
- 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
2005-08-10 16:14:39 +00:00
Piotr Szymanski
81bb03b454 - added suport for changing rotation of the current document, looked at ghostview code, on how to do it
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
2005-07-20 22:28:23 +00:00
Piotr Szymanski
36ab5c8965 - make generators plugins by:
* 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
2005-07-15 18:20:57 +00:00
Piotr Szymanski
6e8a08f692 - make the Page column in TOC configurable with secret config option instead of compile time switch
- 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
2005-07-05 19:10:48 +00:00
Enrico Ros
bd81ccaed7 merged patch_064,065,066,068,075,091,092 (tinyurl.com/8t5ec)
svn path=/branches/kpdf/annotations/kdegraphics/kpdf/; revision=428594
2005-06-24 16:45:25 +00:00
Enrico Ros
60463481c5 applying patch_113 (tinyurl.com/8t5ec)
svn path=/branches/kpdf/annotations/kdegraphics/kpdf/; revision=428591
2005-06-24 16:42:44 +00:00
Enrico Ros
027d040c6c applying patch_040,041 (of: tinyurl.com/8t5ec)
svn path=/branches/kpdf/annotations/kdegraphics/kpdf/; revision=428587
2005-06-24 16:39:57 +00:00
Albert Astals Cid
f8f17e75f9 Even more Style Guide fixes on the same sentence, do you know how much i suck?
svn path=/branches/kpdf/annotations/kdegraphics/kpdf/; revision=427194
2005-06-19 22:18:41 +00:00
Albert Astals Cid
1aedb3855d Style guide fixes
svn path=/branches/kpdf/annotations/kdegraphics/kpdf/; revision=427186
2005-06-19 22:01:32 +00:00
Albert Astals Cid
daf99824ee Change "Get new stuff" to something more meaningfull
svn path=/branches/kpdf/annotations/kdegraphics/kpdf/; revision=427164
2005-06-19 21:01:28 +00:00
Enrico Ros
1bf56ad49a merged patch_090
svn path=/branches/kpdf/annotations/kdegraphics/kpdf/; revision=425043
2005-06-13 17:54:20 +00:00
Enrico Ros
5fa94e1643 merging patch_080,085
svn path=/branches/kpdf/annotations/kdegraphics/kpdf/; revision=425031
2005-06-13 17:39:58 +00:00
Enrico Ros
d65e147ffb applying patch_078
svn path=/branches/kpdf/annotations/kdegraphics/kpdf/; revision=425029
2005-06-13 17:30:58 +00:00
Enrico Ros
9c207ace30 applying patch_070,071
svn path=/branches/kpdf/annotations/kdegraphics/kpdf/; revision=425017
2005-06-13 16:55:57 +00:00
Enrico Ros
ff85858c98 applied patch_059
svn path=/branches/kpdf/annotations/kdegraphics/kpdf/; revision=425000
2005-06-13 16:08:31 +00:00
Enrico Ros
86bf1b3d96 applying patch_045,046
svn path=/branches/kpdf/annotations/kdegraphics/kpdf/; revision=424907
2005-06-13 12:06:45 +00:00
Enrico Ros
560934974a merged patch_007
svn path=/branches/kpdf/annotations/kdegraphics/kpdf/; revision=424840
2005-06-13 10:22:37 +00:00
Enrico Ros
7b6b7a359d KPDF HotNewStuff Browser!
It's not yet complete (file dowload and internal notifies are missing) but
the new stuff browser is running. The ui is modeled on an Aaron's mockup.

NewStuff:
  Fetches the providers list (kpdf.kde.org/newstuff/providers.xml), lets
  the user select a provider and displays provider's contents in a KHMTL
  part (for flexibility and eye candy).
  Internally we use KNS' Entry and Provider structures only, doing all the
  transfer operations by hand via KIO::get jobs. Download will be done
  internally too (to give better consistancy in the interface).
  Network timeouts, problems or info messages are notified in a statusbar-
  like widget and we try to keep all information in the dialog, without
  using messageBoxes

Part:
  Added the action and the dialog invocation

Makefiles:
  Link the KNEWSTUFF and KHTML libraries.

svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=405828
2005-04-16 00:25:26 +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
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
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
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
c4ecddd149 Fixing the "can't hide left panel" bug.
svn path=/trunk/kdegraphics/kpdf/; revision=388679
2005-02-12 14:34:12 +00:00
Enrico Ros
5b0c32e43f Misc fixes and cleanups and tidy up the code (KPDFPageRect -> ObjectRect).
svn path=/trunk/kdegraphics/kpdf/; revision=387779
2005-02-09 17:45:16 +00:00
Albert Astals Cid
bc1806e218 - Do not reattach the dcop client
- Keep the original url on the document so we can open relative file names
 - Add Enrico and my copyright

svn path=/trunk/kdegraphics/kpdf/; revision=386244
2005-02-04 22:35:44 +00:00
Enrico Ros
519892521f Fix the last CRASH (on search) and fix a memleak before BETA2 tagging.
Removed old code, reworked bad code.
I have no more reported crashes now.
No plans for additions or code changes till 3.4 release.
Thank you all kpdf users, Have Fun!

svn path=/trunk/kdegraphics/kpdf/; revision=385897
2005-02-03 17:09:33 +00:00
Enrico Ros
9e73b4235e Fixed type-ahead searches. Reworked search code. Found alternative way to
setRasterOp. Cleaned up RenningSearch class. Performance fix on actions.

svn path=/trunk/kdegraphics/kpdf/; revision=385447
2005-02-02 18:18:26 +00:00
Enrico Ros
f4b94c016d SEARCH CHANGES: absolutely want to get in those fixes before freeze.
fixed multiple selections on page bugs.
next commits will come tomorrow.

svn path=/trunk/kdegraphics/kpdf/; revision=385045
2005-02-01 18:26:56 +00:00
Enrico Ros
3e1834c261 smoothscroll
svn path=/trunk/kdegraphics/kpdf/; revision=385041
2005-02-01 18:24:16 +00:00
Enrico Ros
d1e074058b cleanups and scroll api
svn path=/trunk/kdegraphics/kpdf/; revision=385040
2005-02-01 18:23:55 +00:00
Enrico Ros
c4c09c7c04 Added KTTSD support (only for selections). This is done via pure dcop and
without including any 3.4 header (like kspeech.h) to keep compatibility
 with 3.3 and older releases (reported to work on these).
Cleanups in PageView's mouse handling. Supports selections of different
 colors now.

svn path=/trunk/kdegraphics/kpdf/; revision=383651
2005-01-29 12:32:59 +00:00
Tobias Koenig
0cc0b192cd Don't open multiple presentation widgets when slotShowPresentation() is called
multiple times (e.g. when the watched PDF has changed)

svn path=/trunk/kdegraphics/kpdf/; revision=383178
2005-01-28 11:04:03 +00:00
Enrico Ros
93c1d3845d Implemented history (implementation is inside Document. actions (2) are in
Part). Implemented 'history (xpdf's LinkAction) links'. History depth is
 100 steps by default (this is enough for sure, clicking 100 times on a
 button is not an easy task :-).

Minor issues (removed half TODOs in code, all FIXMEs are already removed):
Invoke mailer on 'mailto:' links inst instead of konqueror.
Actions cleanup: disable actions like 'print', 'preview', 'save to..', etc
 when there isn't an active document. Added history actions to the toolbar
 in place of the 'prev_page' and 'next_page' ones. Fixed open+open_recent
 action tooltip and behavior.
Move definition and implementation of PagePainter class to ui/pagepainter
 from core/page.
Valgrinded and leakchecked (2 memory leaks spotted and fixed (missing
 contents deletion in KPDFGeneratorThread and missing deletion of
 PixmapRequests on cancel in Document::requestPixmaps())).

svn path=/trunk/kdegraphics/kpdf/; revision=382960
2005-01-27 17:31:07 +00:00
Enrico Ros
e65c7058c3 Added the MiniBar class, a layouted widget that displays current page
number, the total number of pages and a little grahical 'progress'
 indicator. Moved 'next page' and 'prev page' buttons from the main toolbar
 to the MiniBar. Minibar lets you edit the page number, click or wheel on
 progress, go to next/prev page, show the gotoPage dialog.
Added rmb popup when clicking on thumbnails. When clicking, the
 ThumbnailList only emits the same signal emitted by PageView so the same
 context menu is displayed.
Misc fixes: [MEM] enabled allocated pages raising in queue when displayed
 again, [ThumbnailList] enabled PageUp/PageDown.

svn path=/trunk/kdegraphics/kpdf/; revision=382597
2005-01-26 10:42:07 +00:00
Albert Astals Cid
b579d04532 Show translations when embedded in Konq
svn path=/trunk/kdegraphics/kpdf/; revision=381500
2005-01-23 12:00:16 +00:00
Albert Astals Cid
5a41fd805e Presentation mode is now Ctrl+Shift+p instead of F9 because it was colliding with Konqueror's toggle sidebar
svn path=/trunk/kdegraphics/kpdf/; revision=380993
2005-01-21 23:09:00 +00:00
Stephan Binner
73bdb5751d CVS_SILENT i18n style guide fixes
svn path=/trunk/kdegraphics/kpdf/; revision=379147
2005-01-16 17:04:31 +00:00
Albert Astals Cid
0ff32c4da9 Add a slotRequestVisiblePixmaps() that fixes the problem of pixmap not updating when going/returning from full screen mode with fit to page and non continuos mode. Enrico please check is not a VERY BAD THING to do it there
Add some accelerators
Plug the actions that change the mouse behaviour into a menu as everything should be menu accesible
Put the F9 in the KACtion creator

svn path=/trunk/kdegraphics/kpdf/; revision=377533
2005-01-11 17:35:07 +00:00
André Wöbbeking
198fb52ff7 shortcut F9 for "Presentation".
BTW, do you mix indention (2 spaces, 4 spaces and tabs) intentionally ;-)

svn path=/trunk/kdegraphics/kpdf/; revision=377498
2005-01-11 15:15:37 +00:00
Enrico Ros
3bf154b57d Viewport: fixes, setViewport( vp, id ) excludes id from the notified
bodies. Optimized fit width and a saved a couple of pixmap requests. Busy
cursor on load and searches.

svn path=/trunk/kdegraphics/kpdf/; revision=377152
2005-01-10 13:43:44 +00:00
Enrico Ros
6dd95c9e06 Viewport MOD 1. Implemented the DocumentViewport class, owned by Document.
A const reference may be asked. When set all DocumentObservers will be
notified so they can update their gfx if needed. Converted TOC, Links
to the new usage. DocumentViewport can be saved/restored to/from QString
so it can be asked as metadata and saved on document's XML. When loading
a document the viewport is restored exactly where it was when the document
was closed. More fixes with Viewport class. Swapped groupboxes in Perform
dialog. Changed members naming in DocumentObservers and inherited classes.
PageView and ThumbnailsList now linked.

Still regressions / TODOs about the Viewport thing.

svn path=/trunk/kdegraphics/kpdf/; revision=377066
2005-01-09 23:37:07 +00:00
Enrico Ros
208b6a5cf3 Added a bottom toolbar to the thumbnailsList to enable/disable thumbnails
filtering and similar options (toolbar is not created now). Changed
Document::openDocument(..) functions order. Restore last active page when
opening an already viewed pdf. Fix margins around pages in all modes.
Presentation: page change by clicking on the round 'wheel' indicator too.
Updated TODO.

svn path=/trunk/kdegraphics/kpdf/; revision=375229
2005-01-03 15:51:05 +00:00