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
dialog remember its state across invocations (including all the custom
values). Fix a crash when canceling printing.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12949 57a11ea4-9604-0410-9ed3-97b8803252fd
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
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
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
* src/app-utils/prefs.scm: replace an API needed by old scheme
config files. It was removed in r11565. Replace it now.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12926 57a11ea4-9604-0410-9ed3-97b8803252fd
Granted, this has no effect because the splash screen isn't
/UP/ when we're loading the modules. But still, once we
initialize the gnome application earlier this will let us
update the splash screen.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12925 57a11ea4-9604-0410-9ed3-97b8803252fd
* src/bin/gnucash-bin.c: Load config.auto AND config.user files.
Load the .user file first, and then load the .auto.
* src/scm/Makefile.am: paths.scm was removed.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12913 57a11ea4-9604-0410-9ed3-97b8803252fd
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
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