Updated Czech translation
[gnumeric.git] / BUGS
blob6fc58d394f8467da1532dd3357948e1be472be2e
1    To report Gnumeric bugs, please visit bugzilla.gnome.org.
3     This file is used as a scratch pad by developers.  It is a list of known
4 issues that need to be addressed.  Divided into, things that will prevent
5 release, and longer term bugs.
7 -------------------------------------------------------------------------------
8 For 1.10
9     - Bump libgsf version req and de-conditionalize xlsx pivot import.
11 Release Critical
12 ----------------
13     - hidding col/row headers should not hide outline symbols
14     - header selection broken when there are groups
16 In Progress
17 -----------
18     Jody
19         - xlsx chart axis export
20         - data slicers
21         - CELL translation & array handling
22         - INDEX range res, iteration
23         - ExprEntry extensions
24         - Tool to filter dups
25         - python wrapper for libspreadsheet
26         - mis-export of array expr
27             http://bugzilla.gnome.org/show_bug.cgi?id=322096
29     : s/range_equal/gnm_range_eq/
31 Review
32 ------
33     - func name translation             {Manny}
34     - merge libgda port
36 Target Features
37 ---------------
38 - insert cut
39 - clipboard handlers in plugins
40 - load/save of external references
41 - all the merged cell singleton bugs
42 - scripting
44 Short term goals
45 ----------------
46     - .gnumeric I/O for PI:{error_display,comment_placement}
47     - Use go_glade_signal_connect (and friends)
48     - undo of cell range cut over clipboard
49       http://live.gnome.org/Academic
50     - ={A1:A3+rand()}   only calls rand() once.
52 Misc stuff that should be fixed
53 -------------------------------
55 - Missing undo/redo for
56     - Freeze panes (tricky this is a view attribute)
57     - `Add Scenario' Portion of Solver
59 - cols/rows
60     : Make unhide smarter to find hidden regions on either side of
61       selected ranges.
62     : drag based col/row resize should support negative sizes to
63       correspond to hiding.
64     : support delete for discontinuous ranges
66 Worries
67 -------
68     : range_translate in stf.c looks suspicous.
69     : Add bounds checking of integers on the xml based importers
70     : do bounds check in excel_get_text
71     : Select graph, Copy, and paste to Emacs: used to crash, but now it
72       just g_barfs and pastes empty string.
74     - Create new type string/double/int (not bool) for BIN2DEC etc.
75     - Allow missing arguments that are not '?' for ACCRINT.
77     - TestForBiffConsumer : #REF ??
78     - accrint-test.xls : why fail ?
79     - BAHT functions
80     - broken-name.xls
81     - database_test.xls
82     - div0-xp.xls
83     - edward~1.xls
84     - eng.xls
85         - XL returns real numbers as strings from complex functions
86         - Check difference in besseli
87     - errors.xls
88         : calc of interest
89         : #REF on sheet2
90     - extract-clean-new.xls : loss of data in col A ?
91     - furigana.xls : #NAME?
92     - global_calling_placeholder.xls
93     - named-expr-95.xls
94     - named-expr-97.xls
95     - operand.xls
96     - pivot-edited.xls : odd colours in the 'the range that contains' box
97     - store and persist view modes
98     - fix bogosity of 'ant' cursors being in sheet_view and having the app contact them.
100 -------------------------------------------------------------------------------
102 Pending Patches
103 ---------------
105 Blocked Patches
106 ---------------
108 -------------------------------------------------------------------------------
109 Architecture Changes
110 --------------------
112 - Merge wb_control_init_state and wb_control_set_view
113 - Use gtk_window_group_new to keep wbcg's distinct
115 1) things to move into libgoffice
116     1.1) plugin-manager dialog
117     1.2) doc meta data
118         1.2.1) Use GsfDocMetaData       {Jody}
119             1.2.1.1) sax-in             (DONE)         
120             1.2.1.2) sax-out            (DONE)
121         1.2.2) doc meta data dialog     {Trelane and etrunko}
122     1.3) Insert hyperlink dialog
123         1.3.1) Integration with evo address book
124     1.4) move password dialog to goffice
126 2) Font handling (move to GOFont)
128 3) Function docs                                                (DONE)
130 4) AutoFilter [share functionality with slicers]
131     4.19) Change value entries in expr dialog into combos
132     4.4) 2nd value in expr dialog only if 1st is active
133     4.23) undo/redo for creation                                (DONE)
134     4.24) undo/redo for condition set change                    (DONE)
135     4.25) Undo redo support for ins/del col/row with filters
136     4.26) guess initial region if its a singleton               (DONE)
137     4.27) combo contains start to end of continuous region
138            not just the end of the selected region
139     4.28) filter changes should dirty things                    (DONE)
140     4.34) Tooltip on combo with the current filter details
141     4.35) Change icon in combo from arrow to filter instead
142             of changing colour
143     4.36) Support Office 2007 toggle selection
144     4.37) Add fun new types (std dev)
145     4.38) Add new condition types from style-condition
146     4.39) Look at merging style-condition and filter
147     4.40) col selector to autofilter dialog ala OOo
148     4.45) MOOX
149         4.45.1) import
150             4.45.1.1) top10                                     (DONE)
151             4.45.1.2) items
152             4.45.1.3) custom
153             4.45.1.4) dynamic
154         4.45.2) export
155             4.45.2.1) top10                                     (DONE)
156             4.45.2.2) items
157             4.45.2.3) custom
158             4.45.2.4) dynamic
159     4.46) ODF
160         4.46.1) import
161         4.46.2) export
162     4.50) #346002 : tooltip of matching rows  (using progress bar) (DONE)
163     4.51) #383400 : '95' should match 95
164     22.52) Clipboard ?? do we want this ?
165     4.53) Support Office 2007 toggle date based buckets
167 5) Data Slicers
168     5.1) I/O)
169         5.1.1) MOOX                                             {David Thorne/Jody}
170             5.1.1.1) import
171                 5.1.1.1.1) Cache Definition                     (DONE)
172                     5.1.1.1.1.1) Groups                         (DONE)
173                     5.1.1.1.1.2) Sources                        (DONE)
174                 5.1.1.1.2) Cache Records                        (DONE)
175                 5.1.1.1.3) Table
176                     5.1.1.1.3.1) Basic                          (DONE)
177             5.1.1.2) export
178                 5.1.1.2.1) Cache Definition                     (DONE)
179                     5.1.1.2.1.1) Groups                         (DONE)
180                     5.1.1.2.1.2) Sources                        (DONE)
181                 5.1.1.2.2) Cache Records                        (DONE)
182                 5.1.1.2.3) Table
183                     5.1.1.2.3.1) Basic
184         5.1.2) xls                                              {Jody}
185             5.1.2.1) import
186                 5.1.1.1) Basics                                 (DONE)
187                 5.1.1.2) sources                                (DONE)
188                 5.1.1.3) Groups                                 (DONE)
189             5.1.2.2) export pivot cache
190                 5.1.2.1) create streams                         (DONE)
191                 5.1.2.2) records                                (DONE)
192                     5.1.2.2.1) SXDB                             (DONE)
193                     5.1.2.2.2) SXFDB                            (DONE)
194                     5.1.2.2.3) SXDDB                            (DONE)
195                 5.1.2.3) streamId record
196         5.1.3) ODF
197     5.2) Data Structures
198         5.2.1) Cache & Fields
199         5.2.2) Slicer & fields
200     5.3) Control Logic
201         5.3.1) Sort by display fields                           (DONE)
202         5.3.2) dump as if all are row fields                    (DONE)
203         5.3.3) Grouping                                         (DONE)
204         5.3.4) Aggregations
205         5.3.5) Filters ('page')
206     5.4) Undo/Redo
207         5.4.1) refresh
208             5.4.1.1) stub                                       (DONE)
209         5.4.2) reconfigure
210         5.4.3) delete
211         5.4.4) create
212     5.5) UI
213         5.5.1) actions                                          (DONE)
214             5.5.1.1) stub                                       (DONE)
215             5.5.1.2) context sensitive                          (DONE)
216         5.5.2) context menu
217             5.5.2.1) hook it up                                 (DONE)
218         5.5.3) field dialog
219             5.5.3.1) stub                                       (DONE)
220             5.5.3.2) re-order fields
221             5.5.3.2) re-order fields
222         5.5.4) cell combos
223             5.5.4.1) create                                     (DONE)
224             5.5.4.2) display for headers                        (DONE)
225             5.5.4.3) support toggles                            (DONE)
226             5.5.4.4) Add ok/cancel buttons
227             5.5.4.5) filter/sort options
228     5.6) Functions
229         5.6.1) GETPIVOTDATA signature
231 6) Undo/redo improvements
232     6.1) Keep a .swp style log of user actions                  {Dan Hall}
233     6.2) Restore Row heights in CmdFormat::undo
234     6.3) X-GNOME-Bugzilla-ExtraInfoScript=myscript
236 7) Drag and Drop                                                {Jon Kare}
237     7.1) Common code framework for dnd and X/W32 clipboard
238     7.2) Find a better place than SheetControlGUI for dnd code
239     7.3) More formats, at least html and text
240     7.4) Advertise SVG for graphs, as the preferred format      (DONE)
241     7.5) Autoscroll for sheet object movement                   (DONE)
242     7.6) Autoscroll in 1 dimension and movement in other
244 8) Rich Text
245     8.13) xls
246         8.13.3) collect fonts from markup for export
247             8.13.3.1) cells                                     (DONE)
248             8.13.3.2) comments                                  (partial)
249             8.13.3.2) text boxes                                (partial)
251 9) RTL
252     9.1) Drawing
253         9.1.2) item-cursor
254             9.1.2.1) basic drawing                              (DONE)
255             9.1.2.2) motion                                     (DONE)
256             9.1.2.3) drag autoscroll                            (DONE)
257             9.1.2.4) re-position the autofill handle
258         9.1.4) item-edit
259             9.1.4.1) basic                                      (DONE)
260             9.1.4.2) at the margins                             (DONE)
261             9.1.4.3) mouse events                               (DONE)
262             9.1.4.4) right alignment editing
263             9.1.4.4) center alignment editing
264             9.1.4.5) rotation
265             9.1.4.6) merges                                     (DONE)
266         9.1.5) wbcg/scg/pane
267             9.1.5.1) init scroll regions for rtl                (DONE)
268             9.1.5.2) set_top_left                               (DONE)
269             9.1.5.3) set_left                                   (DONE)
270             9.1.5.4) scrollbars                                 (DONE)
271             9.1.5.5) positioning/redraw when flipping at IV1    (DONE)
272             9.1.5.6) Zooming                                    (DONE)
273             9.1.5.7) zooming sometimes loses headers            (DONE)
274                         until a scroll
275             9.1.5.8) increase zoom misaligns grid               (DONE)
276             9.1.5.9) frozen panes                               (DONE)
277             9.1.5.10) autoscroll
278                 9.1.5.10.1) basics                              (DONE)
279                 9.1.5.10.2) draging to right of col A jumps ?   (DONE)
280                 9.1.5.10.3) object drags outside window
281     9.2) spans
282         9.2.1) swap left/right align during rtl                 (DONE)
283         9.2.2) Respect style selected dir
284         9.2.3) add 'context' selected text dir
285     9.3) Model
286         9.3.1) Add GtkAction                                    (DONE)
287         9.3.2) Store state in scg                               (DONE)
288         9.3.3) Store state in view                              (DONE)
289         9.3.4) Store state in sheet                             (DONE)
290         9.3.5) Update view when sheet changes                   (DONE)
291         9.3.6) update sheet-controls when view changes          (DONE)
292         9.3.7) update wbcg when view changes                    (DONE)
293         9.3.8) update wbcg when switching tabs                  (DONE)
294         9.3.9) Add a new style element for text dir             (DONE)
295         9.3.10) swap action icon depending on state
296         9.3.11) Add entry to format dialog to set text dir
297         9.3.12) Undo/Redo                                       (DONE)
298     9.4) Persistence
299         9.4.5) csv
300         9.4.6) html
301         9.4.7) latex
302         9.4.8) sylk (unsupported in format)                     (DONE)
303         9.4.9) dif (unsupported in format)                      (DONE)
304     9.5) Printing
305         9.5.1) single cells                                     (DONE)
306         9.5.2) outline borders                                  (DONE)
307         9.5.4) diagonal borders                                 (DONE)
308         9.5.5) spans                                            (DONE)
309         9.5.5) merges                                           (DONE)
310         9.5.6) check right margin, we overwrite the edge        (DONE)
311         9.5.7) init preview scroll to right in rtl mode
312         9.5.8) Objects                                          (DONE)
313         9.5.9) Patterns
314     9.6) Add entry in manage sheet dialog                       (DONE)
315     9.7) Add entry to tab context menu (do we need ?)
316     9.8) autofilters (see 4.41)                                 (DONE)
317     9.9) validate from list (see 22.10)                         (DONE)
318     9.10) cell comments                                         (DONE)
319     9.11) sheet objects
320         9.11.1) reposition views when direction changes         (DONE)
321         9.11.2) movement                                        (DONE)
322         9.11.3) resize                                          (DONE)
323         9.11.4) creation pivots on right side.                  (DONE)
324         9.11.5) selecting object sometimes jumps it to right    (DONE)
325         9.11.6) objects created in rtl disappear in ltr         (DONE)
326         9.11.7) set direction of views
327     9.12) preview grid ??
328         9.12.1) do we need/want the autoformat examples to swap dir ?
329     9.13) Set default value depending on LC_MESSAGE             (DONE)
331 10) Functions
332     - Function range_min_k uses an O(n*log n) algorithm.  It should use O(n)
333       algorithm, see Knuth.
334     - WORKDAY   Add holiday support                             (DONE)
335     - Suport >100 style for SUBTOTAL
336     - docs
337         : Translate each arg name + description seperately to get better
338           commonality.                                                       (DONE)
339         : Translate description paragraphs seperately to allow better grouping.( DONE)
340         : Make 'func is foo compatible' a flag on the importers
341         : func_help [] = {                                                      (DONE)
342             { ARG, N_("issue:The issue date of the underlying bond") },
343             { ARG, N_("maturity:The maturity of the underlying bond") },
344             { DESC, N_("calculates some stuff") },
345             { DESC, N_("available day count basis conventions are :\n"
346                     "0\tUS 30/360") },
347             { 0, NULL }
348         };
349         : need conventions for including markup
350             - simple bold/italic/font
351             - links
352             - embedded images ??
353     - Support parsing and displaying locale specific function names.
354     - When loading a function that already has a definition (such as a stub),
355       we're in trouble: (a) we just overwrite the old definition in the symbol
356       table, (b) both old and new owner want to remove the symbol on exit.
358       We should somehow steal the old definition (and complain unless the old
359       was a stub) without changing the GnmFunc address.  On exit we should
360       explicitly check that it is ours to remove.
361     - examples
362         1) A registry of named data tables to reference from examples
363         2) The example text should have the expr in C locale
364                 ?? how to reference the sample data ??
365     : HARMEAN with no arguments (or just strings/booleans) should yield N/A,
366       not NUM.
367     : MAXA,MINA with no arguments should yield N/A, not NUM.
368     : STDEVPA,VARPA with no arguments should yield VALUE, not DIV0.
369     : STDEVA,VARA with 0-1 arguments should yield DIV0, not VALUE.
370     : DEVSQ with no arguments should yield #NUM, not zero.
371         ? How did you enter this.  xl-2k refuses to parse that
372         ! Import from a .csv file.
374     : tie the custom ui into action sensitivity pools
375     : support array evaluation for =LARGE and friends
376     : ISREF is a list function ?
378 11) Conditional formats
379     11.1) Data Structures in the core
380         11.1.1) Storage                                         (DONE)
381         11.1.2) Update GnmStyle to flag changes                 (DONE)
382         11.1.3) Release                                         (DONE)
383         11.1.5) Check re-merging on change
384         11.1.6) Check merging of auto pattern colours on link
385     11.2) Gnumeric XML
386         11.2.1) import                                          (DONE)
387             11.2.1.1) SAX                                       (DONE)
388             11.2.1.2) DOM                                       (DONE)
389         11.2.2) Gnumeric XML export                             (DONE)
390             11.2.2.1) SAX                                       (DONE)
391             11.2.2.2) DOM                                       (DONE)
392         11.2.3) Add to .xsd schema
393     11.3) MOOX
394         11.3.1) import
395         11.3.2) export
396     11.4) ODF
397         11.4.1) import                                          (partial)
398         11.4.2) export  (conditional number formats DONE)
399     11.6) Evaluation
400         11.6.1) Custom                                          (DONE)
401         11.6.2) Comparisons
402         11.6.3) Optimize constants (=1)
403         11.6.4) Optimize non-position dependent (=$A$1>3)
404     11.7) Rendering
405         11.7.1) background                                      (DONE)
406         11.7.2) borders                                         (DONE)
407         11.7.3) font and font colour
408         11.7.4) Merged cells                                    (DONE)
409         11.7.5) Long spans
410     11.8) Printing
411         11.8.1) background
412         11.8.2) borders
413         11.8.3) font and font colour
414         11.8.4) Merged cells
415         11.8.5) Long spans
416     11.8) UI to modify
418 12) Input Messages
419     12.1) Implement
420         12.1.1) Data Structure to store it                      (DONE)
421         12.1.2) Display them
422     12.2) UI to modify them
423     12.3) Gnumeric XML                                          (DONE)
424         12.3.1) import                                          (DONE)
425             12.3.1.1) SAX                                       (DONE)
426             12.3.1.3) DOM                                       (DONE)
427         12.3.3) Gnumeric XML export                             (DONE)
428             12.3.3.1) SAX                                       (DONE)
429             12.3.3.3) DOM                                       (DONE)
430         12.3.3) Add to .xsd schema                              (DONE)
431     12.6) ODF
432         12.6.1) import
433         12.6.2) export                                          (DONE)
435 16) Protection limits for selection
436     16.2) I/O
437         16.2.1) Gnumeric
438             16.2.1.1) Extend XSD
439             16.2.1.2) SAX Export                        {partial}
440             16.2.1.3) SAX Import
441             16.2.2.4) DOM Import
442         16.2.3) ODF
443             16.2.3.1) Import
444             16.2.3.2) Export
445     16.3) Honour flags for Return/Tab
446         16.3.1) Return/Tab
447             16.3.1.1) Initial                                   (DONE)
448             16.3.1.2) Wrap around
449             16.3.1.3) Optimize finding next unlocked
450         16.3.2) mouse click                                     (DONE)
451         16.3.3) range selection                                 (DONE)
452         16.3.4) keyboard range extension
453         16.3.4) select all
454         16.3.5) cols/rows
456 17) Explicit Page Breaks
457     17.1) Store them in PrintInfo                               (DONE)
458     17.2) Respect them                                          (DONE)
459     17.3.3) ODF
460     17.3.3.1) Import                                            (DONE)
461     17.3.3.2) Export    {merge breaks and styles}
462     17.3.4) Lotus ?
463     17.3.5) Applix ?
464     17.3.6) Create User Interface for them
466 2) stf                                                  {Andreas/Morten}
467     2.1) UTF-8 cleanliness                                      (DONE)
468     2.2) User specifiable character encoding                    (DONE)
469     2.3) Replace UI for format selection                        (DONE)
470     2.4) Provide an optional mechanism for specifying the
471          target location useful for text to columns, and
472          import into sheet
473     2.5) A help button                                          (DONE)
474     2.6) Make it possible to ignore column on import, thus      (DONE)
475          making it possible to import (parts of) files with
476          more than 256 columns.  (Think of this as a special
477          "format".)
478     2.7) Create interface for line terminator selection         (DONE)
479     2.8) Make listed separators locale dependent (ie translators
480          should be able to define separators)
481     2.9) User specifiable locale encoding (not to be confused   (DONE)
482          with character encoding)
483     2.10) Fix stf bugs                                          (DONE)
484     2.11) Improve initial file preview                          (DONE)
485     2.12) Hook up workbook-control-gui.c:cb_data_import_text    (DONE)
486         Data -> External -> Import _Text File...
487     2.13) Separate guessing of csv/fixed from importer.         (DONE)
488     2.14) Implement format guessing.
489     2.15) Put big "best guess" button on front page.
490     2.16) Fix character set mess on paste                       (DONE)
491     2.17) Tabs: handle optional expansion.
492     2.18) Kill use of "importlines" and properly find the end.  (DONE)
493     2.19) Fix locale specific parsing on paste.                 (DONE)
495 3) hlinks
496     3.1) Finish the edit dialog to load and store results       (DONE)
497     3.2) Figure out import semantics of the other 2 XL types    (DONE)
498     3.3) email support ? via system 'evolution mailto:....'     (DONE)
499     3.4) XLS export (6.10)
500       3.4.1) fix import of short names without long names
501     3.5) ODF
502         3.5.1) import
503         3.5.2) export
504     3.6) Entering text of the form scheme://blah or a@b.c
505             should insert hyperlinks
506     3.7) HYPERLINK function should create link.
508 6) XL
509     6.5) Intersection, union and set export
510     6.12) Set operand classes
511         6.12.1) calc and set the classes                        (DONE)
512         6.12.2) check target_type of external func              (DONE)
513         6.12.3) check target type of range/intersect
514     6.13) image export
515         6.13.1) Excel95
516         6.13.1) Excel97                                         (DONE)
517     6.13) chart import
518         6.13.8) Axis
519             6.13.8.1) value format                              (DONE)
520             6.13.8.2) Axis bounds and ticks size                (DONE)
521             6.13.8.3) log scale                                 (DONE)
522             6.13.8.4) deleted axis should not appear            (DONE)
523             6.13.8.5) double axis import on simple_bar2
524             6.13.8.6) high/low flag is for partner not self
525         6.13.9) Gradients
526             6.13.9.1) Horizontal x4                             (DONE)
527             6.13.9.2) Vertical x4                               (DONE)
528             6.13.9.3) Diag Up x4                                (DONE)
529             6.13.9.4) Diag Down x4                              (DONE)
530             6.13.9.5) From center
531             6.13.9.6) From corner
532             6.13.9.7) Two colour                                (DONE)
533             6.13.9.8) Two colour alpha (is this possible)
534             6.13.9.9) One colour                                (DONE)
535             6.13.9.10) One colour alpha (is this possible)
536             6.13.9.11) presets
537         6.13.10) override auto series indexing for xls
538         6.13.11) error bars
539     6.14) chart export
540         6.14.1) Infrastructure
541             6.14.1.1) escher wrappers                           (DONE)
542             6.14.1.2) spid generation across sheets             (DONE)
543             6.14.1.3) collect colors                            (DONE)
544             6.14.1.4) collect fonts
545             6.14.1.5) collect fmts
546             6.14.1.6) Create a NullRenderer for measurement
547             6.14.1.7) Handle multiple charts in a graph
548             6.14.1.8) spid group allocation for gradients
549         6.14.5) Axes
550             6.14.5.1) value axis                                (DONE)
551             6.14.5.2) discrete axis
552             6.14.5.3) axis set creation                         (DONE)
553             6.14.5.4) handle bar plot axes                      (DONE)
554             6.14.5.4) handle area plot axes
555             6.14.5.5) radar plot axes
556             6.14.5.6) check line formatting                     (DONE)
557             6.14.5.7) label fmt
558             6.14.5.8) Tick position and axis label              (DONE)
559         6.14.6) Area Formating
560             6.14.6.1) None                                      (DONE)
561             6.14.6.2) Pattern                                   (DONE)
562             6.14.6.3) Gradient
563             6.14.6.3) Image
564         6.14.7) Marker Formating                                (DONE)
565         6.14.7) Line Formating                                  (DONE)
566         6.14.8) labels
567             6.14.8.1) Content
568             6.14.8.2) Placement
569             6.14.8.3) Markup
570         6.14.8) Legends
571             6.14.8.1) Basic                                     (DONE)
572             6.14.8.2) Exceptions
573         6.14.9) error bars
574         6.14.10) OOo compat
575             6.14.10.1) Bubble seems broken                      (DONE)
576             6.14.10.2) Markers are not appearing                (DONE)
577         6.14.11) Singletons
578         6.14.12) Grid lines
579             6.14.12.1) Import
580             6.14.12.2) Export
581     6.15) Store and round trip macros (functional, but could be prettier)
582         6.15.7) generate CompObj stream
583         6.15.8) generate property streams to get the flags
584         6.15.9) Look into Michael's vba compressor
585     6.16) Excel95 object import
586         6.16.1) TextBox                                         (DONE)
587     6.17) Excel95 object export
589 13) UI
590     13.1) Zoom
591         13.1.1) Add a 'global' flag for the zoom dialog
592         13.1.2) Zoom to selection
593     13.2) Formula Guru
594         13.2.1) Fix keyboard interface
595     13.3.1) Item Edit
596         13.3.1) Mouse select range
598 14) Polish up Open and Save
599     14.3) sort the file types by precedence and recently used
600     14.4) do we want to persist recently used ?
602 22) Validate from List
603     22.11) Odd .xls storage of aa,bb,cc
604     22.13) ODF
605         22.13.1) import
606         22.13.2) export
608 29) gconf.
609     29.1) Check for errors                                      (DONE)
610     29.2) update on remote changes
611     29.3) see if schema is installed                            (DONE)
612     29.4) Move the pref storage into app and compartmentalize   (DONE)
613           the use of gconf.
614     29.5) update the preference structure on local changes
615           (this is an automatic consequence of 29.2)
616     29.6) Lockdown
617             (from libgnome/schemas/desktop_gnome_lockdown.schemas)
618         29.6.1) /desktop/gnome/lockdown/disable_save_to_disk
619         29.6.2) /desktop/gnome/lockdown/disable_printing
620         29.6.3) /desktop/gnome/lockdown/disable_print_setup
622 30) Cleanup importers/exporters
623     30.1) multiple extensions for exporters, with a default
624     30.2) flag/virtual for an imp/exp to flag viability with current context
625     30.3) support command line flags via goption (glib-2.5)             (DONE)
626     30.4) remove bogosity of function pointers that are unused
627         in the base instance.
628     30.5) Allow import of multiple views                        {jody}
629     30.5) Allow export of multiple views                        {jody}
631 31) sylk
632     31.1) importer
633         31.1.1) constants                                               (DONE)
634         31.1.2) expressions                                             (DONE)
635         31.1.3) array expressions                                       (DONE)
636         31.1.4) column widths                                           (DONE)
637         31.1.5) formats                                                 (DONE)
638         31.1.6) fonts                                                   (DONE)
639         31.1.7) styles                                                  (DONE)
640         31.1.8) sheet/wb options                                        (DONE)
641         31.1.9) hidden cells
642         31.1.10) cell protection
643         31.1.11) comments
644         31.1.12) array row sep ';;'                                     (DONE)
645         31.1.13) escaping in expression string                          (DONE)
646     31.2) exporter
647         31.2.1) constants                                               (DONE)
648         31.2.2) expressions                                             (DONE)
649         31.2.3) array expressions                                       (DONE)
650         31.2.4) column widths
651         31.2.5) formats
652         31.2.6) fonts
653         31.2.7) styles
654         31.2.8) sheet/wb options                                        (DONE)
655         31.2.9) hidden cells
656         31.2.10) cell protection
657         31.2.11) comments
658         31.2.12) array row sep ';;'
659         31.2.13) escaping in expression string                          (DONE)
661 32) SheetObjects
662     32.1) SheetView specific objects                                    (DONE)
663     32.2) Add acetate_create virtual to handle shaped objects.
664     32.3) Other anchor types for sheet objects                          (DONE)
665     32.4) Add keyboard controls for the control points                  (DONE)
666         32.4.1) Arrows move                                             (DONE)
667         32.4.2) Ctrl Arrows expand                                      (DONE)
668         32.4.3) Shift Ctrl Arrows shrink                                (DONE)
669     32.5) Use delta from start of drag rather than previous movement
670     32.6) Add 'is_printable' flag                                       (DONE)
671     32.7) Add 'move_with_cells' flag                                    (DONE)
672     32.8) Add ability to fix aspect ratio of drag resize
673     32.9) Honour rubber_band_directly during resize too                 (DONE)
674     32.10) research the other xl object flags.
675     32.11) remove update_view_bounds and have the model emit a          (DONE)
676            bound_changed signal
677     32.12) double click to bring up prefs dialog                        (DONE)
678     32.13) selecting object with other objects on top of it should
679            hide them while editing
680     32.14) ngettext for insert/delete objects undo message
681     32.15) Check the stacking of ctrl pts when moving multiple selections
682     32.16) event handling for check boxes                               (DONE)
683     32.17) Combos
684         32.17.1) Gnumeric                                               (DONE)
685             32.17.1.1) DOM import                                       (DONE)
686             32.17.1.2) SAX import                                       (DONE)
687             32.17.1.3) SAX export                                       (DONE)
688         32.17.2) XLS
689             32.17.2.1) import                                           (DONE)
690             32.17.2.2) export
691         32.17.3) MOOX
692             32.17.3.1) import
693             32.17.3.2) export
694         32.17.4) ODF
695             32.17.4.1) import                                           (DONE)
696             32.17.4.2) export                                           (DONE)
697         32.17.5) Populate list                                          (DONE)
698         32.17.6) Update list on source change                           (DONE)
699         32.17.7) Link cell change updates selection                     (DONE)
700             32.17.7.1) in range                                         (DONE)
701             32.17.7.2) truncate floats                                  (DONE)
702             32.17.7.3) less than or eq 0 implies no selection           (DONE)
703             32.17.7.4) gte list size selects last element               (DONE)
704         32.17.8) Selection change updates cell link                     (DONE)
705         32.17.9) Use GtkComboBoxEntry                                   (DONE)
706         32.17.10) Make Entry non-focusable                              (DONE)
707         32.17.11) update entry on model content change                  (DONE)
708         32.17.12) Write a prop dialog #156762                           (DONE)
709         32.17.13) Right click for context menu #135966                  (DONE)
710     32.18) Lists
711         32.18.1) Gnumeric                                               (DONE)
712             32.18.1.1) DOM import                                       (DONE)
713             32.18.1.2) SAX import                                       (DONE)
714             32.18.1.3) SAX export                                       (DONE)
715         32.18.2) XLS
716             32.18.2.1) import                                           (DONE)
717             32.18.2.2) export
718         32.18.3) MOOX
719             32.18.3.1) import
720             32.18.3.2) export
721         32.18.4) ODF
722             32.18.4.1) import                                           (DONE)
723             32.18.4.2) export                                           (DONE)
724         32.18.5) Populate list                                          (DONE)
725         32.18.6) Update list on source change                           (DONE)
726         32.18.7) Link cell change updates selection                     (DONE)
727             32.18.7.1) in range                                         (DONE)
728             32.18.7.2) truncate floats                                  (DONE)
729             32.18.7.3) less than or eq 0 implies no selection           (DONE)
730             32.18.7.4) gte list size selects last element               (DONE)
731         32.18.8) Selection change updates cell link                     (DONE)
732         32.18.9) Write a prop dialog #156762                            (DONE)
733     32.19) SheetObjectGroup
734     32.20) editing text boxes (do a derived FooCanvasEditableTextItem) we can
735           steal some of the xim support from item-edit.
736     32.21) rich text for objects
738 33) Rotated text
739     33.1) Resurrect printing                                            (DONE)
740     33.2) Create new span type so drawing can overflow cells.
741     33.3) Draw borders sheared.
742     33.4) Draw background sheared when border present.
744 35) Accessibility
745     We can use
746         http://bugzilla.gnome.org/attachment.cgi?id=47315&action=view
747     as a template
749 36) OpenDocument (ODF)
750     36.1) missing features in importer that we in fact export
751          36.1.1)  Cell Comments                                 (DONE)
752     36.2) Import
753          36.2.1)  We fail to do proper white space handling on import, see
754                  5.1.1 of the OpenDocument Standard. 
755         36.2.2) default col/row compression on OOo import.      (DONE)
756         36.2.3) table styles                                    (DONE)
757         36.2.4) col/row manual vs auto
758     36.3) Export
759          36.3.1)  We don't handle whitespace correctly. See OpenDocument
760                  format 5.1.1                                   (DONE)
761     36.4) See 11.4 (Conditionals)                               (DONE)
762     36.5) See 12.6 (Input Messages)
763     36.6) See 4.46 (Autofilters)
764     36.7) See 22.13 (Validation)
765     36.8) See 32.17.4 (Sheet Object Combos)                     (DONE)
766     36.9) See 32.18.4 (Sheet Object Lists)                      (DONE)
767     36.10) See 5.3 (pivots)
768     36.11) See 17.2.5 (page breaks)
770 37) MOOX
771     37.1) Import
772         37.1.1) workbook/calc properties (Calc_PR)              (DONE)
773             37.1.1.1) refMode from wb -> sheet                  (DONE)
774         37.1.2) Named expressions
775         37.1.3) Rich text
776         37.1.4) Validation                                      (DONE)
777         37.1.6) More print settings
778             37.1.6.1) PI:{error_display,comment_placement}
779         37.1.7) Comments
780         37.1.8) Text direction in styles
781     37.2) Export
782         37.2.1) workbook/calc properties (Calc_PR)              (DONE)
783         37.2.2) Named expressions
784         37.2.3) Rich text
785         37.2.4) Validation                                      (DONE)
786         37.2.6) More print settings
787             37.2.6.1) PI:{error_display,comment_placement}
788         37.2.7) Comments
789         37.2.8) Text direction in styles
791 38) Printing
792     38.1) cell text wraps differently when printing than
793           displaying due to scaling differences in font size.   (DONE)
794     38.2) explicit page breaks                                  (DONE)
795     38.3) PI:comment_placement
796     38.4) PI:display_errors
798 39) Lotus filter
799     39.1) http://www.openoffice.org/issues/show_bug.cgi?id=84496
800          Lots of juicey warnings.  Although we do seem to handle the sheet
801          names correctly.
803 41) win32
804     41.1) Fix preview [#533795]
805         41.1.1) port over evince based preview from unix
806             41.1.1.1) port it
807             41.1.1.2) patch glib [#566348]
808     41.2) python installation [#549387]
809         41.2.1) pygobject build fix
810         41.2.2) automate pygobject build fix
811         41.2.3) package pygobject
812         41.2.4) install pygobject
813     41.3) Docs
814         41.3.1) Generation of hhmap                             (DONE)
815         41.3.2) include hhmap with installer                    (DONE)
816         41.3.3) Include chm/hhmap build in build process        (DONE)
817         41.3.4) Generate chm package during build               (DONE)
818     41.6) long pause between license and screen ?
819     41.7) version dll.a the same way the .dll is handled
820     41.8) Add MS Office processing instruction hooks for us
821     41.9) Increase stack size                                   (DONE)
822     41.10) Check registry/gconf wrapper
824 autoformat
825 ----------
826     - leaking styles when an edge is disabled
827     - consider either using the users data as a sample, or at least making the
828       sample adaptive based on which edges are disabled.
830 auto-fill
831 ---------
832     - The autocalc label should use a more readable format and should not get
833       clipped.
835     - Names
836         : references in names do not get changed with cut/paste or ins/del row/col.
837           How to handle relative references in names ?? here.
838         : Dialog
839             * We should start with the expr entry set to either the current cell,
840               or by selecting the first named expression in scope that contains the
841               current cell.
842         : Check scoping changes.                                                (DONE)
843         : Handle pasting an expression with an un-qualified sheet local name into
844           another sheet
846     - clean up the range_list codes to differentiate a list of ranges from a list
847       of cellranges.
849     - The max row/col canvas scroll size is still hard coded.
851     - let's add simple commands like inc/dec font size and things like that.
853     - Auto resize needs to handle empty cells.
855     - Styles
856         : improve uniform_get to handle full sheet more quickly.
857         : Borders
858             * use new border code for cell format dialog (possibly preview-grid)
860 Import/Export
861 -------------
862     : Look into octave/matlab filters
863     : look into maxima
864     : Talk to shaunm about mathematica
866 Clipboard
867 ---------
868     - Fall back to string import when incoming html and OpenOffice doesn't
869       contain tables.                                               (DONE)
870     - May be not export html as table when just one cell is selected.
872 General Ideas
873 -------------
874     - A connection to swivel (www.swivel.com)
875     - Sugar/OLPC UI & collab
876     - Add 'send a frown/smile' button
877     - 'fish eye' zoom to around selection
878     - treemap for hierarchical data
879     - conditional / computed formats
880         : referenced styles (eg for time sheets)
881         : GnmColor computable to move the calculated aspect into the actual
882           selectors
883     - 'Custom' autofilter type to eval expr per cell
884     - autofilter : refresh
885     - macro hook in validation to run proc if valid
887 /* vim : ai, ts=8, sw=4, expandtab */