more library structure

Chris Shoemaker c.shoemaker at cox.net
Wed Jan 25 20:51:15 EST 2006


On Wed, Jan 25, 2006 at 06:22:21PM -0500, Derek Atkins wrote:
> Quoting Chris Shoemaker <c.shoemaker at cox.net>:
> 
> >On Wed, Jan 25, 2006 at 05:58:01PM -0500, Derek Atkins wrote:
> >>FWIW, I still want to see enough of gnome initialized earlier such
> >>that the splash screen can get instantiated earlier.  You removed my
> >>gnucash-bin.c comment about "start the splash screen here" in your
> >>recent set of commits...  But my comment still stands.  I want the
> >>splash screen up BEFORE you call load_gnucash_modules().
> >
> >I think that in the commit that I removed that comment, it _was_
> >before module loading, but then I moved it after because of the
> >report-menu setup.  I know the goal is to show the modules loading in
> >the splash.
> 
> I see no instance of "gnc_show_splash_screen" in gnucash-bin.c in any
> form..  So when you moved stuff around you removed my comment completely.

It's the first thing that happens inside gnc_main_gui_init().  When
that was called before loading modules, the module loading messages
showed on the splash.  But, the report menu was never populated.

> Also, I'm not keen on your moving all these plugin-page defs from
> gnome-utils into gnome.  They really don't belong in gnome.  They
> belong in gnome-utils.   Let me repeat:   EVERYTHING belongs in
> gnome-utils unless there is a specific library requirement that
> makes it necessary to live in "gnome".  But if you can keep it in
> gnome-utils and add a context callback, that's sufficient.

The problem I'm running into isn't so much with the register as with
the report-system.  Application startup and tear-down touches
everything - including the report-system.  I moved half of it from
gnome into gnome-utils, but I think that was a mistake.  It should
stay in gnome.  But, that pulls the thread... what about the stuff in
gnome-utils that tried to manage lifecycle - specifically, gnc-file
and gnc-main-window?

The plugins, pluginpages and pluginmanager all end up depending on
these.  Although, at the moment I can't remember the exact dependency
chain, so I'm going to start-over and try to take better notes.

> The plugin page code most certainly belongs in gnome-utils, not gnome.
> top-level depends on the plugin-page... not the other way around.

Well then, maybe gnc-plugin-page-account-tree, gpp-budget,
gp-basic-commands, gp-account-tree, and gp-budget belong in
gnome-utils.

In the short term, I'm really not bent on re-organizing the libraries.
I just want the lifecycle functions in one place, and, after moving
them to gnome-utils, I'm convinced they need to go back into gnome.
Let me take another look at what they minimum dependencies are.

-chris


More information about the gnucash-devel mailing list