# -*- reStructuredText -*- Intro ----- This is a ad-hoc list of what works and doesn't work in the g2 port of gnucash. The plan is to finish porting those parts of gnucash that have already been started (i.e. new windowing system, account tree, commodities tree, etc.), but not to port any additional features unless absolutely required. The clist/ctree widgets *do* still exist in gtk2 and can be used, even though they've been marked as deprecated and will disappear in a future release. Its important to get this release out the door and not stall it until all the deprecated functionality has been removed. +--------------------------------------+ | Last sync with HEAD on 2005-10-31 | +--------------------------------------+ ======================================== DONE ======================================== Help Financial Calculator Commodity Editor Price Editor Reconcile Transfer View Toolbar View Statusbar Properties Dialog QIF Import OFX Import HBCI Actions Export Accounts Stock Split Dialog +----- | Can someone who comes across this note and wants to help please go | through 1.8.9 and create a list of stuff missing from 2.0? +------------ ======================================== General Notes ======================================== Resources --------- - Porting applications to the GNOME 2.0 Platform -- http://developer.gnome.org/dotplan/porting/ - Should switch from `gnome_config` to gconf... - Introduction to GConf -- http://developer.gnome.org/feature/archive/gconf/gconf.html - General - Printing - Printing cheks works. - Printing text reports works. - Printing pie/bar charts fails. - Startup CRITICAL errors... [jsled@phoenix:~/stuff/proj/gnucash/src-g2/gnucash]$ /opt/gnc-g2-unstable/bin/gnucash (gnucash:7823): GLib-GObject-CRITICAL **: file gvaluetypes.c: line 741 (g_value_set_string): assertion `G_VALUE_HOLDS_STRING (value)' failed (gnucash:7823): GLib-GObject-CRITICAL **: file gobject.c: line 1239 (g_object_set_property): assertion `G_IS_VALUE (value)' failed (gnucash:7823): GLib-GObject-CRITICAL **: file gvalue.c: line 149 (g_value_unset): assertion `G_IS_VALUE (value)' failed (gnucash:7823): GLib-GObject-CRITICAL **: file gvaluetypes.c: line 741 (g_value_set_string): assertion `G_VALUE_HOLDS_STRING (value)' failed (gnucash:7823): GLib-GObject-CRITICAL **: file gobject.c: line 1239 (g_object_set_property): assertion `G_IS_VALUE (value)' failed (gnucash:7823): GLib-GObject-CRITICAL **: file gvalue.c: line 149 (g_value_unset): assertion `G_IS_VALUE (value)' failed (gnucash:7823): GLib-GObject-CRITICAL **: file gvaluetypes.c: line 741 (g_value_set_string): assertion `G_VALUE_HOLDS_STRING (value)' failed (gnucash:7823): GLib-GObject-CRITICAL **: file gobject.c: line 1239 (g_object_set_property): assertion `G_IS_VALUE (value)' failed (gnucash:7823): GLib-GObject-CRITICAL **: file gvalue.c: line 149 (g_value_unset): assertion `G_IS_VALUE (value)' failed Use of deprecated SAXv1 function getLineNumber - Open pages are no longer open after reopening file. - Account tree, register and report pages are restored. - Budget and busines pages are not restored. - Trying to reopen a multi-column report spits lots of warning. Trying to edit that pages options crashes gnucash. - Weird pango_layout_set_text "string not UTF-8" issues reported by Neil Williams: - http://lists.gnucash.org/pipermail/gnucash-devel/2005-March/012797.html - http://lists.gnucash.org/pipermail/gnucash-devel/2005-March/012824.html - Register Core - mostly functional - doesn't remember custom check formats. - Reporting / Graphing [mostly functional] - Graphing working, with some known issue; see top of src/gnome-utils/gnc-html-graph-gog.c for more detail. - colors - axis-label string rotation - Known issue with height/width bug in libgtkhtml 3.3.2 (on FC3). - When rendering, progress bar always says "Rendering 'Untitled' report...". - warlord reports this was true in 1.8 as well. - Importing - HBCI - Transaction templates eventually need to be converted from a GTK_CLIST to a GTK_TREE_VIEW. Currently working as a GtkClist. - Budgeting - Budget Report - the default account selection isn't very reasonable, Inc & Exp would be better - sometimes negative numbers render on two lines in their table-cell - Budget GUI - default account filter doesn't take effect until options are opened, should take effect as soon as view is opened - it might be nice to disallow some of the more unusual recurrences - better if budget list dialog allowed double click to open - need help text - should displaying zero values be optional? - it'd be nice if there was a summary column at the far right - Budget Engine - Do budgets play nice with QSF? - Still a lot of dead legacy code hanging around - New Account Hierarchy - somewhat works - Simply invoking, even if cancelled, trashes current book state? - Sometimes crashes when loading account data. - Main account selection layout is too (visually) compressed - Should have two columns: left={category(80%) + detailed-description(20%)}, right={category-accounts(100%)} - See 'relayout Hierarchy' in src/gnome/glade/account.glade. - Account tree's only column (account name) is relatively thin, truncating some titles. - It seems that gnc_tree_view_add_text_column sets column-width based on an example string, whereas in this use-case the best would be to set to '0'(=autosize). - Account Hierarchy Merge - BROKEN - Bad integration with Account Hierarchy druid - Static variables used for process/window state. - Misc errors with no apparent cause - (gnucash:27485): Gtk-CRITICAL **: gtk_widget_event: assertion `WIDGET_REALIZED_FOR_EVENT (widget, event)' failed - (gnucash:27485): Gtk-CRITICAL **: gtk_widget_event: assertion `WIDGET_REALIZED_FOR_EVENT (widget, event)' failed - Doesn't let you complete the conflict resolution process, thus you can never complete the druid. - (jsled) actually, it just doesn't display the 1-conflict -> 0-conflict transition in the UI correctly, but it does allow you to finish. - conflict-resolution process/display issues. - Backend - price_lookup awaits a solution - as a query instead of a backend operation. - Scheduled Transactions - Since Last Run dialog spews console-crap on init, generally broken? - SX Editor - "Register Lines" preference not respected. - When tabbing from memo to account on the second split with the same name as the first, the account will be auto-populated with a GUID (instead of an account name), but not a valid one. - Template-register Cut/Copy/Paste not connected. - Template-register View > {Basic, Auto-Split} options have no effect. - Open SX Editor, close it; open Register Preferences, change "Draw {horiz,vert} lines" => crash. - Entering a value (e.g. '20.00') without entering an account or a memo for the first split causes everything else entered so far to be reset when tabbing to the second split. - Font hard-coded (dense-cal), especially broken for non-ISO8859-1 locales. - http://bugzilla.gnome.org/show_bug.cgi?id=303180 ======================================== ENHANCEMENTS ======================================== - New icons - Add account. - Register - Report - "Report options", especially, since it often confuses users. - In-place editing - Provide in-place editing where feasable. Eg. Editing the account code or the account name, but not being able to re-parent the account. (Maybe add DND support for this in long-term?) - Find - There's no way to edit/refine a search. [There's no way to do so in 1.8, either...] - Main Window - Change Notebook tabs to include an 'x' to act as the "close tab" method, and then remove the "Close" button from the toolbar. Then we can also decide if we want to allow a user to 'close' the account tree. ----------------------------------------- <#GOG> ---------------------------------- These are notes jsled was using during the GOG hack-porting effort. [dc:created 2004-12-17] gog-guru.c \- gog-guru.h \- goffice-graph.h \- \- data-structures \- command-context.h \- \- + "When the module splits we'll make this a real file" \- \- \- \- /* for GnmCmdContext */ \- \- \- [nothing new] \- \- [nothing new] \- \- \- \- \- decls \- \- \- \- \- \- \- "workbook-control-gui.h" \- "error-info.h" \- "command-context.h" \- "gutils.h" <#goffice/graph> :depOn [ :module <#libart> ]. :depOn [ :module <#gsf>; :how "entirely [?] for GSF_CLASS macros" ] ,[ :module <#gnumeric-plugin>; :how "plot-engine loading" ]. :depOn [ :module <#gsf>; :how "entirely [?] for GSF_CLASS macros." ]. :depOn [ :module <#gsf> ]. :depOn [ :module <#gsf> ]. :depOn [ :module ; :how "basic math aliasing." ] ,[ :module ; :how "basic unit-typing/aliasing." ] ,[ :module ; :how "font aliasing; pango, mostly." ] :depOn [ :module <#go-line> ]. <#go-line> :depOn [ :module <#gui-utils> ]. :depOn [ :module <#gsf>; :how "weakly" ] ,[ :module <#pango> ] ,[ :module <#libart> ] ,[ :module <#gnumeric-app>; :how "for the `gnm_app_display_dpi_get(...)` call, apparently." ] . :depOn [ :module <#gnm-libfoocanvas-copy>; :note "we can do without this." ]. :depOn [ :module <#gnm-widget-format-selector>; :how "??" ] ,[ :module <#gnm-gui-util>; :how "`number_format_selector_set_style_format`" ] ,[ :module <#gnm-format.h>; :how "`style_format_is_general`" ] . ------------------------------ [jsled@phoenix:~/stuff/programming/projects/gnucash-budget/src-gnome2/gnucash/lib/goffice]$ nm -a .libs/libgoffice.a | ./symbols.py | egrep -v "(xml|gtk_|g_|gdk_|pango_|gsf_|art_|gnome_|glade_)" | sort # some manual cleanup of the results results in the list here: error_info_free error_info_print - provided by error-info.[hc] font_selector_get_pango font_selector_get_type font_selector_new font_selector_set_from_pango - used by gog-style.c:gog_style_editor. - gog_styled_object_editor, however, is called from gog-{axis,label,legend,series}. format_value - seems straightforward, but depends on format logic. gnm_app_display_dpi_get - thin wrapper over configuration; should be easy to stub out. gnm_app_get_pixbuf - called by go_action_combo_color_new, which isn't called in lib... gnm_font_find_closest_from_weight_slant - depends on gnome print, but nicely seperable. gnm_measure_string - nicely seperable; depends on pango. gnm_pixbuf_intelligent_scale - nicely seperable; depends on GdkPixbuf. gnm_plugin_get_dir_name gnm_plugin_use_ref gnm_plugin_use_unref - split/plugin.[hc]; seems to wrap plugin_* stuff... gnm_setup_label_atk - seperable gnm_widget_disable_focus - seperable gnumeric_button_new_with_stock_image - looks seperable [being stolen from gtkedit] gnumeric_load_pixbuf - depends weakly on gnumeric configuration path. go_nan - text symbol gui_image_file_select - used to select [fill] image file by gog-style ... do we need the UI elements of gog-style here? number_format_selector_get_type number_format_selector_new number_format_selector_set_style_format plugin_service_define plugin_service_get_description plugin_service_get_plugin plugin_service_get_type plugin_service_gobject_loader_get_type plugin_service_load plugin_service_simple_get_type style_format_as_XL style_format_default_date style_format_default_money style_format_default_percentage style_format_default_time style_format_equal style_format_general style_format_new_XL style_format_ref style_format_unref