I'd like to create an applet for gnucash
Christian Stimming
stimming at tuhh.de
Mon Jun 25 10:19:42 EDT 2007
Hi Martin,
Quoting Martin Kaffanke <technik at roomandspace.com>:
> I'd like to create an applet or notification for gnucash. (Like we have
> for tomboy.)
interesting plan. I'm afraid our answers won't make you really happy,
but I'd like to explain the technical conditions concerning a gnucash
applet.
First of all, you need to keep in mind that gnucash works only on a
single data file as storage mechanism. So if an applet would like to
do something with that data file (either retrieve information or
adding new transactions), the data file cannot be used by another
full-blown gnucash process at the same time, and vice versa.
With this constraint, an applet could basically act as a
"mini-gnucash", i.e. it offers only a very small subset of the gnucash
features, but loads and saves the data file just as the normal gnucash
does. I think writing something like that is still non-trivial, but is
probably manageable. I'd suggest starting with the gnucash main
window src/gnome-utils/gnc-main-window.c and simply removing all
undesired widgets and functionality.
> - Show the balance of a few chosen accounts,
Easiest part. Once your applet uses the src/engine/libgncmod-engine.c
library just like the normal gnucash does, you can always query the
accounts for their balance.
> - Show the actual situation of the finance status, the data we see at
> the bottom in the accounts view
That's the src/gnome-utils/window-main-summarybar.c widget.
> - Simple add a new income or expense, so i.e. you buy a coke and put it
> into gnucash, but you don't like to start anything else
The normal data entry is done in the "register" widget, which I think
is not quite suitable for an applet. But the "Transfer" dialog window
(Toolbar -> Transfer) of gnucash already exists and can be called from
your small applet just as well.
> Where can I start? Would this be easy on the gnucash side.
If you start from the gnc-main-window and simply remove all unneeded
functionality it is probably rather easy. We'd even be happy to
include this as an additional subproject into our SVN repository once
you got some usable code.
However, I'm not sure whether this is what you want.
Regards,
Christian
More information about the gnucash-devel
mailing list