Commit graph

68 commits

Author SHA1 Message Date
Enrico Ros 2cd31678ce Implemented Tobias requests on presentation mode. Made them all
configurable. Presentation mode is fully configurable now (at least with
bools). We should remove some options in the future. Changed some bits in
configuration dialog's "general" page.
CCMAIL:tokoe@kde.org

svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=374340
2004-12-30 22:43:15 +00:00
Enrico Ros 207c2842cd more important items
svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=373816
2004-12-28 19:11:00 +00:00
Enrico Ros 160d6a4f7e Async generation fixes. I hope all segfaults and mutex overlocking have
been fixed. If someone finds one of those, please tell me.
Here are thread generator pros/cons:
- generation is ~20% slower
+ thumbnaillist or pageview scrolling is fast (never blocked anymore)
+ all UI feels so better and responsive
So:
o thumbnaillist will be all ASYNC.
o pageview will use ASYNC for _preloading_ next pages and a mixed A/S for
  scrolling/viewing the document
p previewwidget and others (searches, etc) are SYNC as obvious.
Btw now async generation is enabled everywhere.

svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=373810
2004-12-28 18:50:11 +00:00
Enrico Ros 5136a86798 Asyncronous PDF Generator implementation. The threaded pixmap generation
is working and features an hyperLock BUG due to my ignorance.
What to expect: more responsiveness from the UI, preloading, 'really'
continous scrolling, bubblegum and naked penguins.
Gonna hount insects now.

svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=373763
2004-12-28 16:06:11 +00:00
Enrico Ros 92c653cf55 Leak fix encrypted document opening.
svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=373695
2004-12-28 11:25:46 +00:00
Enrico Ros 03ad75ea82 CVS_SILENT ++wishes;
svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=373127
2004-12-24 11:04:18 +00:00
Enrico Ros 6eb004c5eb sync
svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=373126
2004-12-24 11:02:34 +00:00
Enrico Ros 16908b2f0c Changed pixmap requesting methods. Now each request is packed into a
PixmapRequest class. When requesting pixmaps, one or multiple requests are
sent to the Document that (frees memory as in current policy) and send each
PixmapRequest to the current Generator. Added a signal in generators to
notify the Document when a pixmap generation has finished.

