Warning, /graphics/okular/TODO is written in an unsupported language. File is not indexed.

0001 TODO - okular
0002 Legend:
0003     ADD - ADDed (new feature)
0004     CHG - CHanGed (existing behavior)
0005     FIX - FIXed (bug or regression)
0006     MRG - MeRGed (code from a branch or a patch)
0007 
0008 Bugs and wishes to close when moving okular to kdegraphics:
0009 -> WISH  91146: Add capability to extract plain text from a pdf file.
0010 -> WISH  91251: "Magic marker" tool for higlighting text
0011 -> WISH  91809: kpdf cant fill in formulars
0012 -> WISH  93416: support for pdf sticky notes
0013 -> BUG   97869: kpdf fails to properly hide the context menu
0014 -> WISH  99352: Cannot change orientation of pdf file
0015 -> WISH  99787: kpdf needs to have a bookmark list
0016 -> WISH 100341: first page at right, in two pages mode
0017 -> WISH 102523: wish: if opening second file, file/open dir should be dirname($current_file)
0018 -> WISH 102704: Handle gzipped and bzipped PDFs
0019 -> WISH 102788: Current page number visible
0020 -> WISH 103051: make notes on pdf files
0021 -> BUG  106546: Search with "/" and ALT+TAB
0022 -> WISH 107998: kpdf horizontal scroll bar
0023 -> WISH 109346: ability to select everything on page(s) and use ctrl+a to select all (text)
0024 -> BUG  110440: Almost all options in Find dialog are always disabled
0025 -> WISH 111651: Usability: Make find-as-you-type widget more distinguishable
0026 -> WISH 114648: An option to deny documents' fullscreen requests is desirable.
0027 -> WISH 115557: Automatically detect and remove white page borders
0028 -> WISH 117045: text search: continue backwards
0029 -> WISH 117449: kpdf should read files from stdin with the - option
0030 -> WISH 117805: Wish: Select pages like kghostview
0031 -> WISH 118872: An option to read all the document with Kttsd
0032 -> WISH 118938: No way to find out the page size(s)
0033 -> WISH 119084: pdf attachment support: saving/opening attachments in pdf...
0034 -> WISH 119455: use poppler library for kpdf
0035 -> WISH 119919: make it possible to disable transition in presentation mode
0036 -> WISH 122863: Show page numbers of chapters/bookmarks in contents tab
0037 -> BUG  130123: kpdf text selection inconsistent with the rest of KDE
0038 -> WISH 131045: Add context menu for URLs
0039 -> WISH 132152: Usability: contents / pdfbookmarks panel is not accessible via keyboard only
0040 -> WISH 134115: specifing to kpdf the first-opened page from command line
0041 -> WISH 134646: remember (and restore) zoom per file not per app
0042 -> WISH 136820: would like a reload button or menu item in KPDF
0043 -> WISH 137905: command-line option for presentation mode
0044 -> WISH 145345: goto page: update slider while editing page number
0045 
0046 In progress [working on]:
0047 -> search: backward text search (BR117045)
0048 -> various backends: fill about data information
0049 -> gui: add config for gfx (yes/no) and text (yes/no/kde) antialias
0050 -> core: provide a binary compatible okularcore library to extend the format capabilities
0051 -> KPDF -> okular conversion of configuration & datafiles {configuration(done), document data(in progress), kwallet passwords(missing)}
0052 -> inverse search (BR113191)
0053    find with an usability expert the "best" way to activate such a link
0054    provide a configuration widget to choose the editor and configure a custom one
0055 -> toc: highlight the row of the current page (BR127358)
0056    (check if there's a better way to do the highlighting - in case just edit TOCModel)
0057 -> annotations: renderers in PagePainter (for the 6 annots)
0058 -> annotations: handlers in PageView for WindowAnnots and others..
0059 -> annotations: creators in PageViewAnnotator (40% done)
0060 -> annotations: framework (BR67300,BR62793) and tools (BR67300,BR91251)
0061 -> annotations: add the annot pane (cool plz!)
0062 -> rotate the whole document / individual pages (on screen/print?) (BR99352)
0063 -> link: add a Okular::Anchor link class
0064 -> pageview: update layout when toggling the 'ebook atyle alignment'
0065 
0066 More items (first items will enter 'In progress list' first):
0067 -> annotations: "move" and "delete" tools
0068 -> rethink which buttons show in the toolbar (BR139825)
0069 -> annotations: configurabile tools in the toolbar (BR137903)
0070 -> pageview: add vp damaging queue and flush function. add coolfx to smoothmove using damaging
0071 -> annotations: toolbar: display tooltip only the first time
0072 -> annotations: provide nice wizards. Make it easy to deliver/copy/move the xml files (by Uga)
0073 -> GHNS: get hot new ebooks on the supported formats (pdf for now) (enrico)
0074 -> pageview: add scrollbar marks for bookmarks (like kate)
0075 -> pageview: change document viewport after mouse scrolling ended (not every scroll frame)
0076    this will give better mvc consistancy
0077 -> other info on pdfs properties: number of accessed times, time spent on pdf, ...
0078 -> part: collapsing the left panel will hide it (activate hiding action)
0079 -> preload: add a delay when forward loading pages
0080 -> bookmarks: fastmarks (new bookmark concept with tab-like signs, shortcuts, etc) (BR
0081 -> viewport restoring: sometimes it seems to restore the viewport a bit under where it was
0082 -> core: Delay TOC (DocumentSynopsis) generation (and move it on thread)
0083 -> core: add a way to handle "named xpdf links" in Okular::Action instead of resolving all
0084    dests when displaying a page (speedups a lot generation of page with many links)
0085 -> toolbar: move the toolbar to the top of pageview (left panel is really at the left of the toolbar)
0086 -> thumbnailslist: clinking on highlighted rect should bring the viewport to that search result (BR98334)
0087 -> Dom framework to cache document metadata. It should archive those types of data:
0088    (NOTE: already Dom'ed object is marked with 'X')
0089    - <X> Synopsis will go there after 1st generation (so we can edit it too)
0090    - <X> Document info (after the 1st gen)
0091    - <X> Bookmarked pages
0092    - <X> Current Viewport and 10 history steps
0093    - Edited pages (rotated/with_data for example)
0094    - Overlay editing (highlighting/notations/etc..)
0095    - Presentation related overrides (FS mode, individual / global transitions)
0096    - ..more stuff.. but this isn't a problem, since a QDom is flexible by design
0097    The Object will reside into the Document and must not be accessible by Observers in
0098    a direct way. Dom format, relations to other classes and accessing must be specified
0099    in a separated diagram or text file.
0100    - Plus think at storing xml data to an external shared server.. something that
0101    has to do with versioning data.. (shared annotations, bookmarks & co.)
0102 -> add okular manual in PDF format loaded on the first startup or on menu->help->manual
0103    this visually explains basic usage, mouse buttons functions & more..
0104 -> ADD: click over image allows "save image" [60% done (activerect of type image)]
0105 -> bookview: 3d opengl widget for viewing the document as a real book (turning pages, etc..)
0106 -> wallet: use asynchronous interface (to prevent ui-blocking)
0107 -> restore a location from a given url (like http:/someurl?stringForViewport) (BR99240)
0108 -> automatic online dictionaries / translators (BR80338)
0109 -> sidebar: evaluate wether to make the left toolbox auto-hiding (kicker like) (BR94495)
0110 -> add OCR for building TextPages out of pure graphical (aka scanned) pages
0111 -> presentation: provide a pageX/totalPages indicator in addition to the circle one
0112 -> presentation: implement missing transitions (6/11 done) (BR139284)
0113 -> presentation: save a flag (to the xml) to open a pdf in presentation mode
0114 -> presentation: wheel not visible on black. gradient appreciated on lighter backgrounds.
0115 -> presentation: 2 pages per view, for users reading ebooks with wide screens.
0116 -> goto 'logical' page (usually differs from pdf's page) (req. by Luca Burrelli)
0117 -> move some document related features from part to the document (see find, goto dialog, ...)
0118 -> tools: ruler (BR155737), measure: distance, perimeter, ?area?, color picker
0119 -> export: export to other formats keeping formatting (PS is basically printing. PNG is easy too)
0120 -> export: extract images (have a look at ImageOutputDev.cc and pdfimages.cc from xpdf (not in our xpdf sources))
0121 -> history as a toolbox child (collecting Doc's viewport changes notifications)
0122 -> take care of TODOs in code
0123 -> cleanup code and update README.png
0124 
0125 Icons needed:
0126 - okular (ToolBAR): 1 continuous, 2 tied-pages, 3 Normal (not scroll only, it
0127     performs other ops), 4 Zoom, 5 Select, 6 Annotation/Review
0128 - okular (Edit Tools): text highlighter, line, polygon, ellipse, text underline
0129 - COMMON (here in ToolBox): Toc, Annotations
0130 
0131 Done (newest features come first):
0132 -> ADD: core: forms support (BR91809)
0133 -> ADD: kspeech TTS interface. speech {document(BR118872) / page / selection}
0134 -> CHG: thumbnails list: refactor to do internal rendering as pageview does
0135 -> ADD: select more than one annotation in the annotation tree (BR155668)
0136 -> ADD: text selection: select all (BR109346)
0137 -> ADD: text selection in wordprocessor style (BR130123)
0138 -> ADD: open gzipped and bzipped documents (BR102704)
0139 -> ADD: thumbnailslist: show Viewport in a blended way, allowing to be dragged (BR135521)
0140 -> CHG: async way to read the fonts, no more blocking properties dialog
0141 -> CHG: use ThreadWeaver for the rotating jobs
0142 -> ADD: save/restore the values of the form fields when closing/opening a documents
0143 -> ADD: "dummy" mode for a very simple interface when the okular part is in eg printing preview
0144 -> ADD: bookmarks: improved interface, with easy handling of the bookmarks of all the documents (BR99787,BR136113)
0145 -> ADD: Reload action to force the reload of the current document (BR136820)
0146 -> CHG: renamed Okular::Link to Okular::Action
0147 -> ADD: presentation: add page counter and a widget to manually set pages on the top bar
0148 -> ADD: basic support for Text and Line DjVu annotations
0149 -> FIX: regression: popup context menu when using right button in selection mode (BR99315)
0150 -> ADD: annotations: add config option for default name change
0151 -> ADD: presentation: add a red pencil that creates ink annotations
0152 -> CHG: support links with shapes different than a rectangle
0153 -> ADD: export: give the generators the ability to export all the text to plain file (if supported), the PDF generator already use this (BR91146)
0154 -> CHG: search: use shortcut for 'find next' action (not the default one) in find-ahead
0155 -> CHG: use shortcuts for next and prev page even in presentation mode (by Tobias Koenig)
0156 -> ADD: bookmarks: go to next/previous actions (showing in thumbnailslist rmb popup too)
0157 -> CHG: open dialog: switch to directory where the already opened (local) file is
0158 -> ADD: toc: add search bar (a 'prune on type' lineedit like in thumbnails widget) (BR99349)
0159 -> FIX: kfile-plugins/pdf: provide internal support and rewrite that plugin (drops xpdf dependancy from kdegraphics) (by ktech)
0160 -> CHG: core: abstract TextPage generation (the last xpdf dependant class!)
0161 -> CHG: create a DocumentInfo structure for passing the font information from generators to the document
0162 -> ADD: presentation: link following (BR98388)
0163 -> ADD: add ebook-friendly alignment option, better layouting (BR100341)
0164 -> FIX: random crash when closing kpdf with kapp->quit() (don't use Settings:: in destructors)
0165 -> FIX: implement links for starting end exiting from presentation mode (pdf FullScreen, Close actions)
0166 -> CHG: cursor wraps on screen for dragging the page/dynZooming
0167 -> FIX: raised scaling performance by 10x times for typ usage, removed odd cases, speedups to viewScroll and dynZoom
0168 -> ADD: annotations: complete xml storage/retrieval of internal annotations
0169 -> CHG: page properties (bookmarks, annotations, ...) storage moved to Page class
0170 -> ADD: sidebar: add shortcut for showing/hiding it (BR99316)
0171 -> ADD: annotations: PDF1.6 reader (PDF's annotations -> our data structures)
0172 -> ADD: Internal data structures for annotations handling.
0173 -> FIX: rmb when no doc displayed to restore menu
0174 -> ADD: Save zoom setting on exit
0175 -> ADD: Put fonts used by the document on the properties dialog
0176 -> ADD: partial implementation of XYZ links
0177 -> ADD: google-like search on thumbnails
0178 -> ADD: use kde wallet for storing passwords of protected files
0179 *> The branch 'kpdf_annotations' was created at this point. [2005-Feb-12]
0180 -> FIX: trigger redraw on 'filter text' on current page (need new highlight engine first)
0181 -> ADD: Obey DRM is now a configuration option
0182 -> FIX: fixed viewport saving/restoring (+performance fix) on presentation mode
0183 -> FIX: leakfix when closing document while thread was running (no more leaks now)
0184 -> FIX: direct hi-performance pixels manipulation for highlighting (instead of the obsoleted setRasterOp)
0185 -> CHG: new search api. supports multiple searches at once, multiple highlights per page
0186 -> ADD: pageView moves smoothly when searching / moving in history
0187 -> ADD: better bookmark rendering in thumbnailslist (show 'clip overlay')
0188 -> CHG: changes and cleanups in pageView's mouse handling functions
0189 -> ADD: KTTSD simple support: speech selection using kspeech api via pure dcop (don't break compatibility)
0190 -> CHG: right click and drag while in 'normal' mode changes to 'selection' mode and selects
0191 -> FIX: complete valgrind check and leakfix (2 leaks were present) [27-Jan-04]
0192 -> ADD: history, forward/back history actions, history links and xml storage (10 steps)
0193 -> ADD: rmb popup on thumbnailslist (the popup shared with pageView: same behavior)
0194 -> ADD: display 'current page' / 'total pages' with analog indicator, active labels, etc
0195 -> CHG: Presentation mode is now Ctrl+Shift+p instead of F9 because it was colliding with Konqueror's toggle sidebar
0196 -> FIX: various in memory unallocator, preload with single pages, pageview
0197 -> FIX: optimized pageView (removed 1 waster req on start, lowered reqs)
0198 -> FIX: memory unloading order and hard swap avoiding
0199 -> CHG: open and open-recent buttons unified in Shell
0200 -> CHG: lens icon for the find-ahead messages
0201 -> ADD: page preloading
0202 -> FIX: smarter memory management / prioritize queries
0203 -> ADD: type ahead search in pageview (type '/' then the word to search..) (JakubS)
0204 -> FIX: scroll page if the searched string is not visible
0205 -> FIX: use a global Viewport over the document (linked views, real link following, location restoring, etc)
0206 -> FIX: wrong zoom buttons order (BR74248) (check consistancy with kdvi/kviewshell/kghostview/.. (not konq))
0207 -> ADD: presentation: cursor modes: hidden, visible, hidden with delay (Tobias)
0208 -> ADD: presentation: default transition which is used when no transition is defined in document (Tobias)
0209 -> ADD: presentation: support for automatic advance and loop on last page (Tobias)
0210 -> ADD: presentation: add additional presentation page to settings dialog (Tobias)
0211 -> CHG: presentation: the round wheel indicator can be clicked to change page
0212 -> FIX: layout margins on pageView
0213 -> ADD: restore the last active page when a file is opened again
0214 -> ADD: Save bookmarks into a file so you they get recovered when opening the same file again (Albert)
0215 -> FIX: searchline back to work
0216 -> CHG: DocumentInfo is now a DomTree and the properties dialog is dynamically generated (Tobias)
0217 -> ADD: Presentation transitions are loaded from the pdf files as well as fullscreen state (Tobias)
0218 *> Merged on HEAD on 2005-01-02 (The branch is frozen, development continues here)
0219 -> FIX: Fix my update cursor FIX :-D
0220 -> ADD: Make kpdf aware of Find and GoToPage actions
0221 -> FIX: Update cursor correctly when a link moves to a page and the cursor is over a link on that page
0222 -> ADD: Asynchronous PDF Generator implementation (for the user: faster UI, preloading, etc..)
0223 -> FIX: Memory manager (free cache if needed, avoid disk swap and oom)
0224 -> ADD: Presentation View (only the 'glitter' transition implemented for now)
0225 -> FIX: FixPack1 [dyn_zoom repaints, initial panel width, zoom_lineedit focus proxy, searchwidget refactor{thumbs restoring on clear, buttons size, less code}, highlight bookmarked thumbnails]
0226 -> 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
0227 -> FIX: When in non continuous mode and scrolling up a page, set the viewport at the bottom of the page (Albert)
0228 -> ADD: Show the window maximized when the user opens the program for the very first time (Albert)
0229 -> ADD: Use 'Generators' as providers for contents generation
0230 -> ADD: Add properties dialog (Albert)
0231 -> ADD: Support for show/hide menubar in rmb menu, different from HEAD so that supports Konqueror too (Albert)
0232 -> ADD: Watch File option (Albert)
0233 -> ADD: import Marco Martin's "another kpdf icon" (kde-look: 16146) (Albert)
0234 -> ADD: dynamic zoom with mid mouse button (click and drag up-down to zoom in-out)
0235 -> FIX: merge select text & select gfx, two sections on the same pop-up menu
0236 -> ADD: reading aids (inverted display, recolor, black/white, draw link border, draw image border)
0237 -> FIX: zoom preserved when switching modes and flickerless drawing
0238 -> ADD: Printing as PS instead of as image (Albert)
0239 -> ADD: Remember page on session logout and put the document in it on session restore (Albert)
0240 -> ADD: gfx capturing tool
0241 -> ADD: composited renderer framework (in addition to a fast light one)
0242 -> FIX: pageview repaint done internally (speed boost and reduced memory consumption)
0243 -> ADD: KConfigXT settings framework and Accessibility config (acc. code mostly not done)
0244 -> FIX: workaround for scrollview bug 1/2 (painting hidden widgets under certain circumstances)
0245 -> ADD: zoom into a rect defined by mouse (aka zoom to window)
0246 -> FIX: sheet rotation in landscape case
0247 -> ADD: Some dcop functions (goToPage, openDocument and give # of pages) (Albert)
0248 -> MRG: link following ('actionMovie' kind is missing)
0249 -> ADD: text selection (rectangular blocks) in selection mode
0250 -> ADD: autoscroll page with Shift+Up/Dn keys (exact konqueror's behavior)
0251 -> CHG: remake single page mode
0252 -> FIX: zoom buttons in sync with text
0253 -> ADD: continuous mode
0254 -> ADD: multiple pages per view (gui selects 1 or 2 ppv)
0255 -> MRG: the option to open password protected files (from head)
0256 -> MRG: the Table Of Contents (from head)
0257 -> ADD: a 'search bar' with prune-as-you-type feature
0258 -> MRG: Albert's search ported and implemented case sensitive
0259 -> CHG: smart handling of pixmap using an Observer ID (thumbnails are gone, only pixmaps now)
0260 -> FIX: some toolbar/menu changes
0261 -> ADD: outline bottom and right edges (of pages)
0262 -> FIX: centering pages in the view
0263 -> FIX: kpdf output at 100% has exactly the same size as acroread now
0264 -> CHG: qsplitter layouting
0265 -> FIX: zooming works as expected (and added 'fit to page' too)
0266 -> ADD: new go to page dialog
0267 -> GHG: previews sorted by visible areas (prioritize items where the scrollbar is)
0268 -> FIX: previews speedup: 50-100%
0269 -> CHG: use local instead of X memory for thumbnails (..)
0270 -> MRG: merge lots of kpdf_part and part (centralview) code (to simplify/cleanup)
0271 *> The branch 'kpdf_experiments' was created at this point. Code refactoring started.
0272 -> ADD: Completely use xpdf code for rendering that solves most font problems (Albert)
0273 -> MRG: Replace xpdf version with lastest one (3.00) that supports PDF 1.5 (Albert)
0274 -> newest added features are at the top of the list