TODO 11 KB
Newer Older
1 2 3 4 5 6 7
TODO - branch version
Legend:
    ADD - ADDed
    CHG - CHanGed
    FIX - FIXed
    MRG - MeRGed from head
    (*) - Some parts of this item are already done
8

9
In progress:
10 11 12 13 14 15
-> gen / mem: sync Memory Management (in Document) with the Generator, so
   generators can be notified when cancelling jobs (use the notification signal
   from generator) -> real cleaning
-> gen / mem: check for removing 'canUnloadPixmap' from observers in place of requesting a
   list of visible pixmaps. Think at adding visible list to ObserverData and
   passing the visible list from observers (to remove visi lists)
Enrico Ros's avatar
Enrico Ros committed
16 17

Urgent fixes and items to get ready before 3.4 (special high-priority list):
18 19 20 21 22 23 24 25 26 27 28
-> gen / mem: priorities for requests (pageview, thumbnails, pv preloading, th preloading)
-> mem: check for running request in thread too
-> mem: iterate from older pages to newest ones when freeing memory (not rand)
-> generator: add preloading
-> viewport: definition. note, Acroread has a simple implementation that shares
   the same bug we'll have if defining a page+rect+props viewport.
-> viewport: observers sync. broadcasts a setviewport() by one observer to all
   other observers.
-> viewport: use it in Links and Synopsis (requires a QString constructor?)
-> new word highlighting for searches / other highlights (on paper - enrico)
-> cleanup code and update README.png
29

30
More items (first items will enter 'In progress list' first):
31 32 33 34
-> Delay TOC (DocumentSynapsis) generation (and move it on thread)
-> refactor ThumbnailsList to do internal rendering as pageview does (way
   faster than using QScrollView + inserted Widgets and saves 8% on document
   loading)
Enrico Ros's avatar
Enrico Ros committed
35
-> type ahead search in pageview (type '/' then the word to search..) (ready: patch by JakobS)
36
-> move toolbar view actions in the PageView instead of the part. maybe.. or not...
37
-> usability: layout 2PPV [1 2,3 4,5 6] -> [1,2 3,4 5]. add option for 'ebook' style alignment. (by Mikolaj)
38
-> usability: trigger redraw on 'filter text' on current page (by Mikolaj)
39
-> watch out for FIXMEs in code
40
-> fix: requestPixmaps not triggered when exiting fullscreen mode (to verify..I can't reproduce-enrico)
41 42
-> 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)
43 44
-> 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
45 46 47
   '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
48 49
-> abstract TextPage generation (the last xpdf dependant class!). then go dancing in the
   streets.
50 51
-> better boomark rendering (tested a 'clip overlay' but looks bad actually)
   maybe gray out other pages?
