TODO 17.5 KB
Newer Older
Albert Astals Cid's avatar
Albert Astals Cid committed
1
TODO - okular
2
Legend:
3 4 5 6
    ADD - ADDed (new feature)
    CHG - CHanGed (existing behavior)
    FIX - FIXed (bug or regression)
    MRG - MeRGed (code from a branch or a patch)
7

8
Bugs and wishes to close when moving okular to kdegraphics:
Pino Toscano's avatar
+fixes  
Pino Toscano committed
9 10 11
-> WISH  91146: Add capability to extract plain text from a pdf file.
-> BUG   97869: kpdf fails to properly hide the context menu
-> WISH  99352: Cannot change orientation of pdf file
Pino Toscano's avatar
Pino Toscano committed
12
-> WISH  99787: kpdf needs to have a bookmark list
Albert Astals Cid's avatar
Albert Astals Cid committed
13
-> WISH 100341: first page at right, in two pages mode
14
-> WISH 102523: wish: if opening second file, file/open dir should be dirname($current_file)
15
-> WISH 102788: Current page number visible
16
-> BUG  106546: Search with "/" and ALT+TAB
17
-> WISH 107998: kpdf horizontal scroll bar
18 19
-> BUG  110440: Almost all options in Find dialog are always disabled
-> WISH 111651: Usability: Make find-as-you-type widget more distinguishable
20
-> WISH 117449: kpdf should read files from stdin with the - option
Pino Toscano's avatar
Pino Toscano committed
21
-> WISH 117805: Wish: Select pages like kghostview
Albert Astals Cid's avatar
Albert Astals Cid committed
22
-> WISH 118938: No way to find out the page size(s)
23
-> WISH 119455: use poppler library for kpdf
Pino Toscano's avatar
Pino Toscano committed
24
-> WISH 122863: Show page numbers of chapters/bookmarks in contents tab
25
-> WISH 131045: Add context menu for URLs
Pino Toscano's avatar
Pino Toscano committed
26
-> WISH 134115: specifing to kpdf the first-opened page from command line
Pino Toscano's avatar
Pino Toscano committed
27
-> WISH 136820: would like a reload button or menu item in KPDF
Pino Toscano's avatar
Pino Toscano committed
28
-> WISH 137905: command-line option for presentation mode
Pino Toscano's avatar
Pino Toscano committed
29
-> WISH 145345: goto page: update slider while editing page number
30

Enrico Ros's avatar
Enrico Ros committed
31
In progress [working on]:
Pino Toscano's avatar
Pino Toscano committed
32
-> core: provide a binary compatible okularcore library to extend the format capabilities
Pino Toscano's avatar
Pino Toscano committed
33
-> core: forms support (mainly for pdf) (BR91809)
34
-> KPDF -> okular conversion of datafiles {document data(in progress), kwallet passwords(missing)}
35 36 37
-> inverse search (BR113191)
   find with an usability expert the "best" way to activate such a link
   provide a configuration widget to choose the editor and configure a custom one
