r21241 - gnucash/trunk/src/gnc - GSoC Cutecash project by Nitish Dodagatta (last half)

Christian Stimming cstim at code.gnucash.org
Wed Sep 7 14:03:21 EDT 2011


Author: cstim
Date: 2011-09-07 14:03:20 -0400 (Wed, 07 Sep 2011)
New Revision: 21241
Trac: http://svn.gnucash.org/trac/changeset/21241

Added:
   gnucash/trunk/src/gnc/fpo/
   gnucash/trunk/src/gnc/fpo/FPO.cpp
   gnucash/trunk/src/gnc/fpo/FPO.hpp
   gnucash/trunk/src/gnc/fpo/ViewletModel.cpp
   gnucash/trunk/src/gnc/fpo/ViewletModel.hpp
   gnucash/trunk/src/gnc/fpo/ViewletView.cpp
   gnucash/trunk/src/gnc/fpo/ViewletView.hpp
   gnucash/trunk/src/gnc/qss/
   gnucash/trunk/src/gnc/qss/default.qss
   gnucash/trunk/src/gnc/stylesheets.qrc
Modified:
   gnucash/trunk/src/gnc/CMakeLists.txt
   gnucash/trunk/src/gnc/Numeric.hpp
   gnucash/trunk/src/gnc/RecentFileMenu.cpp
   gnucash/trunk/src/gnc/RecentFileMenu.hpp
   gnucash/trunk/src/gnc/dashboard.cpp
   gnucash/trunk/src/gnc/dashboard.hpp
   gnucash/trunk/src/gnc/dashboard.ui
   gnucash/trunk/src/gnc/main.cpp
   gnucash/trunk/src/gnc/mainwindow-file.cpp
   gnucash/trunk/src/gnc/mainwindow.cpp
   gnucash/trunk/src/gnc/mainwindow.hpp
   gnucash/trunk/src/gnc/mainwindow.ui
Log:
GSoC Cutecash project by Nitish Dodagatta (last half)

Summary of the project by the GSoC student, copied
from http://wiki.gnucash.org/wiki/GSoC2011#Student_Summaries :

A new user interface for Gnucash core using Qt/C++ was started by one
of the Gnucash developers in 2010. [1] The idea is to create a
lightweight user friendly UI, reusing the backend core API of
Gnucash. During the project, I created a widget to allow a user to add
two split transaction to/from different accounts. After that I worked
on adding an overview widget showing a list of recent transactions
entered. It consists of two report views containing income and
expense. This view also called as First Person Overview provides an
easy to browse list of transactions. The idea is to integrate common
handy features with these views. The present view lists four entries
for each transaction: date of the transaction, transaction
description, split account name and split amount. Each of the entries
are inside their own QWidget, so as to allow interactive features to
be coded on each of the entries.

The already existing code had some C++ wrappers to convert the return
values of C functions to Qt data types. I made use of them whenever
possible. And at some parts of the code I used the C functions
directly where it made things easier for me. The FPO consists of one
or more viewlets. A viewlet is nothing but a list of transactions, a
slightly minified version of General Journal, to easily browse
transactions sorted by date. The viewlet generator function works such
that there is no date entry or account name entry, if it is the same
as the previous (above) one. This information is then used by
ViewletView to generate the UI part. To make the views visually
appealing and readable, QStyleSheets are used which distinguishes the
various types of entries in the viewlet.

Overall, it was a rewarding experience, I learned a lot of new things,
common pitfalls, handy tips and tricks, and a better understanding of
the Gnucash core API . The project was observed only by myself and my
mentor. During the course I also generated windows builds for two of
my friends who were interested to have a look at the features
implemented. I received positive feedback from them and couple of
feature requests from them. Working on this project within GSoC was a
rewarding experience. I thank my mentor Christian Stimming for guiding
me along and giving very helpful advices and hints during the
summer. I definitely would like to continue contributing to Gnucash
community in future.

[1] http://wiki.gnucash.org/wiki/Cutecash



More information about the gnucash-patches mailing list