Announcing a new sub-project in gnucash: GUI in C++, Qt, CMake.
Phil Longstaff
plongstaff at rogers.com
Thu Mar 4 15:49:01 EST 2010
On Thu, 2010-03-04 at 21:34 +0100, Christian Stimming wrote:
> I'd like to explain my recent experiments with C++ and cmake: I was tired of
> the amount of code one has to write in the C language to achieve seemingly
> trivial tasks. In my day-time projects with other, more GUI-suited,
> programming languages, the simple tasks can be written sooo much simpler,
> leaving much more time for the actual challenging tasks. In gnucash, over and
> over again I thought couldn't the GUI be written in any of the more modern
> languages and/or toolkits. I mean, can we get the fun into gnucash coding
> again?
>
> Actually, we can.
>
> Announcing a new sub-project in gnucash: The non-GUI parts are re-used in the
> state they are, in the C language. This means the double-entry principles and
> all of the other achievments in the "engine" and xml-backend and eventually
> other backends can be re-used. But the GUI is rewritten completely new, from
> scratch, in C++ and using the Qt toolkit. Fun again. The build system is CMake
> because its configuration runs magnitudes faster. Fun again. And as a final
> bonus, for MS windows more compiler than before are supported, namely this
> whole new project can be compiled by MS Visual Studio as well. So here it is:
>
> Cutecash
> Free Finance Software. Easy to develop, easy to use.
>
> Currently this is only a proof-of-concept for developers: You can load an
> existing gnucash XML file, and it will show the list of accounts as a flat
> table in a QTableView. The fun part is how easy it was to add this display of
> all accounts, so it will probably take only another 1-2 hours until the
> account list is a tree to be viewed in a QTreeView. And a QTableView with the
> splits of an account can't be far...
>
> To give this a try, have qt4 (>=4.5.0) and cmake (>= 2.6.0) installed and:
>
> mkdir build-cutecash
> cd build-cutecash
> cmake ..
> make
> ./src/gnc/cutecash
>
> Have fun (again)!
I'd had similar thoughts. The engine and core can be in C and wrapped,
but the app itself can be in another language (c++, python, even java).
I would have aimed at 2.6 (and I suppose that is what you would aim at
as well).
Phil
More information about the gnucash-devel
mailing list