PageView, ThumbnailsList, PreviewWidget have been unbroken after the memory
management commit. (mem management seems in pretty good shape..it's smart.)
Added 'visible widgets' list to those classes to speed up searching and
processing on visible widgets only.

Note: asyncronous pixmap requests can now be queued and we're getting very
close to the threaded generator.

Note2: Leakfixes and memory improvements.

Final NOTE: head merging is possible now, as all remaining work can be
considered bugfixes.. API is getting final. It will only change in xpdf
dep stuff, the already undefined Viewport object and some bits in
Generators.

svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=372787
2004-12-22 18:21:36 +00:00
Enrico Ros 05924776fa The long awaited (by me) memory manager is in place. It unloads pixmaps
not on screen starting from the oldest generated one. Rules (aka memory
profiles) are simple by now, but they work as expected.
Plus: added functions for getting Linux total memory and free memory by
querying the /proc filesystem. Generator creation by mimetype. -Fixes.
BROKEN: thumbnail, presentation (need to reimpl a virtual method)
TODO1: notify generators when cancelling jobs.
TODO2: add forward caching.
TODO3: rationalize code, clean it up and update README.png
TODO4: periodically check for free memory and unload pixmaps if needed.
TODO5: wisely choose default values for memory profiles.

svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=372514
2004-12-21 12:38:52 +00:00
Enrico Ros 58797ffe73 bits
svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=371428
2004-12-17 17:10:47 +00:00
Enrico Ros eed32c7654 FixPack 1: Small fix all over the code. Searwidget rewrite: looks good,
feels better. Updated TODO with interesting things.
Note: I feel performance loss. Need to check carefully all zoom functions,
relayouts and wasted paints. I'll love to do that after merging to HEAD.
Note to all: HEAD merge only after API will be final (the only 2 variables
are MemManager, ThreadedGen and maybe a DocumentDom (if I can make it next
weekend, but I think not)).

svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=370404
2004-12-13 18:21:37 +00:00
Albert Astals Cid 1df24e0951 fullscreenmode lovin'
svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=370269
2004-12-13 00:27:09 +00:00
Albert Astals Cid f46c9176e4 When in non continous mode and scrolling up a page, set the viewport at the bottom of the page (Albert)
svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=370246
2004-12-12 22:57:54 +00:00
Enrico Ros f7406846d0 Added a wish by Pino Toscano and many other for sure: bookmarks.
svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=370140
2004-12-12 17:10:59 +00:00
Enrico Ros 001c5b03d4 ++items; Adding a little feature+cleanup.
svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=370059
2004-12-12 11:21:59 +00:00
Enrico Ros 8aaec0dd08 TOC displays the Synopsis DomTree and reacts on clicks. Viewport changes
moved to #1 in TODO list. Let's hope next items won't start from #2..

svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=370056
2004-12-12 11:11:57 +00:00
Enrico Ros 0c5cd4e01a Fixed a GeneratorPDF <-> KPDFOutputDev bug.
Abstracted xpdf's Outline to a Dom Tree. Fixed MERGE tags through the code.
Added comments (documentation) to KPDFDocument class and other classes in
document.h. Changed a little Generator interface.
Moved code from toc.h/.cpp to GeneratorPDF and shrinked a lot.

TODO (now): Convert TOC (widget) to use the Dom tree as data source.

svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=369914
2004-12-11 17:25:03 +00:00
Enrico Ros 8724403042 Merge ASAP. Only left a couple of items as merge blockers and moved other
stuff to the fix-after-merge list.

svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=369799
2004-12-11 08:51:55 +00:00
Albert Astals Cid b7588b4b33 Show the window maximized when the user opens the program for the very first time
svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=369730
2004-12-10 22:27:55 +00:00
Enrico Ros 5f4236d801 Abstracted Generator and ported xpdf dependant code (most of) to the
GeneratorPDF class. Adapted the whole KPDFLink class to a hieracy of
classes and added a Viewport description associated to 'Goto' links.

Link hasn't got geometry properties. A PageRect class has born to describe
all 'active rects' on a page (hand pointed on mouse over). PageRect can
contain many type of objects such as Links or other active items (images,
...). The Page class now stores PageRects only (no more geometric Links,
as already said).

Added a DocumentInfo class filled in by generators and used by the
PropertiesDialog.

Outline hasn't been abstracted while now, but a DocumentSynopsis class
is in place and work needs to be done to make GeneratorPDF fill in a
DocumentSynopsis instance and pass it to the Toc widget.

Note1: Document has nothing more to do with xpdf, it only commands its
generator.
Note2: 2 remaining classes to be abstracted: Outline, TextPage. But
waning..

svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=369651
2004-12-10 16:04:45 +00:00
Albert Astals Cid d2fab9ae82 PDF properties dialog
svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=368769
2004-12-05 22:47:32 +00:00
Albert Astals Cid ba20068539 Support for show/hide menubar in rmb menu, different from HEAD so that supports Konqueror too
svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=368536
2004-12-04 23:23:18 +00:00
Enrico Ros adaa58f11a sync
svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=368321
2004-12-04 10:59:52 +00:00
Albert Astals Cid a461a21ba7 Add watch file option.
Enrico, i've added it in the menu, do you prefer it to be in the configuration dialog?
CCMAIL: rosenric@dei.unipd.it

svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=367732
2004-12-01 22:18:27 +00:00
Enrico Ros a442e3fe3e more ideas
svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=366361
2004-11-26 11:33:47 +00:00
Albert Astals Cid 313715c0aa New icons :-)
svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=363531
2004-11-16 21:58:05 +00:00
Enrico Ros 6a175f7669 Merged Selection tools: a popup asks wether to save/copy text or gfx.
Added 'continous zooming' using mid mouse button. Clipped selections to
viewport. Fixed a bad rounded float-to-int conversion (gives more pixel
precision in zooming).
CCMAIL: burellil@dei.unipd.it

svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=363468
2004-11-16 17:36:02 +00:00
Enrico Ros 7befe4e9f6 Fix switching Paper color on the fly. Fix clearing viewport when can't open
a document. Fix countour drawing on links and images. Synced TODO.

svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=362414
2004-11-12 10:58:33 +00:00
Enrico Ros 79412e732e Added suggestion from Mikolaj Machowski on things to do before merging into
HEAD.
CCMAIL: mikmach@wp.pl

svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=362302
2004-11-11 20:14:39 +00:00
Enrico Ros 5c80b0d140 misc
svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=361223
2004-11-07 17:16:04 +00:00
Enrico Ros 3596d8ae9a Implemented page recoloring (invert, recolor, bw/contrast, etc..) and small
fixes. Need to find a better place for painting / compositing related
stuff.

svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=360780
2004-11-05 18:14:20 +00:00
Enrico Ros 0f7917bf94 Fixed saving remote files to disk. Added two more items in todo (not merge
blocking after all.. not bad thus).

svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=360586
2004-11-05 01:52:48 +00:00
Enrico Ros 934fdee66b Fix:Zoom flickerlessy and follows view type changes.
Minor:update outline too when pixmapChanged(). d->pages moved to d->items
and iterators updated accordingly.
headMergeBlocks--;

svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=360557
2004-11-05 00:14:00 +00:00
Albert Astals Cid 4fca42dd6d *** empty log message ***
svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=360211
2004-11-03 21:37:21 +00:00
Enrico Ros 89cd5a2fa6 o Removed the PageViewOverlay class (a hack that permitted transparent
selection) in favour of a new common selection code that uses internal
compositing engine.
o Added 'copy GFX' (in addition to the already existant 'copy text') with
a popup that asks user wether to copy to clipboard or save the image to
a file. (note: maybe a merge between selection tools (text/gfx) is
possible).
o The Zoom Tool is now a mouse mode, not a zoom mode.
o Tuned PageViewMessage class and added tips somewhere.
o Reorganized some actions and cleanup in mouse mode related code.
o Updated plans (roadmap to HEAD and new things) in TODO.
o And.. well, de don't deal with gardening anymore :-) Thanks Michael!
CCMAIL: brade@kde.org

svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=360144
2004-11-03 17:35:48 +00:00
Enrico Ros 8428e0dc33 getting farther from the merge to head. add real usability issues.
CCMAIL: zanettea@dei.unipd.it

svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=359557
2004-11-01 13:36:03 +00:00
Enrico Ros 99b1a2932e Update status and plans. Going to hunt some Ghosts and deadly kiss some
female vampires now!!!

svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=359326
2004-10-31 17:18:05 +00:00
Enrico Ros 1708e5c7aa update progress to head merge: blocking_items += -2 +1;
svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=359130
2004-10-31 00:29:06 +00:00
Enrico Ros ba4aa37060 Rework the drawing concept to gain speed and reduce memory usage.
svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=358849
2004-10-29 20:50:01 +00:00
Enrico Ros b0916046d1 --merging_locks; 6 items remaining.
svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=358604
2004-10-28 20:02:50 +00:00
Enrico Ros 3846321449 First plan of the roadmap towards HEAD.
svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=357295
2004-10-24 12:18:36 +00:00
Enrico Ros f8dfcf3289 1) Dealing with the QScrollView (introduced for continous navigation) is a
real PITA. Tons of unneeded repaints are casted everywhere, even when
hiding or covering widgets.
Here we fix a big-bad-bug that repainted all the already viewed pages on
a zoom operation. That means that if zooming on a page after viewing 150
pages, then *at least* 150 pages got repainted :-(.
Tried to disable clipper(), but got weird results.
2) Adding devel only debug code to check for a possible bug Aaron told me,
but I actually wasn't unable to reproduce.

svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=357273
2004-10-24 09:17:24 +00:00
Enrico Ros a4f15590ee synced with latest changes
svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=356249
2004-10-20 16:42:55 +00:00
Enrico Ros 3e53602985 Fixing page rotation for thumbnails and scrollview.
CCMAIL: Albert Astals Cid <tsdgeos@terra.es>

svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=355341
2004-10-17 17:20:51 +00:00
Enrico Ros 6ccd705d19 update items, add 1 new wish, add sheet rotation fix (important!)
svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=355328
2004-10-17 16:54:34 +00:00
Albert Astals Cid 5cca518867 Add a note on how it would be possible extracting images
svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=354550
2004-10-14 20:40:09 +00:00
Enrico Ros 5b60da8d57 tiny update
svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=354546
2004-10-14 20:21:59 +00:00
Albert Astals Cid 30f135838d Adding dcop functions to gotopage, get # pages and open document (only given the full path)
svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=353886
2004-10-12 11:08:09 +00:00
Enrico Ros 0d75713d76 changed in progress things and moved some items in the 'More items' list.
svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=353366
2004-10-10 13:22:47 +00:00
Enrico Ros dadbd3dc5c updated 'done' list, added more 'incoming' entries and moved stuff in
'in progress' part (actually nothing of 'in progress' thing is really
in progress, but maybe in future... :-P)

svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=352913
2004-10-08 13:32:51 +00:00