Announcing a new sub-project in gnucash: GUI in C++, Qt, CMake.

Jeff Warnica jeff at coherentnetworksolutions.com
Thu Mar 4 16:00:34 EST 2010


Granting that I have less then no right to question an experiment, I am
wondering if you have considered other possible bindings.  I find it
especially curious that you picked not just C++, but Qt (KDE), whereas
Gnucash is a Gnome (or at least GTK) app now. Anyway... I note that
Javascript is an supported GTK+ binding (since 2.18), and and "official"
Gnome binding as well. Now, it may be 2-3 years before Gnome picks between
Gjs (Mozilla) and Seed (webkit), and for the standardization process to
clean up the lack of "programming in the large" features of JS, but I don't
think that any UI rewrite would be stable before then. Without any research
into it at all, I'd imagine a C/GTK -> JS/GTK port wouldn't require much
hard thinking, and possible be able to use C and JS at the same time.

If a side/implicit goal is to attract developers, well, I can only speak for
myself, but I have plans to continue to avoid C++ (or even C, for that
matter), but I know enough Javascript to be dangerous.

Anyway, something to think about.

2010/3/4 Christian Stimming <stimming at tuhh.de>

> 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)!
>
> Christian
> _______________________________________________
> gnucash-devel mailing list
> gnucash-devel at gnucash.org
> https://lists.gnucash.org/mailman/listinfo/gnucash-devel
>


More information about the gnucash-devel mailing list