Are There Plans For A GUI Overhaul?

John Ralls jralls at
Wed Oct 5 03:12:59 EDT 2016

> On Oct 5, 2016, at 6:34 AM, Dave <linuxluser at> wrote:
> Thanks for the great responses! It does clarify quite a bit.
> From the looks of things, it seems that the C -- C++ port would have the
> most impact right now. It would take me awhile to get my C/C++ abilities
> ramped up again. Where's the best place to start learning about gnucash
> code? I don't know when I'd be able to start helping, but I'd at least want
> to learn what I could.

I think the best leverage for an additional developer at this point would be to work on extracting the business logic from the GUI code. That work could be in C since it's mostly extract function refactors and the extracted functions have to be callable by the C GUI.

Part of that same job is to extract and combine the common code from Register and Register2; when Bob wrote it his vision was that the Reg2 stuff would work well enough that we could just drop Register, so he just copied the Register code and modified it. It didn't work out that way and it's become something of a maintenance headache because whenever we touch the guts of Register we have to remember to make the same changes in Register2. That hasn't always happened, so there are probably bugs that have been fixed in Register that still exist in Register2.

To start learning the code read through the Doxygen documentation at and browse the code at

For refreshing your C++ skills bear in mind that we're using C++11, templates, and shallow hierarchies (sometimes called "modern C++"). Have a look at, in particular

John Ralls

More information about the gnucash-devel mailing list