52
-> Dom framework to cache document metadata. It should archive those types of data:
Enrico Ros's avatar
notes  
Enrico Ros committed
53 54
   (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
55
   - <X> Document info (after the 1st gen)
56 57
   - <X> Bookmarked pages
   - <X - only for pagenumber> General info (like viewport state)
58 59
   - Edited pages (rotated/with_data for example)
   - Overlay editing (hilighting/notations/etc..)
60
   - Presentation related overrides (FS mode, individual / global transitions)
61 62 63 64
   - ..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
65 66 67
-> 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..
68
-> take care of TODOs in code
69
-> find: scroll page if the the searched string is not visible [after 'viewport changes']
70
-> ADD: click over image allows "save image" [60% done (activerect of type image)]
71
-> screen editing (annotations): framework (BR67300,BR62793)
72
-> screen editing (annotations): tools (BR67300)
73
-> export all text in plain_text/html
74
-> extract(export?) images (have a look at ImageOutputDev.cc and pdfimages.cc from xpdf (not in our xpdf sources))
75
-> text selection in wordprocessor style (very hard/impossible)
76
-> implement history (mainly for actionNamed)
Enrico Ros's avatar
Enrico Ros committed
77
-> history as a toolbox child (collecting Doc's viewport changes notifications)
Enrico Ros's avatar
Enrico Ros committed
78
-> zoom: fit text (with configurable margin)
79
-> open gzipped (.pdf.gz?) files
80
-> kttsd output with menu entries. speech{document/page/selection}. (patch available - enrico)
81
-> kttsd alternative (1): autodetect "/dev/speech" (speechd/festival) and provide reading
82
-> automatic online dictionaries / translators (BR80338)
83
-> add OCR for building TextPages out of pure graphical (aka scanned) pages
84
-> rotate the whole document / individual pages
Enrico Ros's avatar
Enrico Ros committed
85
-> presentation: implement transitions (6/11 done)
86 87 88
-> presentation: add some gfx tools (like a red pencil)
-> presentation: save a flag (to the xml) to open a pdf in presentation mode
-> presentation: link following (difficult due to pagerects related to pageview pixmap only)
89
-> presentation: wheel not visible on black. gradient appreciated on lighter backgrounds.
90
-> investigate 'Splash' lack of smoothness at low resolutions (see lines in thumbnails)
Enrico Ros's avatar
bits  
Enrico Ros committed
91
-> add search on the toc widget (a prune on type lineedit like in thumbnails widget)
Enrico Ros's avatar
Enrico Ros committed
92
-> goto 'logical' page (usually differs from pdf's page) (req. by Luca Burrelli)
93
-> use wallet for storing passwords of encrypted files
94
-> use shortcuts for next and prev page even in presenatation mode (by Tobias Koenig)
95
-> move some document related features from part to the document (see find, goto dialog, ...)
96

Enrico Ros's avatar
Enrico Ros committed
97
Done (newest features come first):
Tobias Koenig's avatar
Tobias Koenig committed
98
-> FIX: wrong zoom buttons order (BR74248) (check consistancy with kdvi/kviewshell/kghostview/.. (not konq))
99 100 101 102
-> 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)
103 104 105
-> 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
106
-> 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
107 108
-> FIX: searchline back to work
-> CHG: DocumentInfo is now a DomTree and the properties dialog is dynamically generated (Tobias)
109
-> ADD: Presentation transitions are loaded from the pdf files as well as fullscreen state (Tobias)
110
-> Merged on HEAD on 2005-01-02 (The branch is frozen, development continues here)
111
-> FIX: Fix my update cursor FIX :-D
112 113
-> 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
114
-> ADD: Asyncronous PDF Generator implementation (for the user: faster UI, preloading, etc..)
Enrico Ros's avatar
sync  
Enrico Ros committed
115
-> FIX: Memory manager (free cache if needed, avoid disk swap and oom)
116
-> ADD: Presentation View (only the 'glitter' transition implemented for now)
117
-> 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
118
-> 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
119
-> FIX: When in non continous mode and scrolling up a page, set the viewport at the bottom of the page (Albert)
120
-> ADD: Show the window maximized when the user opens the program for the very first time (Albert)
121
-> ADD: Use 'Generators' as providers for contents generation
Albert Astals Cid's avatar
Albert Astals Cid committed
122
-> ADD: Add properties dialog (Albert)
123
-> 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
124
-> ADD: Watch File option (Albert)
Albert Astals Cid's avatar
Albert Astals Cid committed
125
-> ADD: import Marco Martin's "another kpdf icon" (kde-look: 16146) (Albert)
126 127
-> 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
128
-> ADD: reading aids (inverted display, recolor, black/white, draw link border, draw image border)
129
-> FIX: zoom preserved when switching modes and flickerless drawing
Albert Astals Cid's avatar
Albert Astals Cid committed
130 131
-> 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)
132 133 134
-> 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)
135
-> ADD: KConfigXT settings framework and Accessibility config (acc. code mostly not done)
136
-> FIX: workaround for scrollview bug 1/2 (painting hidden widgets under certain circumstances)
Enrico Ros's avatar
Enrico Ros committed
137
-> ADD: zoom into a rect defined by mouse (aka zoom to window)
138
-> FIX: sheet rotation in landscape case
139
-> ADD: Some dcop functions (goToPage, openDocument and give # of pages) (Albert)
140
-> MRG: link following ('actionMovie' kind is missing)
141 142 143 144 145 146 147
-> 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)
148
-> MRG: the Table Of Contents (from head)
149 150 151 152 153 154 155 156 157 158 159 160 161 162
-> 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)
Enrico Ros's avatar
Enrico Ros committed
163
-> The branch 'kpdf_experiments' was created at this point. Code refactoring started.
164 165
-> 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)
166

167
Here comes a list of suggestions from a dot post http://dot.kde.org/1095261317 and IRC:
168
 Tool: ruler, measure: distance, perimeter, ?area?
169 170
 Tool: color picker
 Annotations: yellow notes 'post-it' like
171
 Export: export to other formats keeping formatting (a dream.. except for PNG :-)
172
 PDF: <theICEBear> pdf forms support.... :D if at all possible