Pino Toscano's avatar
Pino Toscano committed
38
-> open gzipped and bzipped documents (BR102704)
Pino Toscano's avatar
Pino Toscano committed
39
-> toc: highlight the row of the current page (BR127358)
40
   (check if there's a better way to do the highlighting - in case just edit TOCItem::setCurrent())
Enrico Ros's avatar
Enrico Ros committed
41
-> annotations: renderers in PagePainter (for the 6 annots)
42
-> annotations: handlers in PageView for WindowAnnots and others..
Enrico Ros's avatar
Enrico Ros committed
43
-> annotations: creators in PageViewAnnotator (40% done)
44
-> annotations: framework (BR67300,BR62793) and tools (BR67300,BR91251)
Enrico Ros's avatar
Enrico Ros committed
45
-> annotations: add the annot pane (cool plz!)
Pino Toscano's avatar
Pino Toscano committed
46
-> text selection in wordprocessor style (BR109346,BR130123)
47
-> rotate the whole document / individual pages (on screen/print?) (BR99352)
48
-> link: add a Okular::Anchor link class
49
-> (done: 100%) refactor, pdf parser, xml storage
Enrico Ros's avatar
Enrico Ros committed
50
-> check mouse wrapping not screH / 2
Enrico Ros's avatar
Enrico Ros committed
51
-> check if fix was applied in head only (pageview.cpp 1676)
Enrico Ros's avatar
Enrico Ros committed
52
-> pageview: update layout when toggling the 'ebook atyle alignment'
53

54
More items (first items will enter 'In progress list' first):
Pino Toscano's avatar
Pino Toscano committed
55 56
-> rethink which buttons show in the toolbar (BR92620,BR139825)
-> annotations: configurabile tools in the toolbar (BR137903)
57
-> pageview: add vp damaging queue and flush function. add coolfx to smoothmove using damaging
58
-> annotations: toolbar: display tooltip only the first time
59
-> annotations: provide nice wizards. Make it easy to deliver/copy/move the xml files (by Uga)
60
-> GHNS: get hot new ebooks on the supported formats (pdf for now) (enrico)
61
-> pageview: add scrollbar marks for bookmarks (like kate)
62 63
-> pageview: change document viewport after mouse scrolling ended (not every scroll frame)
   this will give better mvc consistancy
64
-> other info on pdfs properties: number of accessed times, time spent on pdf, ...
65
-> part: collapsing the left panel will hide it (activate hiding action)
Enrico Ros's avatar
Enrico Ros committed
66
-> preload: add a delay when forward loading pages
67
-> bookmarks: fastmarks (new bookmark concept with tab-like signs, shortcuts, etc) (BR
Enrico Ros's avatar
Enrico Ros committed
68
-> viewport restoring: sometimes it seems to restore the viewport a bit under where it was
Pino Toscano's avatar
Pino Toscano committed
69
-> core: Delay TOC (DocumentSynopsis) generation (and move it on thread)
Pino Toscano's avatar
Pino Toscano committed
70
-> core: add a way to handle "named xpdf links" in Okular::Action instead of resolving all
71
   dests when displaying a page (speedups a lot generation of page with many links)
72
-> toolbar: move the toolbar to the top of pageview (left panel is really at the left of the toolbar)
73
-> thumbnailslist: refactor to do internal rendering as pageview does (way faster
Pino Toscano's avatar
Pino Toscano committed
74
   than using QScrollArea + inserted Widgets and saves 8% on document loading)
Pino Toscano's avatar
Pino Toscano committed
75
-> thumbnailslist: clinking on highlighted rect should bring the viewport to that search result (BR98334)
76
-> Dom framework to cache document metadata. It should archive those types of data:
Enrico Ros's avatar
notes  
Enrico Ros committed
77 78
   (NOTE: already Dom'ed object is marked with 'X')
   - <X> Synopsis will go there after 1st generation (so we can edit it too)
Enrico Ros's avatar
Enrico Ros committed
79
   - <X> Document info (after the 1st gen)
80
   - <X> Bookmarked pages
81
   - <X> Current Viewport and 10 history steps
82
   - Edited pages (rotated/with_data for example)
Pino Toscano's avatar
Pino Toscano committed
83
   - Overlay editing (highlighting/notations/etc..)
84
   - Presentation related overrides (FS mode, individual / global transitions)
85
   - ..more stuff.. but this isn't a problem, since a QDom is flexible by design
Pino Toscano's avatar
Pino Toscano committed
86
   The Object will reside into the Document and must not be accessible by Observers in
87 88
   a direct way. Dom format, relations to other classes and accessing must be specified
   in a separated diagram or text file.
Pino Toscano's avatar
Pino Toscano committed
89
   - Plus think at storing xml data to an external shared server.. something that
90
   has to do with versioning data.. (shared annotations, bookmarks & co.)
91
-> add okular manual in PDF format loaded on the first startup or on menu->help->manual
Enrico Ros's avatar
Enrico Ros committed
92
   this visually explains basic usage, mouse buttons functions & more..
93
-> ADD: click over image allows "save image" [60% done (activerect of type image)]
Enrico Ros's avatar
Enrico Ros committed
94
-> zoom: fit text (with configurable margin)
95
-> bookview: 3d opengl widget for viewing the document as a real book (turning pages, etc..)
96
-> wallet: use asynchronous interface (to prevent ui-blocking)
97
-> restore a location from a given url (like http:/someurl?stringForViewport) (BR99240)
98
-> kspeech TTS interface. speech {document(missing, BR118872) / page(missing) / selection(done)}
99
-> automatic online dictionaries / translators (BR80338)
100
-> sidebar: evaluate wether to make the left toolbox auto-hiding (kicker like) (BR94495)
101
-> add OCR for building TextPages out of pure graphical (aka scanned) pages
102
-> presentation: provide a pageX/totalPages indicator in addition to the circle one
Pino Toscano's avatar
Pino Toscano committed
103
-> presentation: implement missing transitions (6/11 done) (BR139284)
104
-> presentation: save a flag (to the xml) to open a pdf in presentation mode
105
-> presentation: wheel not visible on black. gradient appreciated on lighter backgrounds.
Piotr Szymanski's avatar
Piotr Szymanski committed
106
-> presentation: 2 pages per view, for users reading ebooks with wide screens.
Enrico Ros's avatar
Enrico Ros committed
107
-> goto 'logical' page (usually differs from pdf's page) (req. by Luca Burrelli)
108
-> move some document related features from part to the document (see find, goto dialog, ...)
Pino Toscano's avatar
updates  
Pino Toscano committed
109
-> tools: ruler (BR111254), measure: distance, perimeter, ?area?, color picker
110 111
-> export: export to other formats keeping formatting (PS is easy, we just have PSOutputDev that does it :-D. PNG is easy too)
-> export: extract images (have a look at ImageOutputDev.cc and pdfimages.cc from xpdf (not in our xpdf sources))
112
-> history as a toolbox child (collecting Doc's viewport changes notifications)
113 114
-> take care of TODOs in code
-> cleanup code and update README.png
115

Enrico Ros's avatar
Enrico Ros committed
116
Icons needed:
117
- okular (ToolBAR): 1 continuous, 2 tied-pages, 3 Normal (not scroll only, it
Enrico Ros's avatar
Enrico Ros committed
118
    performs other ops), 4 Zoom, 5 Select, 6 Annotation/Review
119
- okular (Edit Tools): highlighter( transp base, we colorize it)
Enrico Ros's avatar
Enrico Ros committed
120 121
- COMMON (here in ToolBox): Toc, Annotations

Enrico Ros's avatar
Enrico Ros committed
122
Done (newest features come first):
Pino Toscano's avatar
Pino Toscano committed
123 124 125 126 127 128
-> ADD: thumbnailslist: show Viewport in a blended way, allowing to be dragged (BR135521)
-> CHG: async way to read the fonts, no more blocking properties dialog
-> CHG: use ThreadWeaver for the rotating jobs
-> ADD: save/restore the values of the form fields when closing/opening a documents
-> ADD: "dummy" mode for a very simple interface when the okular part is in eg printing preview
-> ADD: bookmarks: improved interface, with easy handling of the bookmarks of all the documents (BR99787,BR136113)
Pino Toscano's avatar
Pino Toscano committed
129
-> ADD: Reload action to force the reload of the current document (BR136820)
Pino Toscano's avatar
Pino Toscano committed
130
-> CHG: renamed Okular::Link to Okular::Action
Pino Toscano's avatar
Pino Toscano committed
131
-> ADD: presentation: add page counter and a widget to manually set pages on the top bar
Pino Toscano's avatar
updates  
Pino Toscano committed
132
-> ADD: basic support for Text and Line DjVu annotations
133 134
-> FIX: regression: popup context menu when using right button in selection mode (BR99315)
-> ADD: annotations: add config option for default name change
Pino Toscano's avatar
Pino Toscano committed
135
-> ADD: presentation: add a red pencil that creates ink annotations
Pino Toscano's avatar
Pino Toscano committed
136 137
-> CHG: support links with shapes different than a rectangle
-> ADD: export: give the generators the ability to export all the text to plain file (if supported), the PDF generator already use this (BR91146)
138 139
-> CHG: search: use shortcut for 'find next' action (not the default one) in find-ahead
-> CHG: use shortcuts for next and prev page even in presentation mode (by Tobias Koenig)
140
-> ADD: bookmarks: go to next/previous actions (showing in thumbnailslist rmb popup too)
Pino Toscano's avatar
Pino Toscano committed
141
-> CHG: open dialog: switch to directory where the already opened (local) file is
Pino Toscano's avatar
Pino Toscano committed
142 143
-> ADD: toc: add search bar (a 'prune on type' lineedit like in thumbnails widget) (BR99349)
-> FIX: kfile-plugins/pdf: provide internal support and rewrite that plugin (drops xpdf dependancy from kdegraphics) (by ktech)
Pino Toscano's avatar
Pino Toscano committed
144 145
-> CHG: core: abstract TextPage generation (the last xpdf dependant class!)
-> CHG: create a DocumentInfo structure for passing the font information from generators to the document
Piotr Szymanski's avatar
Piotr Szymanski committed
146
-> ADD: presentation: link following (BR98388)
Enrico Ros's avatar
Enrico Ros committed
147
-> ADD: add ebook-friendly alignment option, better layouting (BR100341)
148 149
-> FIX: random crash when closing kpdf with kapp->quit() (don't use Settings:: in destructors)
-> FIX: implement links for starting end exiting from presentation mode (pdf FullScreen, Close actions)
Enrico Ros's avatar
Enrico Ros committed
150 151
-> CHG: cursor wraps on screen for dragging the page/dynZooming
-> FIX: raised scaling performance by 10x times for typ usage, removed odd cases, speedups to viewScroll and dynZoom
152 153
-> ADD: annotations: complete xml storage/retrieval of internal annotations
-> CHG: page properties (bookmarks, annotations, ...) storage moved to Page class
154
-> ADD: sidebar: add shortcut for showing/hiding it (BR99316)
155
-> ADD: annotations: PDF1.6 reader (PDF's annotations -> our data structures)
156
-> ADD: Internal data structures for annotations handling.
157
-> FIX: rmb when no doc displayed to restore menu
158
-> ADD: Save zoom setting on exit
159
-> ADD: Put fonts used by the document on the properties dialog
Enrico Ros's avatar
Enrico Ros committed
160
-> ADD: partial implementation of XYZ links
161
-> ADD: google-like search on thumbnails
162
-> ADD: use kde wallet for storing passwords of protected files
Enrico Ros's avatar
Enrico Ros committed
163
*> The branch 'kpdf_annotations' was created at this point. [2005-Feb-12]
Pino Toscano's avatar
Pino Toscano committed
164
-> FIX: trigger redraw on 'filter text' on current page (need new highlight engine first)
165
-> ADD: Obey DRM is now a configuration option
166
-> FIX: fixed viewport saving/restoring (+performance fix) on presentation mode
167 168
-> FIX: leakfix when closing document while thread was running (no more leaks now)
-> FIX: direct hi-performance pixels manipulation for highlighting (instead of the obsoleted setRasterOp)
Pino Toscano's avatar
Pino Toscano committed
169
-> CHG: new search api. supports multiple searches at once, multiple highlights per page
170 171
-> ADD: pageView moves smoothly when searching / moving in history
-> ADD: better bookmark rendering in thumbnailslist (show 'clip overlay')
172
-> CHG: changes and cleanups in pageView's mouse handling functions
Pino Toscano's avatar
Pino Toscano committed
173
-> ADD: KTTSD simple support: speech selection using kspeech api via pure dcop (don't break compatibility)
174
-> CHG: right click and drag while in 'normal' mode changes to 'selection' mode and selects
175
-> FIX: complete valgrind check and leakfix (2 leaks were present) [27-Jan-04]
176
-> ADD: history, forward/back history actions, history links and xml storage (10 steps)
177 178
-> ADD: rmb popup on thumbnailslist (the popup shared with pageView: same behavior)
-> ADD: display 'current page' / 'total pages' with analog indicator, active labels, etc
179
-> CHG: Presentation mode is now Ctrl+Shift+p instead of F9 because it was colliding with Konqueror's toggle sidebar
180 181
-> FIX: various in memory unallocator, preload with single pages, pageview
-> FIX: optimized pageView (removed 1 waster req on start, lowered reqs)
182 183 184
-> FIX: memory unloading order and hard swap avoiding
-> CHG: open and open-recent buttons unified in Shell
-> CHG: lens icon for the find-ahead messages
Enrico Ros's avatar
Enrico Ros committed
185 186 187
-> ADD: page preloading
-> FIX: smarter memory management / prioritize queries
-> ADD: type ahead search in pageview (type '/' then the word to search..) (JakubS)
188 189
-> FIX: scroll page if the the searched string is not visible
-> FIX: use a global Viewport over the document (linked views, real link following, location restoring, etc)
Tobias Koenig's avatar
Tobias Koenig committed
190
-> FIX: wrong zoom buttons order (BR74248) (check consistancy with kdvi/kviewshell/kghostview/.. (not konq))
191 192 193 194
-> ADD: presentation: cursor modes: hidden, visible, hidden with delay (Tobias)
-> ADD: presentation: default transition which is used when no transition is defined in document (Tobias)
-> ADD: presentation: support for automatic advance and loop on last page (Tobias)
-> ADD: presentation: add additional presentation page to settings dialog (Tobias)
195 196 197
-> CHG: presentation: the round wheel indicator can be clicked to change page
-> FIX: layout margins on pageView
-> ADD: restore the last active page when a file is opened again
198
-> ADD: Save bookmarks into a file so you they get recovered when opening the same file again (Albert)
Enrico Ros's avatar
Enrico Ros committed
199 200
-> FIX: searchline back to work
-> CHG: DocumentInfo is now a DomTree and the properties dialog is dynamically generated (Tobias)
201
-> ADD: Presentation transitions are loaded from the pdf files as well as fullscreen state (Tobias)
Enrico Ros's avatar
Enrico Ros committed
202
*> Merged on HEAD on 2005-01-02 (The branch is frozen, development continues here)
203
-> FIX: Fix my update cursor FIX :-D
204 205
-> ADD: Make kpdf aware of Find and GoToPage actions
-> FIX: Update cursor correctly when a link moves to a page and the cursor is over a link on that page
Pino Toscano's avatar
Pino Toscano committed
206
-> ADD: Asynchronous PDF Generator implementation (for the user: faster UI, preloading, etc..)
Enrico Ros's avatar
sync  
Enrico Ros committed
207
-> FIX: Memory manager (free cache if needed, avoid disk swap and oom)
208
-> ADD: Presentation View (only the 'glitter' transition implemented for now)
Pino Toscano's avatar
Pino Toscano committed
209
-> 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]
Albert Astals Cid's avatar
Albert Astals Cid committed
210
-> 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
Enrico Ros's avatar
Enrico Ros committed
211
-> FIX: When in non continuous mode and scrolling up a page, set the viewport at the bottom of the page (Albert)
212
-> ADD: Show the window maximized when the user opens the program for the very first time (Albert)
213
-> ADD: Use 'Generators' as providers for contents generation
Albert Astals Cid's avatar
Albert Astals Cid committed
214
-> ADD: Add properties dialog (Albert)
215
-> 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
216
-> ADD: Watch File option (Albert)
Albert Astals Cid's avatar
Albert Astals Cid committed
217
-> ADD: import Marco Martin's "another kpdf icon" (kde-look: 16146) (Albert)
218 219
-> 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
misc  
Enrico Ros committed
220
-> ADD: reading aids (inverted display, recolor, black/white, draw link border, draw image border)
221
-> FIX: zoom preserved when switching modes and flickerless drawing
Albert Astals Cid's avatar
Albert Astals Cid committed
222 223
-> 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)
224 225 226
-> 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)
227
-> ADD: KConfigXT settings framework and Accessibility config (acc. code mostly not done)
228
-> FIX: workaround for scrollview bug 1/2 (painting hidden widgets under certain circumstances)
Enrico Ros's avatar
Enrico Ros committed
229
-> ADD: zoom into a rect defined by mouse (aka zoom to window)
230
-> FIX: sheet rotation in landscape case
231
-> ADD: Some dcop functions (goToPage, openDocument and give # of pages) (Albert)
232
-> MRG: link following ('actionMovie' kind is missing)
233 234 235 236
-> 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
Enrico Ros's avatar
Enrico Ros committed
237
-> ADD: continuous mode
238 239
-> ADD: multiple pages per view (gui selects 1 or 2 ppv)
-> MRG: the option to open password protected files (from head)
240
-> MRG: the Table Of Contents (from head)
241 242 243 244 245 246 247 248 249 250 251 252 253
-> 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 (..)
Pino Toscano's avatar
Pino Toscano committed
254
-> MRG: merge lots of kpdf_part and part (centralview) code (to simplify/cleanup)
Enrico Ros's avatar
Enrico Ros committed
255
*> The branch 'kpdf_experiments' was created at this point. Code refactoring started.
256 257
-> ADD: Completely use xpdf code for rendering that solves most font problems (Albert)
-> MRG: Replace xpdf version with lastest one (3.00) that supports PDF 1.5 (Albert)
258
-> newest added features are at the top of the list