TODO 9.19 KB
Newer Older
1 2 3 4 5 6 7
TODO - branch version
    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):
-> create a memory manager in Document with different profiles [80%]
11 12 13
-> FIX: viewport changes the right way when clicking links and TOC items (also
   suggested by Mikolaj Machowski). Create a great viewport definition and merge
   it inside the synopsis too. [70% done]

Things to do in order to merge in HEAD (first item has highest priority):
16 17 18 19
-> take care of naming on merge, too differences (remove some kpdf_* prefixes
   and rename internals too document->kpdfdocument, page->kpdfpage, etc..)

Higher priority after merge:
-> move toolbar view actions in the PageView instead of the part.. maybe.. or not...
21 22
-> link thumbnails view with document [first, the 'Viewport' must be defined]
-> usability: layout 2PPV [1 2,3 4,5 6] -> [1,2 3,4 5]. add option for 'ebook' style alignment. (by Mikolaj)
-> usability: trigger redraw on 'filter text' on current page (by Mikolaj)
-> async document generator using Albert's generator thread [0%]
-> watch out for FIXMEs in code
-> fix: requestPixmaps not triggered when exiting fullscreen mode (to verify..I can't reproduce)

More items (first items will enter 'In progress list' first):
30 31
-> fix: On continous view mode, if you click to a link that moves you to another
   page, then scroll up and click again on the same link it does not work. (by Albert)
32 33 34
-> JJ: convert DocumentInfo to a DomTree containing a few common fields (see the current
   implmentation) and being extensible for letting generator developers adding their
   custom fields.
35 36
-> 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
37 38 39
   'document' informations (pages, current pg, some metadata, etc..).
   Tested a 16px ktoolbar in the left-bottom corner.. looks goos and can be used to
   insert some actions that aren't so useful in the main (and bigger) toolbar
40 41
-> abstract TextPage generation (the last xpdf dependant class!). then go dancing in the
42 43 44 45 46 47 48 49 50 51
-> Dom framework to cache document metadata. It should archive those types of data:
   - Synopsis will go there after 1st generation (so we can edit it too)
   - Document info (after the 1st gen)
   - Bookmarked pages
   - Edited pages (rotated/with_data for example)
   - Overlay editing (hilighting/notations/etc..)
   - ..more stuff.. but this isn't a problem, since a QDom is flexible by design
   The Object will reside into the Document and must not be accessible by Oservers in
   a direct way. Dom format, relations to other classes and accessing must be specified
   in a separated diagram or text file.
Enrico Ros's avatar
Enrico Ros committed
52 53 54
-> 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
56 57
-> 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)
60 61 62
-> ADD: bookmark support, with clip overlays or something.. and the bookmark
   widget. or maybe they should modify the thumbnail. note: bookmark property
   is already in place. Saving bookmars for a document will be cool too.
-> session support: restoring page location (BR82589)
-> export all text in plain_text/html
-> extract(export?) images (have a look at and 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)
Enrico Ros's avatar
Enrico Ros committed
-> zoom: fit text (with configurable margin)
-> open gzipped (.pdf.gz?) files
71 72
-> 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
Enrico Ros's avatar
Enrico Ros committed
-> fullscreen pdf view (presentations-like) with some gfx tools
Enrico Ros's avatar
Enrico Ros committed
-> incremental zoom with fast-refresh (tested but flickering!) or contour tracing
-> investigate 'Splash' lack of smoothness at low resolutions (see lines in thumbnails)
Enrico Ros's avatar
Enrico Ros committed
-> add search on the toc widget (a prune on type lineedit like in thumbnails widget)

Done (newest feature comes firts):
-> FIX: FixPack1 [dyn_zoom repaints, initial panel width, zoom_lineedit focus proxy, searchwidget refactor{thumbs restoring on clear, buttons size, less code}, hilight bookmarked thumbnails]
Albert Astals Cid's avatar
Albert Astals Cid committed
-> FIX: Some fullScreen loving, if we are on fullscreen put an action on RMB menu ti get out of it, if we were on fullScreen mode on exit bring back correctly if we were also seeing toolbar or menubar
-> FIX: When in non continous mode and scrolling up a page, set the viewport at the bottom of the page (Albert)
-> ADD: Show the window maximized when the user opens the program for the very first time (Albert)
-> ADD: Use 'Generators' as providers for contents generation
Albert Astals Cid's avatar
Albert Astals Cid committed
-> ADD: Add properties dialog (Albert)
-> ADD: Support for show/hide menubar in rmb menu, different from HEAD so that supports Konqueror too (Albert)
Albert Astals Cid's avatar
Albert Astals Cid committed
-> ADD: Watch File option (Albert)
Albert Astals Cid's avatar
Albert Astals Cid committed
-> ADD: import Marco Martin's "another kpdf icon" (kde-look: 16146) (Albert)
93 94
-> 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
Enrico Ros's avatar
Enrico Ros committed
-> ADD: reading aids (inverted display, recolor, black/white, draw link border, draw image border)
-> FIX: zoom preserved when switching modes and flickerless drawing
Albert Astals Cid's avatar
Albert Astals Cid committed
97 98
-> 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)
99 100 101
-> 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)
Enrico Ros's avatar
Enrico Ros committed
-> 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)
108 109 110 111 112 113 114
-> 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)
116 117 118 119 120 121 122 123 124 125 126 127 128 129
-> 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 and IRC:
 Tool: ruler, measure: distance, perimeter, ?area?
133 134
 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
137 138 139 140 141 142 143

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.
145 146
BR89835: (PDF pages to be aligned centrally). Done in branch.
BR90026: (crash). Can't reproduce on branch.
147 148
BR74435: (smooth transition/continous mode) It's in from sept-27.
BR80164: (2-up view of pdf pages)  It's in from sept-26.
149 150
BR69092: Zoom displayed/internal values synced with fixed value or displayed page.
         It is editable and the list gets cleaned and rebuilt on changes.
Albert Astals Cid's avatar
Albert Astals Cid committed
BR94385: PDF doesn't show PDF properties