Commitment to gnome2 port

David Hampton hampton at employees.org
Thu Sep 4 12:55:36 CDT 2003


On Thu, 2003-09-04 at 10:51, Derek Atkins wrote:
> David Hampton <hampton at employees.org> writes:
> 
> > The problem is that gnucash is (pulls a number out of the air) 40% UI
> > and 60% other code.  Part of the delay in getting the port out is that
> 
> I would argue you've got the numbers backwards, based on the amount of
> code in the various *gnome* directories.. ;)

Mmmph.  Fun.

> Question: would it be "reasonable" to ship a 2.0 that keeps the CList
> and Tree widgets, just to get a 2.0 out there -- and then work on
> upgrading those widgets after we've got it "out there"?

Yes. On the other hand, if we did so would we ever get around to fixing
them before the support vanished from gtk? When Jan started the port he
cut quite a few things over from the ctree widget to a model/view
system.  I haven't done any new conversions here, just fleshing out the
ones he started.

I'll try and address this over the weekend.  The first big change is
replacing the g1 MDI code with a set of g2 window plugin widgets.  This
is a major win, but still needs to be fleshed out.  E.G. You can open
the GL and an all new code path is followed, but opening a normal
account calls the old register open code path and crashes.  The register
(any sort) needs to be put into a new window with the requisite
toolbar.  It currently goes into the same window as the account tree.
Ditto for reports.  (I would like to make the window selection a user
choice, but need to investigate the layering of window plugins.)  
Speaking of toolbars, the code now uses the concept of "actions" which
can have multiple proxies.  This means that, for example, the "Open
Account" menu command, the "Open Account" popup menu command, and the
"Open Account" toolbar button are all aliases to a single action.  There
is one bit of code to write to handle executing the action, and marking
the action as sensitive/insensitive automatically changes all the proxy
menu/toolbar items to match.  This is much cleaner than today's code,
but it still needs to be finished.

There's a nasty bug in the register code related to gnucash's use of an
offscreen gtkentry to do text manipulation.  g2 doesn't allow this, and
I ran out of patience trying to fix the problem and moved on to the
account tree model/view.  At some point, either I or someone else need
sot go back and fix this so the register isn't a read-only mechanism. 
Hopefully its a simple fix, and I didn't see it.  Other than this one
issue, the rest of the register works, as far as I can tell.

The account tree has been converted over to a model/view system, and I
think I've gotten all the issues worked out of this one.  The commodity
and price edit dialogs have also been converted over from a clist/ctree
to model/view, but they still need work.  I suppose we could roll them
back to the old widgets, but that seems counterproductive. I don't think
we should convert any other clists/ctrees for the first g2 release.

I know there are probably html problems waiting in the wings that are
unrelated to the model/view changes, but I haven't even started looking
at the reports yet.

David

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://lists.gnucash.org/pipermail/gnucash-devel/attachments/20030904/52fbc856/attachment.pgp


More information about the gnucash-devel mailing list