r22681 - gnucash/trunk/src - Implement a Book Option to give users the choice to use the transaction number field (default and current behaviour) or, alternatively, the split action field of the anchor split for 'Num' column on registers, reports, import and export, where applicable. The difference between the two is that with the default, the same 'Num' is displayed for a given transaction regardless of what register it is viewed in and with the new option, a different 'Num' can be entered/displayed for a given transaction in each register it is viewed in. In both cases, the 'next number logic' of the 'Num' cell is based on the account of the register the transaction is entered/viewed from but in one case it fills the transaction number, in the other, it fills the split action field of the anchor split (with the transaction number field displayed in the register cell labeled 'T-Num'). In both cases, both fields are visible and can be used as free-form text in double-line mode for any value the user wants. If the new option is not selected, there should be no change in Gnucash's behaviour with the exception of displaying the book options dialog in 'new book' situations.

Geert Janssens janssens-geert at telenet.be
Sat Jan 19 10:06:33 EST 2013


Hi Alex,

I'm impressed with the size of this patch. Unfortunately that also kept 
me from reviewing it more thouroughly. :(

Today I noticed though that this patch causes the Windows build to fail. 
It looks like you are introducing a circular dependency between the 
gnome and register modules.

Before your patch, the gnome code already depended on the register code.

Your patch introduces a new function gnc_find_register_by_account in the 
gnome module, used by the register module. So now suddenly the register 
module also depends on the gnome module.

As far as I know this isn't allowed or at least the Windows build 
doesn't like it:

libtool: link: gcc -shared  .libs/gnc-ledger-display.o 
.libs/gnc-ledger-display2.o .libs/gncmod-ledger-core.o 
.libs/split-register.o .libs/split-register-control.o 
.libs/split-register-layout.o .libs/split-register-load.o 
.libs/split-register-model.o .libs/split-register-model-save.o 
.libs/split-register-util.o 
-L/C/GCDevel/GC-Native/gnucash/build/src/register/register-core/.libs 
-L/C/GCDevel/GC-Native/gnucash/build/src/gnome-utils/.libs 
-L/C/GCDevel/GC-Native/gnucash/build/src/backend/xml/.libs 
-L/C/GCDevel/GC-Native/gnucash/build/src/app-utils/.libs 
-L/C/GCDevel/GC-Native/gnucash/build/src/engine/.libs 
-L/C/GCDevel/GC-Native/gnucash/build/src/gnc-module/.libs 
-L/C/GCDevel/GC-Native/gnucash/build/src/core-utils/.libs 
-L/C/GCDevel/GC-Native/gnucash/build/src/libqof/qof/.libs 
-L/C/GCDevel/GC-Native/autotools/lib -L/C/GCDevel/GC-Native/regex/lib 
-L/C/GCDevel/GC-Native/gnome/lib -L/C/GCDevel/GC-Native/gmp/lib 
-L/C/GCDevel/GC-Native/guile/lib -L/C/GCDevel/GC-Native/libdbi/lib 
-L/C/GCDevel/GC-Native/gwenhywfar/
lib -L/C/GCDevel/GC-Maint/hh/lib -L/C/GCDevel/GC-Native/sqlite3/lib 
-L/C/GCDevel/GC-Native/enchant/lib -L/C/GCDevel/GC-Native/libxslt/lib 
-L/C/GCDevel/GC-Native/mingw/lib 
../../../src/register/register-gnome/.libs/libgncmod-register-gnome.dll.a -Lc:/GCDevel/GC-Native/guile/lib 
-L/C/GCDevel/GC-Native/readline/lib -Lc:/GCDevel/GC-Native/gnome/lib 
/C/GCDevel/GC-Native/gnucash/build/src/register/register-core/.libs/libgncmod-register-core.dll.a 
-lgnomecanvas-2 -lart_lgpl_2 
../../../src/register/register-core/.libs/libgncmod-register-core.dll.a 
/C/GCDevel/GC-Native/gnucash/build/src/gnome-utils/.libs/libgncmod-gnome-utils.dll.a 
../../../src/gnome-utils/.libs/libgncmod-gnome-utils.dll.a 
/C/GCDevel/GC-Native/gnucash/build/src/backend/xml/.libs/libgnc-backend-xml-utils.dll.a 
/C/GCDevel/GC-Native/gnucash/build/src/app-utils/.libs/libgncmod-app-utils.dll.a 
/C/GCDevel/GC-Native/gnome/lib/libxml2.dll.a -lz -liconv 
../../../src/app-utils/.libs/libgncmod-app-utils.dll.a 
/C/GCDevel/GC-Native/gnucash/build/src/engine/.libs/
libgncmod-engine.dll.a -lhtmlhelp 
../../../src/engine/.libs/libgncmod-engine.dll.a 
/C/GCDevel/GC-Native/gnucash/build/src/gnc-module/.libs/libgnc-module.dll.a 
../../../src/core-utils/.libs/libgnc-core-utils.dll.a 
../../../src/gnc-module/.libs/libgnc-module.dll.a 
/C/GCDevel/GC-Native/gnucash/build/src/core-utils/.libs/libgnc-core-utils.dll.a 
/C/GCDevel/GC-Native/gnucash/build/src/libqof/qof/.libs/libgnc-qof.dll.a 
../../../src/libqof/qof/.libs/libgnc-qof.dll.a -lgconf-2 
C:/GCDevel/GC-Native/guile/lib/libguile.dll.a -lregex 
/C/GCDevel/GC-Native/gmp/lib/libgmp.dll.a -lws2_32 
/C/GCDevel/GC-Native/autotools/lib/libltdl.dll.a -lgtk-win32-2.0 
-lgdk-win32-2.0 -latk-1.0 -lgio-2.0 -lpangowin32-1.0 -lgdi32 
-lpangocairo-1.0 -lgdk_pixbuf-2.0 -lpango-1.0 -lcairo -lgobject-2.0 
-lgthread-2.0 -lgmodule-2.0 -lglib-2.0 -lintl  -mms-bitfields -mwindows 
-Wl,--enable-auto-import   -o .libs/libgncmod-ledger-core.dll 
-Wl,--enable-auto-image-base -Xlinker --out-implib -Xlinker 
.libs/libgncmod-ledger-core.dll.a
Creating library file: 
.libs/libgncmod-ledger-core.dll.a.libs/split-register.o: In function 
`gnc_split_register_duplicate_current':
c:/GCDevel/GC-Native/gnucash-git-janssege/src/register/ledger-core/split-register.c:550: 
undefined reference to `gnc_find_register_by_account

Can you look into this ?

Thanks,

Geert


More information about the gnucash-devel mailing list