TDE graphics utilities
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. TODO - KPdf MAIN HEAD
  2. Legend:
  3. ADD - ADDed (new feature)
  4. CHG - CHanGed (existing behavior)
  5. FIX - FIXed (bug or regression)
  6. MRG - MeRGed (code from a branch or a patch)
  7. In progress:
  8. -- 2005-Feb-26: Merge from 'kpdf_annotations' branch --
  9. More items (first items will enter 'In progress list' first):
  10. -> pageview: add scrollbar marks for bookmarks (like kate)
  11. -> screen editing (annotations): framework (BR67300,BR62793)
  12. -> screen editing (annotations): tools (BR67300), yellow notes 'post-it' like
  13. -> go to next/previous bookmark actions (showing in thumbnailslist rmb popup too)
  14. -> viewport restoring: sometimes it seems to restore the viewport a bit under where it was
  15. -> viewport restoring: save the page width setting between runs (save/restore zoom factor)
  16. -> presentation: provide a pageX/totalPages indicator in addition to the circle one
  17. -> cleanup code and update README.png
  18. -> search: use shortcut for 'find next' action (not the default one) in find-ahead
  19. -> show Viewport in ThumbnailsList (blended/contour)
  20. -> Delay TOC (DocumentSynapsis) generation (and move it on thread)
  21. -> add a way to handle "named xpdf links" in KPDFLink instead of resolving all destinations
  22. when displaying a page (speedups a lot generation of page with many links)
  23. -> refactor ThumbnailsList to do internal rendering as pageview does (way faster
  24. than using QScrollView + inserted Widgets and saves 8% on document loading)
  25. -> usability: layout 2PPV [1 2,3 4,5 6] -> [1,2 3,4 5]. add option for 'ebook' style alignment
  26. -> usability: trigger redraw on 'filter text' on current page (need new highligh engine first)
  27. -> abstract TextPage generation (the last xpdf dependant class!). then go dancing in the
  28. streets.
  29. -> Dom framework to cache document metadata. It should archive those types of data:
  30. (NOTE: already Dom'ed object is marked with 'X')
  31. - <X> Synopsis will go there after 1st generation (so we can edit it too)
  32. - <X> Document info (after the 1st gen)
  33. - <X> Bookmarked pages
  34. - <X> Current Viewport and 10 history steps
  35. - Edited pages (rotated/with_data for example)
  36. - Overlay editing (hilighting/notations/etc..)
  37. - Presentation related overrides (FS mode, individual / global transitions)
  38. - ..more stuff.. but this isn't a problem, since a QDom is flexible by design
  39. The Object will reside into the Document and must not be accessible by Oservers in
  40. a direct way. Dom format, relations to other classes and accessing must be specified
  41. in a separated diagram or text file.
  42. -> add kpdf manual in PDF format loaded on the first startup or on menu->help->manual
  43. this visually explains basic usage, mouse buttons functions & more..
  44. -> take care of TODOs in code
  45. -> ADD: click over image allows "save image" [60% done (activerect of type image)]
  46. -> export all text in plain_text/html
  47. -> extract(export?) images (have a look at ImageOutputDev.cc and pdfimages.cc from xpdf (not in our xpdf sources))
  48. -> text selection in wordprocessor style (very hard)
  49. -> zoom: fit text (with configurable margin)
  50. -> bookview: 3d opengl widget for viewing the document as a real book (turning pages, etc..)
  51. -> open gzipped (.pdf.gz?) files
  52. -> kspeech TTS interface. speech {document / page / selection(done)}
  53. -> automatic online dictionaries / translators (BR80338)
  54. -> core: pdf forms support
  55. -> add OCR for building TextPages out of pure graphical (aka scanned) pages
  56. -> rotate the whole document / individual pages - Have a look at the fifth parameter of displayPage, it is the rotation, so it should not be THAT hard to implement
  57. -> presentation: implement missing transitions (6/11 done)
  58. -> presentation: add some gfx tools (like a red pencil)
  59. -> presentation: save a flag (to the xml) to open a pdf in presentation mode
  60. -> presentation: wheel not visible on black. gradient appreciated on lighter backgrounds.
  61. -> investigate 'Splash' lack of smoothness at low resolutions (see lines in thumbnails)
  62. -> add search on the toc widget (a 'prune on type' lineedit like in thumbnails widget)
  63. -> goto 'logical' page (usually differs from pdf's page) (req. by Luca Burrelli)
  64. -> use shortcuts for next and prev page even in presenatation mode (by Tobias Koenig)
  65. -> move some document related features from part to the document (see find, goto dialog, ...)
  66. -> Albert: Read pdf specification and see if paths with length = 1 are allowed, in case they are allowed see how to fix 97131 without skipping paths with length = 1
  67. -> tools: ruler, measure: distance, perimeter, ?area?, color picker
  68. -> export: export to other formats keeping formatting (a dream.. except for PNG :-) (PS is easy, we just have PSOutputDev that does it :-D)
  69. -> history as a toolbox child (collecting Doc's viewport changes notifications)
  70. Done (newest features come first):
  71. -- merging from kdpf_annotations branch --
  72. -> ADD: presentation: link following (BR98388)
  73. -> ADD: Save zoom setting on exit
  74. -> ADD: Put fonts used by the document on the properties dialog
  75. -> ADD: partial implementation of XYZ links
  76. -> ADD: google-like search on thumbnails
  77. -> ADD: use kde wallet for storing passwords of protected files
  78. -> ADD: Obey DRM is now a configuration option
  79. -> FIX: leakfix when closing document while thread was running (no more leaks now)
  80. -> FIX: direct hi-performance pixels manipulation for highlighting (instead of the obsoleted setRasterOp)
  81. -> CHG: new search api. supports multiple searches at once, multiple highlighs per page
  82. -> ADD: pageView moves smoothly when searching / moving in history
  83. -> ADD: better bookmark rendering in thumbnailslist (show 'clip overlay')
  84. -> CHG: changes and cleanups in pageView's mouse handling functions
  85. -> ADD: KTTSD simple support: speech selection using kspeech api via pure dcop (don't break compatibiltiy)
  86. -> CHG: right click and drag while in 'normal' mode changes to 'selection' mode and selects
  87. -> FIX: complete valgrind check and leakfix (2 leaks were present) [27-Jan-04]
  88. -> ADD: history, forward/back history actions, history links and xml storage (10 steps)
  89. -> ADD: rmb popup on thumbnailslist (the popup shared with pageView: same behavior)
  90. -> ADD: display 'current page' / 'total pages' with analog indicator, active labels, etc
  91. -> CHG: Presentation mode is now Ctrl+Shift+p instead of F9 because it was colliding with Konqueror's toggle sidebar
  92. -> FIX: various in memory unallocator, preload with single pages, pageview
  93. -> FIX: optimized pageView (removed 1 waster req on start, lowered reqs)
  94. -> FIX: memory unloading order and hard swap avoiding
  95. -> CHG: open and open-recent buttons unified in Shell
  96. -> CHG: lens icon for the find-ahead messages
  97. -> ADD: page preloading
  98. -> FIX: smarter memory management / prioritize queries
  99. -> ADD: type ahead search in pageview (type '/' then the word to search..) (JakubS)
  100. -> FIX: scroll page if the the searched string is not visible
  101. -> FIX: use a global Viewport over the document (linked views, real link following, location restoring, etc)
  102. -> FIX: wrong zoom buttons order (BR74248) (check consistancy with kdvi/kviewshell/kghostview/.. (not konq))
  103. -> ADD: presentation: cursor modes: hidden, visible, hidden with delay (Tobias)
  104. -> ADD: presentation: default transition which is used when no transition is defined in document (Tobias)
  105. -> ADD: presentation: support for automatic advance and loop on last page (Tobias)
  106. -> ADD: presentation: add additional presentation page to settings dialog (Tobias)
  107. -> CHG: presentation: the round wheel indicator can be clicked to change page
  108. -> FIX: layout margins on pageView
  109. -> ADD: restore the last active page when a file is opened again
  110. -> ADD: Save bookmarks into a file so you they get recovered when opening the same file again (Albert)
  111. -> FIX: searchline back to work
  112. -> CHG: DocumentInfo is now a DomTree and the properties dialog is dynamically generated (Tobias)
  113. -> ADD: Presentation transitions are loaded from the pdf files as well as fullscreen state (Tobias)
  114. -> Merged on HEAD on 2005-01-02 (The branch is frozen, development continues here)
  115. -> FIX: Fix my update cursor FIX :-D
  116. -> ADD: Make kpdf aware of Find and GoToPage actions
  117. -> FIX: Update cursor correctly when a link moves to a page and the cursor is over a link on that page
  118. -> ADD: Asyncronous PDF Generator implementation (for the user: faster UI, preloading, etc..)
  119. -> FIX: Memory manager (free cache if needed, avoid disk swap and oom)
  120. -> ADD: Presentation View (only the 'glitter' transition implemented for now)
  121. -> 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]
  122. -> 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
  123. -> FIX: When in non continuous mode and scrolling up a page, set the viewport at the bottom of the page (Albert)
  124. -> ADD: Show the window maximized when the user opens the program for the very first time (Albert)
  125. -> ADD: Use 'Generators' as providers for contents generation
  126. -> ADD: Add properties dialog (Albert)
  127. -> ADD: Support for show/hide menubar in rmb menu, different from HEAD so that supports Konqueror too (Albert)
  128. -> ADD: Watch File option (Albert)
  129. -> ADD: import Marco Martin's "another kpdf icon" (kde-look: 16146) (Albert)
  130. -> ADD: dynamic zoom with mid mouse button (click and drag up-down to zoom in-out)
  131. -> FIX: merge select text & select gfx, two sections on the same pop-up menu
  132. -> ADD: reading aids (inverted display, recolor, black/white, draw link border, draw image border)
  133. -> FIX: zoom preserved when switching modes and flickerless drawing
  134. -> ADD: Printing as PS instead of as image (Albert)
  135. -> ADD: Remember page on session logout and put the document in it on session restore (Albert)
  136. -> ADD: gfx capturing tool
  137. -> ADD: composited renderer framework (in addition to a fast light one)
  138. -> FIX: pageview repaint done internally (speed boost and reduced memory consumption)
  139. -> ADD: TDEConfigXT settings framework and Accessibility config (acc. code mostly not done)
  140. -> FIX: workaround for scrollview bug 1/2 (painting hidden widgets under certain circumstances)
  141. -> ADD: zoom into a rect defined by mouse (aka zoom to window)
  142. -> FIX: sheet rotation in landscape case
  143. -> ADD: Some dcop functions (goToPage, openDocument and give # of pages) (Albert)
  144. -> MRG: link following ('actionMovie' kind is missing)
  145. -> ADD: text selection (rectangular blocks) in selection mode
  146. -> ADD: autoscroll page with Shift+Up/Dn keys (exact konqueror's behavior)
  147. -> CHG: remake single page mode
  148. -> FIX: zoom buttons in sync with text
  149. -> ADD: continuous mode
  150. -> ADD: multiple pages per view (gui selects 1 or 2 ppv)
  151. -> MRG: the option to open password protected files (from head)
  152. -> MRG: the Table Of Contents (from head)
  153. -> ADD: a 'search bar' with prune-as-you-type feature
  154. -> MRG: Albert's search ported and implemented case sensitive
  155. -> CHG: smart handling of pixmap using an Observer ID (thumbnails are gone, only pixmaps now)
  156. -> FIX: some toolbar/menu changes
  157. -> ADD: outline bottom and right edges (of pages)
  158. -> FIX: centering pages in the view
  159. -> FIX: kpdf output at 100% has exactly the same size as acroread now
  160. -> CHG: qsplitter layouting
  161. -> FIX: zooming works as expected (and added 'fit to page' too)
  162. -> ADD: new go to page dialog
  163. -> GHG: previews sorted by visible areas (prioritize items where the scrollbar is)
  164. -> FIX: previews speedup: 50-100%
  165. -> CHG: use local instead of X memory for thumbnails (..)
  166. -> MRG: merge lots of kpdf_part and part (centralview) code (to simplify/clenup)
  167. -> The branch 'kpdf_experiments' was created at this point. Code refactoring started.
  168. -> ADD: Completely use xpdf code for rendering that solves most font problems (Albert)
  169. -> MRG: Replace xpdf version with lastest one (3.00) that supports PDF 1.5 (Albert)
  170. -> newest added features are at the top of the list