okular/kpdf/TODO
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

121 lines
6.9 KiB
Plaintext

TODO - branch version
Legend:
ADD - ADDed
CHG - CHanGed
FIX - FIXed
MRG - MeRGed from head
(*) - Some parts of this item are already done
In progress on the branch (first item comes first):
-> Abstract contents generation [60% missing TextPage, Outline]
-> ADD: viewport changes the right way when clicking links (also suggested by Mikolaj Machowski) [60% done]
-> memory manager with different profiles (mem/cpu tradeoff: {memory saving, normal, memory aggressive}) [0%]
-> async document generator using Albert's generator thread [0%]
Things to do in order to merge in HEAD (first item has highest priority):
-> link thumbnails view with document
-> usability: layout 2PPV [1 2,3 4,5 6] -> [1,2 3,4 5]. add option for 'ebook' style alignemnt. (by Mikolaj)
-> usability: clear search must restore the full thumbs list (by Mikolaj)
-> usability: trigger redraw on 'filter text' on current page (by Mikolaj)
-> watch out for FIXMEs in code
-> small fix: requestPixmaps not triggered when exiting fullscreen mode
-> take care of naming on merge, too differences (remove some kpdf_* prefixes
and rename internals too document->kpdfdocument, page->kpdfpage, etc..)
More items (first items will enter 'In progress list' first):
*THIS ITEMS ARE CURRENTLY FROZEN SINCE "HEAD-MERGE" LIST IS CLEARED*
-> display current page / total pages (with analog indicator too (progressbar/...))
maybe this can be done on a small widget at the top of the toolbox, displaying
'document' informations (pages, current pg, some metadata, etc..)
-> right click and drag while in 'scroll' mode changes to 'selection' mode and selects
-> add kpdf manual in PDF format loaded on the first startup or on menu->help->manual
this visually explains basic usage, mouse buttons functions & more..
-> take care of TODOs in code
-> find: scroll page if the the searched string is not visible [after 'viewport changes']
-> ADD: click over image allows "save image" [60% done]
-> screen editing (annotations): framework (BR67300,BR62793)
-> screen editing (annotations): tools (BR67300)
-> session support: restoring page location (BR82589)
-> export all text in plain_text/html
-> extract(export?) images (have a look at ImageOutputDev.cc and pdfimages.cc from xpdf (not in our xpdf sources))
-> text selection in wordprocessor style (very hard/impossible)
-> implement history (mainly for actionNamed)
-> history as a toolbox child (collecting DOs's setPage calls)
-> zoom: fit text (with configurable margin)
-> open gzipped (.pdf.gz?) files
-> kttsd output with menu entries. speech{document/page/selection}. (see kdenonbeta/kttsd)
-> kttsd alternative (1): autodetect "/dev/speech" (speechd/festival) and provide reading
-> automatic online dictionaries / translators (BR80338)
-> add OCR for building TextPages out of pure graphical (aka scanned) pages
-> merge head copyright headers (by albert)
-> wrong zoom buttons order (BR74248) (check consistancy with kdvi/kghostview/.. (not konq))
-> rotate the whole document / individual pages
-> fullscreen pdf view (presentations-like) with some gfx tools
-> incremental zoom with fast-refresh (tested but flickering!) or contour tracing
Done (newest feature comes firts):
-> ADD: Use 'Generators' as providers for contents generation.
-> ADD: Add properties dialog (Albert)
-> ADD: Support for show/hide menubar in rmb menu, different from HEAD so that supports Konqueror too (Albert)
-> ADD: Watch File option (Albert)
-> ADD: import Marco Martin's "another kpdf icon" (kde-look: 16146) (Albert)
-> ADD: dynamic zoom with mid mouse button (click and drag up-down to zoom in-out)
-> FIX: merge select text & select gfx, two sections on the same pop-up menu
-> ADD: reading aids (inverted display, recolor, black/white, draw link border, draw image border)
-> FIX: zoom preserved when switching modes and flickerless drawing
-> ADD: Printing as PS instead of as image (Albert)
-> ADD: Remember page on session logout and put the document in it on session restore (Albert)
-> ADD: gfx capturing tool
-> ADD: composited renderer framework (in addition to a fast light one)
-> FIX: pageview repaint done internally (speed boost and reduced memory consumption)
-> ADD: KConfigXT settings framework and Accessibility config (acc. code mostly not done)
-> FIX: workaround for scrollview bug 1/2 (painting hidden widgets under certain circumstances)
-> ADD: zoom into a rect defined by mouse (aka zoom to window)
-> FIX: sheet rotation in landscape case
-> ADD: Some dcop functions (goToPage, openDocument and give # of pages) (Albert)
-> MRG: link following ('actionMovie' kind is missing)
-> ADD: text selection (rectangular blocks) in selection mode
-> ADD: autoscroll page with Shift+Up/Dn keys (exact konqueror's behavior)
-> CHG: remake single page mode
-> FIX: zoom buttons in sync with text
-> ADD: continous mode
-> ADD: multiple pages per view (gui selects 1 or 2 ppv)
-> MRG: the option to open password protected files (from head)
-> MRG: the Table Of Contents (from head)
-> ADD: a 'search bar' with prune-as-you-type feature
-> MRG: Albert's search ported and implemented case sensitive
-> CHG: smart handling of pixmap using an Observer ID (thumbnails are gone, only pixmaps now)
-> FIX: some toolbar/menu changes
-> ADD: outline bottom and right edges (of pages)
-> FIX: centering pages in the view
-> FIX: kpdf output at 100% has exactly the same size as acroread now
-> CHG: qsplitter layouting
-> FIX: zooming works as expected (and added 'fit to page' too)
-> ADD: new go to page dialog
-> GHG: previews sorted by visible areas (prioritize items where the scrollbar is)
-> FIX: previews speedup: 50-100%
-> CHG: use local instead of X memory for thumbnails (..)
-> MRG: merge lots of kpdf_part and part (centralview) code (to simplify/clenup)
Here comes a list of suggestions from a dot post http://dot.kde.org/1095261317 and IRC:
Tool: ruler, measure: distance, perimeter, ?area?
Tool: color picker
Annotations: yellow notes 'post-it' like
Export: export to other formats keeping formatting (a dream.. except for PNG :-)
PDF: <theICEBear> pdf forms support.... :D if at all possible
Bugs to close after merging to HEAD
BR88661: (thumbnail prev. is blocking) Not only it's threaded, but it generates
thumbnails only for the few visible items inside the thumbnaillist.
BR72347: (search doesn't work) Closeable NOW. The feature is already on HEAD.
BR72165: (showing a "scanned document PDF" is very slow). By running many tests
on xpdf and kpdf_experiments, I measured 5-15% speed loss (due to
internal pixmap conversions). No noticeable difference.
BR89835: (PDF pages to be aligned centrally). Done in branch.
BR90026: (crash). Can't reproduce on branch.
BR74435: (smooth transition/continous mode) It's in from sept-27.
BR80164: (2-up view of pdf pages) It's in from sept-26.
BR69092: Zoom displayed/internal values synced with fixed value or displayed page.
It is editable and the list gets cleaned and rebuilt on changes.
BR94385: PDF doesn't show PDF properties