Commit Graph
90 Commits
Author SHA1 Message Date
Chris Shoemaker a521262717 Major step in extraction of application startup from guile.
Details:
    Remove the last bits of libguile from top-level.[ch].
    Change the gui initialization funtions so they can be called from C.
    Drop some gwrappers for gui initialization functions.
    Process the --nofile and filename command-line options from C.
    Drastic simpilification of main.scm.
    Initialize the gui and enter the gtk event-loop from C.

  Even though there's some more clean-up to do, this patch does mark
  a certain milestone:  A developer seeking to understand and/or modify 
  GnuCash's startup process can now essentially ignore the guile portion.
  Most parts of our startup now look pretty typical for a gnome-2 app.
  The parts that remain firmly in guile are initialization of the report
  menus and the installation of price-quote sources.

  Caveat: We have multiple mechanisms for handling the filename
  argument string -- some in guile and some in C.  The C-side mechanisms
  (in engine/gnc-filepath-utils.c) seem a little nicer than the guile
  ones (in main.scm).  They have slightly different behavior (e.g. which
  paths they'll search for data files.)  They both handle URIs and
  making absolute paths out of relative ones.  This patch switches from
  using the guile functions to the C function.  I've tested that the common
  cases are handled the same way, but it wouldn't surprise me if some 
  corner-cases are not.



git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12956 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-23 17:38:13 +00:00
Chris Shoemaker ed3432108c Remove "batch-mode" processing from main.scm. It's no longer needed.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12948 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-23 03:56:10 +00:00
Chris Shoemaker 47707f1e26 Remove --devel option, which aparently doesn't do anything.
Also remove now unused guile portion of --add-price-quote option.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12947 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-23 03:43:55 +00:00
Chris Shoemaker 4796f631b2 Process the --add-price-quotes command-line option from C.
This is done by booting guile with a custom inner_main.
  Much of the work is still handled by price-quotes.scm, which
  is now a true stand-alone guile module without the circular dependency
  on the (gnucash main) module.

  One caveat:  Since the initialization of guile-side debugging variables 
  is in main.scm, and since main.scm is no longer executed when running
  --add-price-quotes, the guile code that runs during --add-price-quote
  isn't affected by the --debug option.  A work-around is to use the 
  GNC_DEBUG environment variable: 
    $ GNC_DEBUG=yes gnucash --add-price-quote myfile

  In the longer term, we'll either move the debugging aids to a common place
  where it can be used by both main.scm and price-quotes.scm, or we'll get
  the debugging state from the C-side via gwrap.
 


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12946 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-23 03:26:01 +00:00
Chris Shoemaker 109f82f964 Introduced gwrapped gnc_gnome_locate_data_file().=
This was supposed to go with r12942.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12945 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-23 03:12:27 +00:00
Chris Shoemaker ed3b1e3ab9 Process gnome command-line arguments after our own,
so we can provide our own AUTOHELP.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12944 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-23 00:47:45 +00:00
Chris Shoemaker 89252d8677 Remove processing of share-path from guile.
This is now handled by Gnome's gnome_program_locate_file() function.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12943 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-23 00:46:22 +00:00
Chris Shoemaker dc3bcabbb8 Initialize Gnome libraries before booting guile.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12942 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-22 23:12:15 +00:00
Chris Shoemaker 108aeb4707 Guile-side clean-up for --namespace option.
Also one bit of uncommitted code from gwrap change.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12912 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-21 03:59:22 +00:00
Chris Shoemaker 555652140f Process the --namespace command-line option from C, not guile.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12911 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-21 03:50:25 +00:00
Chris Shoemaker e50a31f89c Fix linking for src/gnome-utils/test/
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12910 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-20 14:52:57 +00:00
Chris Shoemaker 954dacfd50 Move the loading of user and system config files from guile to C.
Remove the "load config" command line options, since they weren't doing 
  anything different than the default. 


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12909 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-20 05:19:15 +00:00
Chris Shoemaker 60bd0b97a4 Remove "reverse_balance" fucntions from top-level.h.
Add another #include for gnucash-bin.c


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12902 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-19 18:43:59 +00:00
Chris Shoemaker 01940cadb9 Filter out deprecated account types from the account types treemodel.
Patch by Eskil Bylund <eskil.bylund@gmail.com>


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12900 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-19 18:02:18 +00:00
Chris Shoemaker 540cca4e7a Add hooks just once in app_utils module init.
Also don't try to load imaginary module.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12899 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-19 17:58:02 +00:00
Chris Shoemaker 4580431997 add missing #include
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12886 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-19 14:16:58 +00:00
Chris Shoemaker 58a67a439f Exit gnucash from C, not guile.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12882 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-19 05:54:16 +00:00
Chris Shoemaker 96276b269d move some app-util function hooks from guile to C
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12881 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-19 05:18:27 +00:00
Chris Shoemaker 5de7b22021 Move "unstable development version" message from guile to C.
Remove crufty guile command-line options.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12879 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-19 04:29:07 +00:00
Chris Shoemaker 18a90eaf39 dlopen() modules from C, instead of from guile
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12874 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-19 02:34:23 +00:00
Chris Shoemaker 40a341c49d The Parenthesis! My favorite punctuation.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12873 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-19 02:00:25 +00:00
Chris Shoemaker 0484ba995b Minor scheme cleanup.
Move one function from path.scm to command-line.scm.
  Remove processing of arguments now handled in C.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12872 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-19 01:33:16 +00:00
Chris Shoemaker 2943f81d59 Use popt to automatically generate pretty --usage and --help.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12868 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-19 01:26:21 +00:00
Chris Shoemaker 77ce54effc Catch --version argument before booting Guile.
Also show svn revision info if binary was built from svn.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12838 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-18 03:46:53 +00:00
Chris Shoemaker 4ededf8a36 sane indenting
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12817 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-17 02:28:13 +00:00
Chris Shoemaker f347e07c65 Pull the C inner_main into the environment of the guile (gnucash main) module.
Strangely, symbols that are resolved during a dlopen() *before* calling 
scm_set_current_module() are not resolvable from guile code that is inside 
a module. 

In order for code in a guile module to see symbols from dlopen'ed libraries,
they must be dlopen'ed *while* that guile module is current.  I imagine this
is because the process of changing the current guile module purposely hides 
all symbols in the current symbol table - to create an illusion of an empty
table.  Kinda interesting... kinda scary...


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12816 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-17 02:26:16 +00:00
Chris Shoemaker bc941165c5 Don't distribute non-existant 'gnucash'
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12815 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-17 01:42:46 +00:00
Chris Shoemaker a2a0bfc1b1 update budget-related status
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12372 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-16 20:30:00 +00:00
Chris Shoemaker 2bf2277660 Slight contraction of gnc-module API.
Privatize structures that aren't used externally.  Remove unused functions. 



git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12368 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-16 16:30:12 +00:00
Chris Shoemaker 85c5bcd51c Register business objects before testing them.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12367 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-16 14:42:43 +00:00
Chris Shoemaker 15533c3a3d Allow a libgsf test to pass even with glib 2.4.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12366 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-16 14:24:57 +00:00
Chris Shoemaker 9ef9db1e44 Remove unneeded testing environments.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12365 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-16 05:30:34 +00:00
Chris Shoemaker 4c40e79c96 Remove obsolete test for starting GnuCash with a different guile.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12364 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-16 05:22:01 +00:00
Chris Shoemaker 3cd6a9ac54 Fix src/bin/test/test-version for new gnucash executable.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12363 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-16 03:23:35 +00:00
Chris Shoemaker 6769817250 Specify that LIBADD libraries are for libqof_backend_qsf.la.
Solves:
      libqof-backend-qsf.so: undefined symbol: xmlNodeGetContent

      error during `make check'


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12362 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-16 02:43:56 +00:00
Chris Shoemaker b9e2d8d2f1 Declare library dependency for dialog-tax-table.
libtool 1.5.16 seems to not mind the dependency being undeclared but
   libtool 1.5.6 on FC3 won't lt_dlopen() the .la file without it.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12351 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-14 05:47:17 +00:00
Chris Shoemaker fc02baaa87 Add 'Makefile' as a dependency for targets that are generated
from scriptlets in Makefile.  That way, if the generating scriptlet is
changed, (or the Makefile is regenerated) the target will also be remade.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12350 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-14 03:56:53 +00:00
Chris Shoemaker f2f05295a2 Various fixes to allow make dist and building from tarball.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12339 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-13 05:13:05 +00:00
Chris Shoemaker cb99bbab36 ChangeLog entries from svn for past 12 days.
Hmm... A commit message for my commit messages... what to write?
Using this, format which is much closer to svn log, saved some time.  
This commit took about 10 min to prepare, and I estimate it would have 
taken another 20 to format like my last entries.  The main effort is 
moving the messages off of column 0.  I suspect that the non-uniform 
entry style might start to bother me enough to look at the xslt again.  
We'll see.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12338 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-13 02:05:51 +00:00
Chris Shoemaker d10178c682 Move gnu-module init and gettext init from scm to C.
Move i18n.h.in from src/app-utils to src/bin, where it is used.
Remove unneeded gettext init code in src/app-utils



git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12337 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-13 01:25:12 +00:00
Chris Shoemaker 7c04d41562 Don't let deprecated tags overwrite data from newer tags.
Avoid testing for match of deprecated tags.
Warn about deprecated tags not being preserved.
Plug another leak in test case.
Make successful test-xml-account less verbose.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12330 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-12 21:26:01 +00:00
Chris Shoemaker 7452d320be Avoid creating new xml parser for each test file.
This plugs a mem leak in the test case.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12329 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-12 21:22:03 +00:00
Chris Shoemaker ad79d941fa Factor-out cut-n-paste job from xaccCloneAccount{Simple}.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12322 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-11 04:39:12 +00:00
Chris Shoemaker f502a238e4 Convert account name, code and description to use string cache.
Plus minor comments and tweaks.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12321 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-11 04:30:20 +00:00
Chris Shoemaker 32a5612d4c Add CACHE_REPLACE(dst, src) macro for common case in string setters.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12319 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-11 04:27:02 +00:00
Chris Shoemaker e4506925fc Convert gnc-commodity to use vanilla string cache macros.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12316 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-11 02:58:59 +00:00
Chris Shoemaker eb729c2073 Add const to gnc_string_cache_insert argument.
Handle NULL values gracefully.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12315 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-11 02:56:02 +00:00
Chris Shoemaker 3a8b735879 Add commented-out test case demonstrating lack of year 2038 support.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12313 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-11 02:19:42 +00:00
Chris Shoemaker 7b63c404e0 Plug memory leak of gnc_commodity_namespace->QofInstance; found w/ valgrind.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12311 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-10 21:42:55 +00:00
Chris Shoemaker 8f7fbc0f9e Avoid testing dates near or after 2038, because the qof parsing functions fail.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12308 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-09 21:06:45 +00:00
Chris Shoemaker 6400638073 Don't test numeric parsing for numbers that overflow, we'd fail.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12306 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-09 03:33:46 +00:00
Chris Shoemaker d20e593428 Fix floating point exception by checking for overflow.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12278 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-06 22:28:38 +00:00
Chris Shoemaker 8b02d8989e Fixes for `make check' in toplevel Makefile.am.
Conditionally add symlink from ./gsf to ./lib/libgsf-1.12.3/gsf.

Also, silence warning:
/usr/share/automake-1.9/am/tags.am: ctags was already defined in condition !GNC_CTAGS_FILE, which is included in condition TRUE ...
Makefile.am:138: ... `ctags' previously defined here

and avoid possible `make dist' failure by added po/POTFILES.in to dist-hook.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12273 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-06 21:31:22 +00:00
Chris Shoemaker 4048f595e1 Yet more build tweaks for .pot file generation.
Remove po/POTFILES.in (again) from svn.  Since po/POTFILES.in is added
to BUILT_SOURCES, it's auto-generated now whenever the `make all',
`make check', or `make install' targets are processed, (but not
recreated every time).  And `make pot' forces the recreation of
po/POTFILES.in.  Hopefully, this will works even on OSX.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12271 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-06 02:49:27 +00:00
Chris Shoemaker 57afed226c Add a stub po/POTFILES.in
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12257 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-04 17:25:26 +00:00
Chris Shoemaker f301cae679 Invert the program entry point.
'gnucash' is now a shell script that calls the executable
'gnucash-bin' which uses libguile to load guile modules.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12252 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-03 23:49:39 +00:00
Chris Shoemaker 58361755ee remove a couple recently-removed files from POTFILES.in
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12245 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-03 18:02:25 +00:00
Chris Shoemaker 00153624b2 Delete unused gncmod-budget.c.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12232 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-02 00:37:02 +00:00
Chris Shoemaker ece1abe680 General clean-up in Transaction.[ch].
* Regularization of 'trans' as variable name.
 * Whitespace and linewraps
 * lots of control-flow simplification
 * factor one chunk out into get_any_account()
 * Comment some things that are bogus or need improvement



git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12231 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-01-01 22:26:15 +00:00
Chris Shoemaker d96b0c7d81 Constify some Split and Transaction functions.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12229 57a11ea4-9604-0410-9ed3-97b8803252fd
2005-12-31 23:35:55 +00:00
Chris Shoemaker 2b7c1430e1 Constify the AccountGroup variables where possible in Group.[ch]
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12228 57a11ea4-9604-0410-9ed3-97b8803252fd
2005-12-31 22:28:42 +00:00
Chris Shoemaker 2deaa26188 Add ChangeLog entries for past 4 days.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12227 57a11ea4-9604-0410-9ed3-97b8803252fd
2005-12-31 21:17:32 +00:00
Chris Shoemaker 68ba4431af Turn on gconf for the budget plugin page's tree view account.
Doesn't seem to work quite yet.  It does save the settings in the user's 
gconf directory, but the tree view doesn't remember things like sort order,
which the account-tree page's account treeview does remember.  There must be 
something else needed...



git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12224 57a11ea4-9604-0410-9ed3-97b8803252fd
2005-12-31 06:20:35 +00:00
Chris Shoemaker d48e61963e *really* mark strings for runtime translation, not just translatable.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12223 57a11ea4-9604-0410-9ed3-97b8803252fd
2005-12-31 06:06:51 +00:00
Chris Shoemaker 6d6f37af00 Remove GUI for old attempt at account type filtering.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12222 57a11ea4-9604-0410-9ed3-97b8803252fd
2005-12-31 06:03:41 +00:00
Chris Shoemaker 3214346427 Remember what the Budget views looked like last time we were running
Most of the work is delegated to GncTreeViewAccount, just as for 
GncPluginPageAccountTree.  One difference is that the Budget page has to
also remember which Budget it was showing.  For that, we encode the GUID to
a string in the keyfile.



git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12221 57a11ea4-9604-0410-9ed3-97b8803252fd
2005-12-31 05:41:00 +00:00
Chris Shoemaker b3317bc6ab whitespace line-wrap cleanup
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12220 57a11ea4-9604-0410-9ed3-97b8803252fd
2005-12-31 05:34:29 +00:00
Chris Shoemaker 58a0d3a582 Move functions from GncPluginPageAccountTree to GncTreeViewAccount
The reason GncPluginPageBudget keeps wanting to use functions in
GncPluginPageAccountTree is that they both use GncTreeViewAccount.

So, we're moving those functions (the account view filter functions
and the account view save/restore functions) into
gnc-tree-view-account.  Along the way, we're also narrowing the
argument types from GtkTreeView to GncTreeViewAccount to avoid
unnecessary down-casting.



git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12219 57a11ea4-9604-0410-9ed3-97b8803252fd
2005-12-31 04:47:52 +00:00
Chris Shoemaker 4f8aa04446 Generalizing Account Filter By... (step 5)
export the account-tree's account filter function
populate the account-tree's account filter struct with the right tree-view.

And finally... reuse all this generalized functionality in 
the budget plugin page.  Nice!



git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12214 57a11ea4-9604-0410-9ed3-97b8803252fd
2005-12-31 00:22:42 +00:00
Chris Shoemaker aeeac3fd9c Generalize Account Filter By... (step 4)
Fixup comments forgotten in step 3.
Factor out and export most of the account filter dialog creation.
Eventually this function should live somewhere else.



git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12213 57a11ea4-9604-0410-9ed3-97b8803252fd
2005-12-31 00:00:49 +00:00
Chris Shoemaker cba693c30c Generalize Account Filter By... (step 3)
Narrow all the account filter dialog callbacks to use only the 
AccountFilterDialog struct.  Now they're multi-purpose.



git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12212 57a11ea4-9604-0410-9ed3-97b8803252fd
2005-12-30 23:44:39 +00:00
Chris Shoemaker 5f77dd4bf7 Generalize Account Filter By... (step 2)
Narrow the account filter function to use only the AccountFilterDialog.
Now it's multi-purpose.



git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12211 57a11ea4-9604-0410-9ed3-97b8803252fd
2005-12-30 23:34:20 +00:00
Chris Shoemaker b77990b623 Generalize Account Filter By... (step 1)
Export AccountFilterDialog type




git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12210 57a11ea4-9604-0410-9ed3-97b8803252fd
2005-12-30 23:28:53 +00:00
Chris Shoemaker e58ec5bcf9 Mark budget strings for i18n
Remove obsolete budget glade dialogs



git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12208 57a11ea4-9604-0410-9ed3-97b8803252fd
2005-12-30 16:00:05 +00:00
Chris Shoemaker 3be52c3a36 Minor improvements to engine testing infrastructure
* add some arrays of realistic string values for various 
     Account and Transaction fields
 * use the arrays to generate slightly more human-readable 
     random books
 * pull some hardcoded constants out into static knobs
 * wrap Transaction creation in begin/commit




git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12202 57a11ea4-9604-0410-9ed3-97b8803252fd
2005-12-30 04:36:38 +00:00
Chris Shoemaker ca3d0ccf09 Add 'const' qualifier to Account pointers in the Account api.
Including necessary related changes to functions passed accounts
from the account functions.

Interestingly, the only g-wrap function that complained about the
new const function arguments was xaccAccountOrder(), the only one
using const Account ** types.  It seems very uncommon to express
const-ness in g-wrap for any types other than gw:mchar.  Actually 
I couldn't find any other examples, anywhere, so I had to guess 
at the syntax, but it works.

Oh, and one or two minor tweaks like my last commit snuck in, too.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12201 57a11ea4-9604-0410-9ed3-97b8803252fd
2005-12-30 03:34:22 +00:00
Chris Shoemaker 24391d1955 Single-pass audit/cleanup of Account.c
* standardize on 'acc' as variable name for Account.
 * removed 'acc->inst.dirty = TRUE' when preceeded by mark_account.
 * slightly more consistent whitespace.
 * short-circuit no-op in many cases where we thought we were changing state but we really weren't.  Don't dirty Accounts in these cases.
 * fix a couple cases where we dirtied the account without dirtying the parent
 * fix one BUG where we just blew away the account's Lots for no reason.
 * comment possible bug where we don't dirty a split.
 * comment two possible buglets where we generate double CM events.
 * comment on possible bugs related to conditional sorting of the Split list.
 * heavy conversion from lower-level to higher-level KVP api.
 * plug mem leak of entire GList of splits.
 * document minor change to corner-case behavior of xaccAccountHasAncestor().
 * several control flow simplifications.
 * fixed one case where we were changing the Account without dirtying it. (Can't find this one now.  Maybe I imagined it.)

Please note where I've marked 'BUG'.  I think there are still (at
least) 2 medium and 2 minor bugs remaining in this file.  I'll have
another look some other day.




git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12199 57a11ea4-9604-0410-9ed3-97b8803252fd
2005-12-29 22:22:33 +00:00
Chris Shoemaker 051c9afeb1 remove random qof_commit_edit from xaccSplitSetSlots_nc
fixes unbalanced begins/commits


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12197 57a11ea4-9604-0410-9ed3-97b8803252fd
2005-12-29 05:21:02 +00:00
Chris Shoemaker a6dcdd8438 spelling fix
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12196 57a11ea4-9604-0410-9ed3-97b8803252fd
2005-12-29 05:18:07 +00:00
Chris Shoemaker ecf0bf4857 trigger regeneration of gnucash scripts when the configuration changes
pulled from 1.8


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12191 57a11ea4-9604-0410-9ed3-97b8803252fd
2005-12-28 19:27:05 +00:00
Chris Shoemaker f5ddf6878c Pulled NEWS history from 1.8 branch into trunk.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12190 57a11ea4-9604-0410-9ed3-97b8803252fd
2005-12-28 19:18:03 +00:00
Chris Shoemaker e3cc997edf Document our dependency on gcc as a compiler.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12188 57a11ea4-9604-0410-9ed3-97b8803252fd
2005-12-27 19:54:46 +00:00
Chris Shoemaker 1d92071cd8 Update patch submitting instructions.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12186 57a11ea4-9604-0410-9ed3-97b8803252fd
2005-12-27 19:14:07 +00:00
Chris Shoemaker 9dfc5eafe9 add configure options to disable the use of deprecated functions
in glib, gtk, and gnome


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12175 57a11ea4-9604-0410-9ed3-97b8803252fd
2005-12-23 18:54:11 +00:00
Chris Shoemaker 120a27c129 Added several author entries.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12078 57a11ea4-9604-0410-9ed3-97b8803252fd
2005-12-03 03:29:57 +00:00
Chris Shoemaker 866bd40b1b "make ChangeLog" will now create ChangeLog.svn,
which will contain all the commit messages and affected file paths 
since Nov. 2, 2005.  



git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12077 57a11ea4-9604-0410-9ed3-97b8803252fd
2005-12-02 21:11:49 +00:00
Chris Shoemaker 8035d3b51d Provide QofClass registration for GncBudget.
Remove obsolete fixme.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@11971 57a11ea4-9604-0410-9ed3-97b8803252fd
2005-11-18 04:37:26 +00:00
Chris Shoemaker f7e1f2c975 whitespace cleanup
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@11970 57a11ea4-9604-0410-9ed3-97b8803252fd
2005-11-18 04:32:20 +00:00
Chris Shoemaker b274b10b87 Allow engine to provide default budget instead of getting it in the GUI.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@11969 57a11ea4-9604-0410-9ed3-97b8803252fd
2005-11-18 04:20:57 +00:00
Chris Shoemaker 3b9b0471d6 Avoid use of uninitialized variable when opening a budget and only one budget exists.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@11968 57a11ea4-9604-0410-9ed3-97b8803252fd
2005-11-17 15:19:14 +00:00