summaryrefslogtreecommitdiff
path: root/noncore
authorallenforsythe <allenforsythe>2003-05-28 11:49:47 (UTC)
committer allenforsythe <allenforsythe>2003-05-28 11:49:47 (UTC)
commit52047fd3d3f30509d65834747c3a0c5c6760dc01 (patch) (unidiff)
tree136945c2ffff2434ba1e3c8959b5335f5016e8f8 /noncore
parent7c85b3e98921afa74c7c6a90da4dfd54631c89c5 (diff)
downloadopie-52047fd3d3f30509d65834747c3a0c5c6760dc01.zip
opie-52047fd3d3f30509d65834747c3a0c5c6760dc01.tar.gz
opie-52047fd3d3f30509d65834747c3a0c5c6760dc01.tar.bz2
*** empty log message ***
Diffstat (limited to 'noncore') (more/less context) (show whitespace changes)
-rwxr-xr-xnoncore/apps/qashmoney/CHANGES8
-rwxr-xr-xnoncore/apps/qashmoney/README35
-rwxr-xr-xnoncore/apps/qashmoney/account.cpp9
-rwxr-xr-xnoncore/apps/qashmoney/accountdisplay.cpp15
-rwxr-xr-xnoncore/apps/qashmoney/accountdisplay.h1
-rwxr-xr-xnoncore/apps/qashmoney/budget.cpp3
-rwxr-xr-xnoncore/apps/qashmoney/budgetdisplay.cpp12
-rwxr-xr-xnoncore/apps/qashmoney/budgetdisplay.h1
-rwxr-xr-xnoncore/apps/qashmoney/install/CONTROL/opie-qashmoney.control5
-rwxr-xr-xnoncore/apps/qashmoney/preferences.cpp50
-rwxr-xr-xnoncore/apps/qashmoney/preferences.h3
-rwxr-xr-xnoncore/apps/qashmoney/qashmoney.cpp21
-rwxr-xr-xnoncore/apps/qashmoney/transaction.cpp106
-rwxr-xr-xnoncore/apps/qashmoney/transaction.h3
-rwxr-xr-xnoncore/apps/qashmoney/transactiondisplay.cpp20
-rwxr-xr-xnoncore/apps/qashmoney/transactiondisplay.h1
-rwxr-xr-xnoncore/apps/qashmoney/transfer.cpp11
-rwxr-xr-xnoncore/apps/qashmoney/transfer.h3
-rwxr-xr-xnoncore/apps/qashmoney/transferdialog.cpp2
19 files changed, 240 insertions, 69 deletions
diff --git a/noncore/apps/qashmoney/CHANGES b/noncore/apps/qashmoney/CHANGES
index f17035b..a3ac224 100755
--- a/noncore/apps/qashmoney/CHANGES
+++ b/noncore/apps/qashmoney/CHANGES
@@ -2,6 +2,14 @@ QashMoney - Budget Software for the Sharp Zaurus
2 2
3CHANGES 3CHANGES
4 4
50.76 - 5/21/03
6
7 Updated postinst file so app will install on new Sharp ROM 3.1
8 Improved algorithm for selecting cleared transaction
9 Fixed budget display bug
10
11----------------------------------------------------------------------------------
12
511/1/02 - Initial release of 0.2 version. Considered stable beta version. 1311/1/02 - Initial release of 0.2 version. Considered stable beta version.
611/16/02 - Release of version 0.3. This is a stable version adding function to 1411/16/02 - Release of version 0.3. This is a stable version adding function to
7 transfer money between accounts. Several bugs fixes and speed enhancements 15 transfer money between accounts. Several bugs fixes and speed enhancements
diff --git a/noncore/apps/qashmoney/README b/noncore/apps/qashmoney/README
index 1888ce6..ef004f7 100755
--- a/noncore/apps/qashmoney/README
+++ b/noncore/apps/qashmoney/README
@@ -2,13 +2,10 @@ QashMoney - Budget Software for the Sharp Zaurus
2 2
3README 3README
4 4
5Welcome to the latest version of QashMoney! This app is designed to make your
6budgeting fast, inuitive and easy.
7
8This file lists all the important files in the qashmoney CVS directory and how 5This file lists all the important files in the qashmoney CVS directory and how
9to make the IPK file that goes on the Zaurus. When you checkout the 6to make the IPK file that goes on the Zaurus. When you checkout the
10qashmoney module from CVS, it will create a directory on your hard drive called 7qashmoney-source module from CVS, it will create a directory on your hard drive called
11qashmoney. These instructions assume you are in the directory. 8qashmoney-source. These instructions assume you are in this directory.
12 9
13The first thing you need to do is have all the necessary cross-compile software 10The first thing you need to do is have all the necessary cross-compile software
14and Qtopia installed on your system. I assume you have already done this since 11and Qtopia installed on your system. I assume you have already done this since
@@ -23,14 +20,11 @@ QashMoney. Go to:
23 20
24http://www.sqlite.org 21http://www.sqlite.org
25 22
26to download this progam. The SQLite library has already been compiled for the 23to download this progam.
27IPK and is in the 'install' directory. So there is no need to compile SQLite
28for ARM but you can if you want. There are instructions for that on the
29website.
30 24
31After that, set the correct environment variables for the package you 25After that, set the correct environment variables for the package you
32are developing.Two scripts in the qashmoney are used for that purpose: x86.sh 26are developing. Two scripts in the qashmoney-source directory are used for that purpose: x86.sh
33andarm.shIf you are buidling for x86 type: 27and arm.sh. If you are building for x86 type:
34 28
35source x86.sh 29source x86.sh
36 30
@@ -63,24 +57,7 @@ qvfb &
63and QashMoney should appear in the frambuffer. You can use and test qashmoney 57and QashMoney should appear in the frambuffer. You can use and test qashmoney
64here as you would on the Zaurus. 58here as you would on the Zaurus.
65 59
66If you compile the binary file for the Zaurus, another script in this directory 60If you want to compile the app and make the IPK file, check out the qashmoney-build module and see the README file in that module.
67will come in handy. To automagically make the IPK file, type:
68
69su
70./make_ipk
71
72You need to be the root user to set the ownership of the binary and other
73files correctly. The IPK file will appear in the qashmoney directory. Now put
74this file onto the Zaurus and install!
75
76Two other scripts in the directory may be of use. The make_x86 script cleans
77the directory and makes the x86 qashmoney binary automatically. The make_arm
78scripts makes the ARM binary. So you should really only have to type three
79commands the make the IPK file:
80
81./make_arm
82su
83./make_ipk
84 61
85I hope the program can be useful. If you have any questions or comments, please 62I hope the program can be useful. If you have any questions or comments, please
86contact me at qashmoneyman@attbi.com 63contact me at qashmoneyman@attbi.com
diff --git a/noncore/apps/qashmoney/account.cpp b/noncore/apps/qashmoney/account.cpp
index fc2f8c1..28f9ba2 100755
--- a/noncore/apps/qashmoney/account.cpp
+++ b/noncore/apps/qashmoney/account.cpp
@@ -22,9 +22,8 @@ Account::~Account ()
22void Account::addAccount ( QString name, int parentid, float balance, int type, QString description, float creditlimit, 22void Account::addAccount ( QString name, int parentid, float balance, int type, QString description, float creditlimit,
23 int statementyear, int statementmonth, int statementday, float statementbalance, const char *currency ) 23 int statementyear, int statementmonth, int statementday, float statementbalance, const char *currency )
24 { 24 {
25 int r = sqlite_exec_printf ( adb, "insert into accounts2 values ( '%q', %i, %.2f, %i, '%q', %.2f, %i, %i, %i, %.2f, '%q', 0, 0, 0, 0, 0, NULL );", 0, 0, 0, 25 sqlite_exec_printf ( adb, "insert into accounts2 values ( '%q', %i, %.2f, %i, '%q', %.2f, %i, %i, %i, %.2f, '%q', 0, 0, 0, 0, 0, NULL );", 0, 0, 0,
26 (const char *) name, parentid, balance, type, (const char *) description, creditlimit, statementyear, statementmonth, statementday, statementbalance, currency ); 26 (const char *) name, parentid, balance, type, (const char *) description, creditlimit, statementyear, statementmonth, statementday, statementbalance, currency );
27 cout << "Results = " << r << endl;
28 } 27 }
29 28
30void Account::updateAccount ( QString name, QString description, QString currencycode, int accountid ) 29void Account::updateAccount ( QString name, QString description, QString currencycode, int accountid )
@@ -225,6 +224,12 @@ void Account::displayAccounts ( QListView *listview )
225 listview->setColumnWidthMode ( 2, QListView::Manual ); 224 listview->setColumnWidthMode ( 2, QListView::Manual );
226 listview->setColumnWidthMode ( 3, QListView::Manual ); 225 listview->setColumnWidthMode ( 3, QListView::Manual );
227 } 226 }
227
228 // Now reset the column sorting to user preference
229 int column = 0;
230 int direction = 0;
231 preferences->getSortingPreference ( 1, &column, &direction );
232 listview->setSorting ( column, direction );
228 } 233 }
229 234
230int Account::displayParentAccountNames ( QComboBox *combobox, QString indexstring ) 235int Account::displayParentAccountNames ( QComboBox *combobox, QString indexstring )
diff --git a/noncore/apps/qashmoney/accountdisplay.cpp b/noncore/apps/qashmoney/accountdisplay.cpp
index b2c0838..64f4ea8 100755
--- a/noncore/apps/qashmoney/accountdisplay.cpp
+++ b/noncore/apps/qashmoney/accountdisplay.cpp
@@ -1,6 +1,7 @@
1#include <qdatetime.h> 1#include <qdatetime.h>
2#include <qmessagebox.h> 2#include <qmessagebox.h>
3#include <qheader.h> 3#include <qheader.h>
4#include <iostream.h>
4 5
5#include "accountdisplay.h" 6#include "accountdisplay.h"
6#include "newaccount.h" 7#include "newaccount.h"
@@ -48,6 +49,7 @@ AccountDisplay::AccountDisplay ( QWidget *parent ) : QWidget ( parent )
48 49
49 listview->header()->setTracking ( FALSE ); 50 listview->header()->setTracking ( FALSE );
50 connect ( listview->header(), SIGNAL ( sizeChange ( int, int, int ) ), this, SLOT ( saveColumnSize ( int, int, int ) ) ); 51 connect ( listview->header(), SIGNAL ( sizeChange ( int, int, int ) ), this, SLOT ( saveColumnSize ( int, int, int ) ) );
52 connect ( listview->header(), SIGNAL ( clicked ( int ) ), this, SLOT ( saveSortingPreference ( int ) ) );
51 53
52 layout = new QVBoxLayout ( this, 2, 5 ); 54 layout = new QVBoxLayout ( this, 2, 5 );
53 layout->addWidget ( firstline ); 55 layout->addWidget ( firstline );
@@ -268,14 +270,12 @@ void AccountDisplay::getTransferAccounts ( QListViewItem * item )
268 // set the cleared integer if the checkbox is checked 270 // set the cleared integer if the checkbox is checked
269 if ( td->clearedcheckbox->isChecked() == TRUE ) 271 if ( td->clearedcheckbox->isChecked() == TRUE )
270 cleared = 1; 272 cleared = 1;
271 273 cout << "Year from transferdialog = " << td->getYear() << endl;
272 // add the transfer with a new date if its been edited or use the default date 274 // add the transfer with a new date if its been edited or use the default date
273 if ( td->getDateEdited () == TRUE ) 275 if ( td->getDateEdited () == TRUE )
274 transfer->addTransfer ( firstaccountid, account->getParentAccountID ( firstaccountid ), secondaccountid, 276 transfer->addTransfer ( firstaccountid, account->getParentAccountID ( firstaccountid ), secondaccountid, account->getParentAccountID ( secondaccountid ), td->getDay(), td->getMonth(), td->getYear(), td->amount->text().toFloat(), cleared );
275 account->getParentAccountID ( secondaccountid ), td->getDay(), td->getMonth(), td->getYear(), td->amount->text().toFloat(), cleared );
276 else 277 else
277 transfer->addTransfer ( firstaccountid, account->getParentAccountID ( firstaccountid ), secondaccountid, 278 transfer->addTransfer ( firstaccountid, account->getParentAccountID ( firstaccountid ), secondaccountid, account->getParentAccountID ( secondaccountid ), defaultday, defaultmonth, defaultyear, td->amount->text().toFloat(), cleared );
278 account->getParentAccountID ( secondaccountid ), defaultday, defaultmonth, defaultyear, td->amount->text().toFloat(), cleared );
279 279
280 // update account balances of both accounts and parents if necessary 280 // update account balances of both accounts and parents if necessary
281 account->updateAccountBalance ( firstaccountid ); 281 account->updateAccountBalance ( firstaccountid );
@@ -347,6 +347,11 @@ void AccountDisplay::saveColumnSize ( int column, int oldsize, int newsize )
347 347
348 } 348 }
349 349
350void AccountDisplay::saveSortingPreference ( int column )
351 {
352 preferences->changeSortingPreference ( 1, column );
353 }
354
350int AccountDisplay::getIDColumn () 355int AccountDisplay::getIDColumn ()
351 { 356 {
352 int counter; 357 int counter;
diff --git a/noncore/apps/qashmoney/accountdisplay.h b/noncore/apps/qashmoney/accountdisplay.h
index 37bcb34..6d67b9b 100755
--- a/noncore/apps/qashmoney/accountdisplay.h
+++ b/noncore/apps/qashmoney/accountdisplay.h
@@ -42,6 +42,7 @@ class AccountDisplay : public QWidget
42 void saveColumnSize ( int column, int oldsize, int newsize ); 42 void saveColumnSize ( int column, int oldsize, int newsize );
43 void setAccountExpanded ( QListViewItem *item ); 43 void setAccountExpanded ( QListViewItem *item );
44 void setAccountCollapsed ( QListViewItem *item ); 44 void setAccountCollapsed ( QListViewItem *item );
45 void saveSortingPreference ( int column );
45 46
46 private: 47 private:
47 int type, firstaccountid, secondaccountid, cleared; 48 int type, firstaccountid, secondaccountid, cleared;
diff --git a/noncore/apps/qashmoney/budget.cpp b/noncore/apps/qashmoney/budget.cpp
index 42f7eca..9f74078 100755
--- a/noncore/apps/qashmoney/budget.cpp
+++ b/noncore/apps/qashmoney/budget.cpp
@@ -1,6 +1,7 @@
1#include "budget.h" 1#include "budget.h"
2#include "transaction.h" 2#include "transaction.h"
3#include <stdlib.h> 3#include <stdlib.h>
4#include <iostream.h>
4 5
5extern Transaction *transaction; 6extern Transaction *transaction;
6 7
@@ -62,7 +63,7 @@ QStringList* Budget::getBudgetNames ()
62 QStringList *names = new QStringList (); 63 QStringList *names = new QStringList ();
63 char **results; 64 char **results;
64 int rows, counter; 65 int rows, counter;
65 sqlite_get_table ( bdb, "select name from budgets order by name asc;", &results, &rows, NULL, NULL ); 66 sqlite_get_table ( bdb, "select name from budgets;", &results, &rows, NULL, NULL );
66 names->append ( "None" ); 67 names->append ( "None" );
67 for ( counter = 0; counter < rows; counter++ ) 68 for ( counter = 0; counter < rows; counter++ )
68 names->append ( results [ counter+1 ] ); 69 names->append ( results [ counter+1 ] );
diff --git a/noncore/apps/qashmoney/budgetdisplay.cpp b/noncore/apps/qashmoney/budgetdisplay.cpp
index 09f62b2..afc6a2d 100755
--- a/noncore/apps/qashmoney/budgetdisplay.cpp
+++ b/noncore/apps/qashmoney/budgetdisplay.cpp
@@ -82,6 +82,13 @@ BudgetDisplay::BudgetDisplay ( QWidget *parent ) : QWidget ( parent )
82 82
83 listview->header()->setTracking ( FALSE ); 83 listview->header()->setTracking ( FALSE );
84 connect ( listview->header(), SIGNAL ( sizeChange ( int, int, int ) ), this, SLOT ( saveColumnSize ( int, int, int ) ) ); 84 connect ( listview->header(), SIGNAL ( sizeChange ( int, int, int ) ), this, SLOT ( saveColumnSize ( int, int, int ) ) );
85 connect ( listview->header(), SIGNAL ( clicked ( int ) ), this, SLOT ( saveSortingPreference ( int ) ) );
86
87 // pull the column sorting preference from the preferences table, and configure the listview accordingly
88 int column = 0;
89 int direction = 0;
90 preferences->getSortingPreference ( 3, &column, &direction );
91 listview->setSorting ( column, direction );
85 92
86 displayBudgetNames(); 93 displayBudgetNames();
87 94
@@ -118,6 +125,11 @@ void BudgetDisplay::saveColumnSize ( int column, int oldsize, int newsize )
118 } 125 }
119 } 126 }
120 127
128void BudgetDisplay::saveSortingPreference ( int column )
129 {
130 preferences->changeSortingPreference ( 3, column );
131 }
132
121int BudgetDisplay::getIDColumn () 133int BudgetDisplay::getIDColumn ()
122 { 134 {
123 int counter; 135 int counter;
diff --git a/noncore/apps/qashmoney/budgetdisplay.h b/noncore/apps/qashmoney/budgetdisplay.h
index 25e952a..3976ce1 100755
--- a/noncore/apps/qashmoney/budgetdisplay.h
+++ b/noncore/apps/qashmoney/budgetdisplay.h
@@ -69,6 +69,7 @@ class BudgetDisplay : public QWidget
69 void editLineItem (); 69 void editLineItem ();
70 void constructBudgetWindow (); 70 void constructBudgetWindow ();
71 void constructLineItemWindow (); 71 void constructLineItemWindow ();
72 void saveSortingPreference ( int column );
72 73
73 private: 74 private:
74 QStringList *names; 75 QStringList *names;
diff --git a/noncore/apps/qashmoney/install/CONTROL/opie-qashmoney.control b/noncore/apps/qashmoney/install/CONTROL/opie-qashmoney.control
index b00e3b1..ec65c0e 100755
--- a/noncore/apps/qashmoney/install/CONTROL/opie-qashmoney.control
+++ b/noncore/apps/qashmoney/install/CONTROL/opie-qashmoney.control
@@ -1,7 +1,8 @@
1Package: qashmoney 1Package: qashmoney
2Files: bin/qashmoney pics/qashmony/* pics/qashmony/flags/* apps/Applications/qashmoney.desktop
2Priority: optional 3Priority: optional
3Version: 0.75 4Version: 0.76
4Architecture: arm 5Architecture: arm
5Maintainer: Allen Forsythe qashmoneyman@attbi.com 6Maintainer: Allen Forsythe allen@qashmoney.org
6Section: Applications 7Section: Applications
7Description: QashMoney provides an intuitive and fast way to keep track of your accounts and budgets. 8Description: QashMoney provides an intuitive and fast way to keep track of your accounts and budgets.
diff --git a/noncore/apps/qashmoney/preferences.cpp b/noncore/apps/qashmoney/preferences.cpp
index 9bf64dd..880807a 100755
--- a/noncore/apps/qashmoney/preferences.cpp
+++ b/noncore/apps/qashmoney/preferences.cpp
@@ -150,6 +150,31 @@ void Preferences::initializeColumnPreferences ()
150 sqlite_exec ( db, "insert into columns values ( 'budgetactual', 50, 0, 0, 0, NULL );", 0, 0, 0 ); 150 sqlite_exec ( db, "insert into columns values ( 'budgetactual', 50, 0, 0, 0, NULL );", 0, 0, 0 );
151 } 151 }
152 152
153void Preferences::initializeSortingPreferences ()
154 {
155 int rows = 0;
156 int columns = 0;
157 char **results;
158
159 if ( sqlite_get_table ( db, "select count() from sorting;", 0, 0, 0, 0 ) != 0 )
160 sqlite_exec ( db, "create table sorting ( listbox, column, direction, id integer primary key );", 0, 0, 0 );
161
162 // initialize account listbox sorting. Set direction = 1 here so ascending sort is default.
163 sqlite_get_table ( db, "select column, direction from sorting where id = 1;", &results, &rows, &columns, 0 );
164 if ( rows == 0 )
165 sqlite_exec ( db, "insert into sorting values ( 'accounts', 0, 1, NULL );", 0, 0, 0 );
166
167 // initialize transaction listbox sorting
168 sqlite_get_table ( db, "select column, direction from sorting where id = 2;", &results, &rows, &columns, 0);
169 if ( rows == 0 )
170 sqlite_exec ( db, "insert into sorting values ( 'transactions', 0, 1, NULL );", 0, 0, 0 );
171
172 // initialize budgets listbox sorting
173 sqlite_get_table ( db, "select column, direction from sorting where id = 3;", & results, &rows, &columns, 0 );
174 if ( rows == 0 )
175 sqlite_exec ( db, "insert into sorting values ( 'budgets', 0, 1, NULL );", 0, 0, 0 );
176 }
177
153void Preferences::changeColumnPreference ( int id, int width ) 178void Preferences::changeColumnPreference ( int id, int width )
154 { 179 {
155 sqlite_exec_printf ( db, "update columns set width = %i where id = %i;", 0, 0, 0, width, id ); 180 sqlite_exec_printf ( db, "update columns set width = %i where id = %i;", 0, 0, 0, width, id );
@@ -162,6 +187,31 @@ int Preferences::getColumnPreference ( int id )
162 return atoi ( results [ 1 ] ); 187 return atoi ( results [ 1 ] );
163 } 188 }
164 189
190void Preferences::changeSortingPreference ( int id, int column )
191 {
192 int pColumn = 0; // column setting coming from the prefs object
193 int pDirection = 0; // direction setting coming from the prefs object
194
195 // because there appears to be no way to query the QT header object directly for it's current sort settings, we have
196 // to maintain track of them ourselves. So start by pulling the current saved setting for this view.
197 getSortingPreference ( id, &pColumn, &pDirection );
198
199 // if the current saved column == the new column, then the user wants to toggle the sort order.
200 // otherwise we behave like QT does by default, which is to select the new column and default to an ascending sort.
201 if ( column == pColumn )
202 sqlite_exec_printf ( db, "update sorting set direction = %i where id = %i;", 0, 0, 0, !pDirection, id );
203 else
204 sqlite_exec_printf ( db, "update sorting set column = %i, direction = 1 where id = %i;", 0, 0, 0, column, id );
205 }
206
207void Preferences::getSortingPreference ( int id, int *column, int *direction )
208 {
209 char **results;
210 sqlite_get_table_printf ( db, "select column, direction from sorting where id = %i;", &results, NULL, NULL, NULL, id );
211 *column = atoi ( results [ 2 ] );
212 *direction = atoi ( results [ 3 ] );
213 }
214
165int Preferences::getPreference ( int id ) 215int Preferences::getPreference ( int id )
166 { 216 {
167 char **results; 217 char **results;
diff --git a/noncore/apps/qashmoney/preferences.h b/noncore/apps/qashmoney/preferences.h
index 4a3e058..10ec6e9 100755
--- a/noncore/apps/qashmoney/preferences.h
+++ b/noncore/apps/qashmoney/preferences.h
@@ -12,10 +12,12 @@ class Preferences
12 12
13 void addPreferences (); 13 void addPreferences ();
14 void initializeColumnPreferences (); 14 void initializeColumnPreferences ();
15 void initializeSortingPreferences ();
15 16
16 // Returns a preference value for the given preferences ID 17 // Returns a preference value for the given preferences ID
17 int getPreference ( int ); 18 int getPreference ( int );
18 int getColumnPreference ( int id ); 19 int getColumnPreference ( int id );
20 void getSortingPreference ( int id, int *column, int *direction );
19 21
20 // Convenience for getting date separator with one function 22 // Convenience for getting date separator with one function
21 // call. Takes the preference id as its argument 23 // call. Takes the preference id as its argument
@@ -24,6 +26,7 @@ class Preferences
24 // Changes a preference for the given ID 26 // Changes a preference for the given ID
25 void changePreference ( int , int ); 27 void changePreference ( int , int );
26 void changeColumnPreference ( int id, int width ); 28 void changeColumnPreference ( int id, int width );
29 void changeSortingPreference ( int id, int column );
27 30
28 // The primary database that stores all our data 31 // The primary database that stores all our data
29 sqlite *db; 32 sqlite *db;
diff --git a/noncore/apps/qashmoney/qashmoney.cpp b/noncore/apps/qashmoney/qashmoney.cpp
index 83eea01..20e8d32 100755
--- a/noncore/apps/qashmoney/qashmoney.cpp
+++ b/noncore/apps/qashmoney/qashmoney.cpp
@@ -16,6 +16,7 @@ QashMoney::QashMoney () : QWidget ()
16 { 16 {
17 preferences->addPreferences(); 17 preferences->addPreferences();
18 preferences->initializeColumnPreferences (); 18 preferences->initializeColumnPreferences ();
19 preferences->initializeSortingPreferences ();
19 20
20 // set the text in the upper part of the frame 21 // set the text in the upper part of the frame
21 setCaption ( tr ( "QashMoney" ) ); 22 setCaption ( tr ( "QashMoney" ) );
@@ -153,7 +154,7 @@ void QashMoney::changeTabDisplay ()
153 transaction->displayTransactions ( transactiondisplay->listview, accountid, children, displaytext, newdate ); 154 transaction->displayTransactions ( transactiondisplay->listview, accountid, children, displaytext, newdate );
154 155
155 // display transfers 156 // display transfers
156 transfer->displayTransfers ( transactiondisplay->listview, accountid, children ); 157 transfer->displayTransfers ( transactiondisplay->listview, accountid, children, newdate );
157 158
158 // open a new preferences object and resize the transaction display columns 159 // open a new preferences object and resize the transaction display columns
159 // each column will have a different size based on whether we are looking at a child 160 // each column will have a different size based on whether we are looking at a child
@@ -179,6 +180,12 @@ void QashMoney::changeTabDisplay ()
179 transactiondisplay->listview->setColumnWidthMode ( 4, QListView::Manual ); 180 transactiondisplay->listview->setColumnWidthMode ( 4, QListView::Manual );
180 } 181 }
181 182
183 // pull the column sorting preference from the preferences table, and configure the listview accordingly
184 int column = 0;
185 int direction = 0;
186 preferences->getSortingPreference ( 2, &column, &direction );
187 transactiondisplay->listview->setSorting ( column, direction );
188
182 // show the window 189 // show the window
183 transactiondisplay->show(); 190 transactiondisplay->show();
184 // hide the account display and define accountid 191 // hide the account display and define accountid
@@ -197,6 +204,12 @@ void QashMoney::changeTabDisplay ()
197 accountdisplay->listview->setColumnWidth ( 0, preferences->getColumnPreference ( 1 ) ); 204 accountdisplay->listview->setColumnWidth ( 0, preferences->getColumnPreference ( 1 ) );
198 accountdisplay->listview->setColumnWidth ( 1, preferences->getColumnPreference ( 2 ) ); 205 accountdisplay->listview->setColumnWidth ( 1, preferences->getColumnPreference ( 2 ) );
199 206
207 // set sorting preference on account display columns
208 int column = 0;
209 int direction = 0;
210 preferences->getSortingPreference ( 1, &column, &direction );
211 accountdisplay->listview->setSorting ( column, direction );
212
200 // display the accounts 213 // display the accounts
201 if ( account->getNumberOfAccounts() != 0 ) 214 if ( account->getNumberOfAccounts() != 0 )
202 account->displayAccounts ( accountdisplay->listview ); 215 account->displayAccounts ( accountdisplay->listview );
@@ -262,7 +275,7 @@ void QashMoney::displayDatePreferencesDialog ()
262 transaction->displayTransactions ( transactiondisplay->listview, accountid, children, displaytext, newdate ); 275 transaction->displayTransactions ( transactiondisplay->listview, accountid, children, displaytext, newdate );
263 276
264 if ( transfer->getNumberOfTransfers() != 0 ) 277 if ( transfer->getNumberOfTransfers() != 0 )
265 transfer->displayTransfers ( transactiondisplay->listview, accountid, children ); 278 transfer->displayTransfers ( transactiondisplay->listview, accountid, children, newdate );
266 } 279 }
267 else if ( accountdisplay->isVisible() ) 280 else if ( accountdisplay->isVisible() )
268 { 281 {
@@ -300,7 +313,7 @@ void QashMoney::displayTransactionPreferencesDialog ()
300 transaction->displayTransactions ( transactiondisplay->listview, accountid, children, displaytext, newdate ); 313 transaction->displayTransactions ( transactiondisplay->listview, accountid, children, displaytext, newdate );
301 314
302 if ( transfer->getNumberOfTransfers() != 0 ) 315 if ( transfer->getNumberOfTransfers() != 0 )
303 transfer->displayTransfers ( transactiondisplay->listview, accountid, children ); 316 transfer->displayTransfers ( transactiondisplay->listview, accountid, children, newdate );
304 } 317 }
305 else 318 else
306 { 319 {
@@ -385,6 +398,6 @@ void QashMoney::setTransactionDisplayDate ()
385 } 398 }
386 } 399 }
387 else 400 else
388 newdate = QDate ( 1, 1, 1000 ); 401 newdate = QDate ( 1900, 1, 1 );
389 } 402 }
390 403
diff --git a/noncore/apps/qashmoney/transaction.cpp b/noncore/apps/qashmoney/transaction.cpp
index 5ecc7ed..a3bd9e7 100755
--- a/noncore/apps/qashmoney/transaction.cpp
+++ b/noncore/apps/qashmoney/transaction.cpp
@@ -155,36 +155,112 @@ int Transaction::getYear ( int id )
155 return yearstring.toInt(); 155 return yearstring.toInt();
156 } 156 }
157 157
158void Transaction::displayTransactions ( QListView *listview, int id, bool children, const char *limit, QDate displaydate ) 158char ** Transaction::selectAllTransactions ( QDate fromdate, bool children, const char *limit, int id )
159 { 159 {
160 // initialize variables
161 char **results;
160 int showcleared = preferences->getPreference ( 3 ); 162 int showcleared = preferences->getPreference ( 3 );
161 int year = ( displaydate.year() ) - 1; 163 QDate today = QDate::currentDate();
164 int fromyear = fromdate.year();
165 int toyear = today.year();
166 int frommonth = fromdate.month();
167 int tomonth = today.month();
168 int fromday = fromdate.day();
169
170 // construct the first part of the string
171 QString query = "select day, month, year, payee, amount, transid, accountid from transactions where";
172
173 if ( frommonth == tomonth && fromyear == toyear ) // our dates cross neither a month nor a year
174 {
175 query.append ( " year = " );
176 query.append ( QString::number ( toyear ) );
177 query.append ( " and month = " );
178 query.append ( QString::number ( tomonth ) );
179 query.append ( " and day >= " );
180 query.append ( QString::number ( fromday ) );
181 query.append ( " and" );
182 }
183 else if ( frommonth != tomonth && fromyear == toyear ) // our dates cross a month within the same year
184 {
185 query.append ( " year = " );
186 query.append ( QString::number ( toyear ) );
187 query.append ( " and ( ( month <= " );
188 query.append ( QString::number ( tomonth ) );
189 query.append ( " and month > " );
190 query.append ( QString::number ( frommonth ) );
191 query.append ( " ) or ( month = " );
192 query.append ( QString::number ( frommonth ) );
193 query.append ( " and day >= " );
194 query.append ( QString::number ( fromday ) );
195 query.append ( " ) ) and " );
196 }
197 else if ( fromyear != toyear && fromyear != 1900 ) // here we are showing transactions from an entire year
198 {
199 // divide this taks into two parts - get the transactions from the prior and then the current year
200 // current year part
201 int tmpfrommonth = 1; // set temporary from months and days to Jan. 1
202 int tmpfromday = 1;
203 query.append ( " ( year >= " );
204 query.append ( QString::number ( fromyear ) );
205 query.append ( " and ( month <= " );
206 query.append ( QString::number ( tomonth ) );
207 query.append ( " and month > " );
208 query.append ( QString::number ( tmpfrommonth ) );
209 query.append ( " ) or ( month = " );
210 query.append ( QString::number ( tmpfrommonth ) );
211 query.append ( " and day >= " );
212 query.append ( QString::number ( tmpfromday ) );
213 query.append ( " ) ) or" );
214
215 // prior year part
216 int tmptomonth = 12;
217 query.append ( " ( year = " );
218 query.append ( QString::number ( fromyear ) );
219 query.append ( " and ( ( month <= " );
220 query.append ( QString::number ( tmptomonth ) );
221 query.append ( " and month > " );
222 query.append ( QString::number ( frommonth ) );
223 query.append ( " ) or ( month = " );
224 query.append ( QString::number ( frommonth ) );
225 query.append ( " and day >= " );
226 query.append ( QString::number ( fromday ) );
227 query.append ( " ) ) ) and " );
228 }
162 229
163 // select the transactions to display
164 // two different statements are used based on
165 // whether we are showing cleared transactions
166 char **results;
167 int rows, columns;
168 if ( showcleared == 0 )
169 {
170 if ( account->getParentAccountID ( id ) == -1 && children == TRUE ) 230 if ( account->getParentAccountID ( id ) == -1 && children == TRUE )
171 sqlite_get_table_printf ( tdb, "select day, month, year, payee, amount, transid, accountid from transactions where cleared = 0 and year >= %i parentid = %i and payee like '%q';", &results, &rows, &columns, NULL, year, id, limit ); 231 query.append ( " parentid = %i and payee like '%q';" );
172 else 232 else
173 sqlite_get_table_printf ( tdb, "select day, month, year, payee, amount, transid, accountid from transactions where cleared = 0 year >= %i accountid = %i and payee like '%q';", &results, &rows, &columns, NULL, year, id, limit ); 233 query.append ( " accountid = %i and payee like '%q';" );
234
235 sqlite_get_table_printf ( tdb, query, &results, &rows, &columns, NULL, id, limit );
236 return results;
174 } 237 }
175 else 238
239char ** Transaction::selectNonClearedTransactions ( QDate fromdate, bool children, const char *limit, int id )
176 { 240 {
241 char **results;
177 if ( account->getParentAccountID ( id ) == -1 && children == TRUE ) 242 if ( account->getParentAccountID ( id ) == -1 && children == TRUE )
178 sqlite_get_table_printf ( tdb, "select day, month, year, payee, amount, transid, accountid from transactions where year >= %i and parentid = %i and payee like '%q';", &results, &rows, &columns, NULL, year, id, limit ); 243 sqlite_get_table_printf ( tdb, "select day, month, year, payee, amount, transid, accountid from transactions where cleared = 0 and parentid = %i and payee like '%q';", &results, &rows, &columns, NULL, id, limit );
179 else 244 else
180 sqlite_get_table_printf ( tdb, "select day, month, year, payee, amount, transid, accountid from transactions where accountid = %i and payee like '%q';", &results, &rows, &columns, NULL, id, limit ); 245 sqlite_get_table_printf ( tdb, "select day, month, year, payee, amount, transid, accountid from transactions where cleared = 0 and accountid = %i and payee like '%q';", &results, &rows, &columns, NULL, id, limit );
246 return results;
181 } 247 }
182 248
249void Transaction::displayTransactions ( QListView *listview, int id, bool children, const char *limit, QDate displaydate )
250 {
251 int showcleared = preferences->getPreference ( 3 );
252
253 char **results;
254 if ( showcleared == 0 )
255 results = selectNonClearedTransactions ( displaydate, children, limit, id );
256 else
257 results = selectAllTransactions ( displaydate, children, limit, id );
258
183 // iterate through the result list and display each item 259 // iterate through the result list and display each item
184 int counter = 7; 260 int counter = 7;
185 while ( counter < ( ( rows + 1 ) * columns ) ) 261 while ( counter < ( ( rows + 1 ) * columns ) )
186 { 262 {
187 QDate displaydate ( atoi ( results [ counter + 2 ] ), atoi ( results [ counter + 1 ] ), atoi ( results [ counter ] ) ); 263 //QDate testdate ( atoi ( results [ counter + 2 ] ), atoi ( results [ counter + 1 ] ), atoi ( results [ counter ] ) );
188 QString date = preferences->getDate ( atoi ( results [ counter + 2 ] ), atoi ( results [ counter + 1 ] ), atoi ( results [ counter ] ) ); 264 QString date = preferences->getDate ( atoi ( results [ counter + 2 ] ), atoi ( results [ counter + 1 ] ), atoi ( results [ counter ] ) );
189 265
190 // construct transaction name, amount, id 266 // construct transaction name, amount, id
diff --git a/noncore/apps/qashmoney/transaction.h b/noncore/apps/qashmoney/transaction.h
index 7297bb1..5871555 100755
--- a/noncore/apps/qashmoney/transaction.h
+++ b/noncore/apps/qashmoney/transaction.h
@@ -45,6 +45,8 @@ class Transaction
45 public slots: 45 public slots:
46 46
47 void displayTransactions ( QListView *, int, bool, const char *, QDate ); 47 void displayTransactions ( QListView *, int, bool, const char *, QDate );
48 char ** selectAllTransactions ( QDate fromdate, bool children, const char *limit, int id );
49 char ** selectNonClearedTransactions ( QDate fromdate, bool children, const char *limit, int id );
48 QString getPayee ( int ); 50 QString getPayee ( int );
49 QString getTransactionDescription ( int ); 51 QString getTransactionDescription ( int );
50 QString getNumber ( int ); 52 QString getNumber ( int );
@@ -62,6 +64,7 @@ class Transaction
62 private: 64 private:
63 65
64 sqlite *tdb; 66 sqlite *tdb;
67 int rows, columns;
65 }; 68 };
66 69
67#endif 70#endif
diff --git a/noncore/apps/qashmoney/transactiondisplay.cpp b/noncore/apps/qashmoney/transactiondisplay.cpp
index ae6223d..1839cd2 100755
--- a/noncore/apps/qashmoney/transactiondisplay.cpp
+++ b/noncore/apps/qashmoney/transactiondisplay.cpp
@@ -67,6 +67,7 @@ TransactionDisplay::TransactionDisplay ( QWidget* parent ) : QWidget ( parent )
67 listview->setShowSortIndicator ( TRUE ); 67 listview->setShowSortIndicator ( TRUE );
68 listview->header()->setTracking ( FALSE ); 68 listview->header()->setTracking ( FALSE );
69 connect ( listview->header(), SIGNAL ( sizeChange ( int, int, int ) ), this, SLOT ( saveColumnSize ( int, int, int ) ) ); 69 connect ( listview->header(), SIGNAL ( sizeChange ( int, int, int ) ), this, SLOT ( saveColumnSize ( int, int, int ) ) );
70 connect ( listview->header(), SIGNAL ( clicked ( int ) ), this, SLOT ( saveSortingPreference ( int ) ) );
70 71
71 layout = new QVBoxLayout ( this, 2, 2 ); 72 layout = new QVBoxLayout ( this, 2, 2 );
72 layout->addWidget ( firstline ); 73 layout->addWidget ( firstline );
@@ -133,7 +134,7 @@ void TransactionDisplay::addTransaction ()
133 134
134 // redisplay transfers 135 // redisplay transfers
135 if ( transfer->getNumberOfTransfers() > 0 ) 136 if ( transfer->getNumberOfTransfers() > 0 )
136 transfer->displayTransfers ( listview, accountid, children ); 137 transfer->displayTransfers ( listview, accountid, children, displaydate );
137 138
138 // add the transaction amount to the account it's associated with 139 // add the transaction amount to the account it's associated with
139 // and update its parent account balance if necessary 140 // and update its parent account balance if necessary
@@ -372,7 +373,7 @@ void TransactionDisplay::updateAndDisplay ( int id )
372 373
373 // redisplay transfers 374 // redisplay transfers
374 if ( transfer->getNumberOfTransfers() > 0 ) 375 if ( transfer->getNumberOfTransfers() > 0 )
375 transfer->displayTransfers ( listview, accountid, children ); 376 transfer->displayTransfers ( listview, accountid, children, displaydate );
376 377
377 // add the transaction amount to the account it's associated with 378 // add the transaction amount to the account it's associated with
378 // and update its parent account balance if necessary 379 // and update its parent account balance if necessary
@@ -416,7 +417,7 @@ void TransactionDisplay::deleteTransaction ()
416 transaction->displayTransactions ( listview, accountid, children, displaytext, displaydate ); 417 transaction->displayTransactions ( listview, accountid, children, displaytext, displaydate );
417 418
418 if ( transfer->getNumberOfTransfers() > 0 ) 419 if ( transfer->getNumberOfTransfers() > 0 )
419 transfer->displayTransfers ( listview, accountid, children ); 420 transfer->displayTransfers ( listview, accountid, children, displaydate );
420 421
421 // if we are viewing different child accounts through the parent account 422 // if we are viewing different child accounts through the parent account
422 // ie if there are five columns and the parentid is -1 423 // ie if there are five columns and the parentid is -1
@@ -448,7 +449,7 @@ void TransactionDisplay::deleteTransaction ()
448 transaction->displayTransactions ( listview, accountid, children, displaytext, displaydate ); 449 transaction->displayTransactions ( listview, accountid, children, displaytext, displaydate );
449 450
450 if ( transfer->getNumberOfTransfers() > 0 ) 451 if ( transfer->getNumberOfTransfers() > 0 )
451 transfer->displayTransfers ( listview, accountid, children ); 452 transfer->displayTransfers ( listview, accountid, children, displaydate );
452 453
453 // for the from account 454 // for the from account
454 account->updateAccountBalance ( fromaccountid ); 455 account->updateAccountBalance ( fromaccountid );
@@ -501,7 +502,7 @@ void TransactionDisplay::toggleTransaction ()
501 transaction->displayTransactions ( listview, accountid, children, displaytext, displaydate ); 502 transaction->displayTransactions ( listview, accountid, children, displaytext, displaydate );
502 503
503 if ( transfer->getNumberOfTransfers() != 0 ) 504 if ( transfer->getNumberOfTransfers() != 0 )
504 transfer->displayTransfers ( listview, accountid, children ); 505 transfer->displayTransfers ( listview, accountid, children, displaydate );
505 } 506 }
506 507
507void TransactionDisplay::redisplayAccountBalance () 508void TransactionDisplay::redisplayAccountBalance ()
@@ -551,6 +552,11 @@ void TransactionDisplay::saveColumnSize ( int column, int oldsize, int newsize )
551 preferences->changeColumnPreference ( 9, newsize ); 552 preferences->changeColumnPreference ( 9, newsize );
552 } 553 }
553 554
555void TransactionDisplay::saveSortingPreference ( int column )
556 {
557 preferences->changeSortingPreference ( 2, column );
558 }
559
554void TransactionDisplay::limitDisplay ( const QString &text ) 560void TransactionDisplay::limitDisplay ( const QString &text )
555 { 561 {
556 listview->clear (); 562 listview->clear ();
@@ -561,7 +567,7 @@ void TransactionDisplay::limitDisplay ( const QString &text )
561 transaction->displayTransactions ( listview, accountid, children, displaytext, displaydate ); 567 transaction->displayTransactions ( listview, accountid, children, displaytext, displaydate );
562 568
563 if ( displaytext.length() == 1 || preferences->getPreference ( 6 ) == 1 ) 569 if ( displaytext.length() == 1 || preferences->getPreference ( 6 ) == 1 )
564 transfer->displayTransfers ( listview, accountid, children ); 570 transfer->displayTransfers ( listview, accountid, children, displaydate );
565 } 571 }
566 572
567int TransactionDisplay::getIDColumn () 573int TransactionDisplay::getIDColumn ()
@@ -619,5 +625,5 @@ void TransactionDisplay::setTransactionDisplayDate ()
619 } 625 }
620 } 626 }
621 else 627 else
622 displaydate = QDate ( 1, 1, 1000 ); 628 displaydate = QDate ( 1900, 1, 1 );
623 } 629 }
diff --git a/noncore/apps/qashmoney/transactiondisplay.h b/noncore/apps/qashmoney/transactiondisplay.h
index 1746f6c..594776a 100755
--- a/noncore/apps/qashmoney/transactiondisplay.h
+++ b/noncore/apps/qashmoney/transactiondisplay.h
@@ -50,6 +50,7 @@ class TransactionDisplay : public QWidget
50 void showCalculator (); 50 void showCalculator ();
51 void showCalendar (); 51 void showCalendar ();
52 void setTransactionDisplayDate (); 52 void setTransactionDisplayDate ();
53 void saveSortingPreference ( int column );
53 54
54 private: 55 private:
55 int accountid, fromaccount, fromparent, toaccount, toparent, day, month, year, transferid; 56 int accountid, fromaccount, fromparent, toaccount, toparent, day, month, year, transferid;
diff --git a/noncore/apps/qashmoney/transfer.cpp b/noncore/apps/qashmoney/transfer.cpp
index 77cbb4e..568d584 100755
--- a/noncore/apps/qashmoney/transfer.cpp
+++ b/noncore/apps/qashmoney/transfer.cpp
@@ -65,7 +65,7 @@ int Transfer::getNumberOfTransfers ( int accountid )
65 return transfers; 65 return transfers;
66 } 66 }
67 67
68void Transfer::displayTransfers ( QListView *listview, int accountid, bool children ) 68void Transfer::displayTransfers ( QListView *listview, int accountid, bool children, QDate displaydate )
69 { 69 {
70 int showcleared = preferences->getPreference ( 3 ); 70 int showcleared = preferences->getPreference ( 3 );
71 71
@@ -100,6 +100,7 @@ void Transfer::displayTransfers ( QListView *listview, int accountid, bool child
100 QString yearstring = results [ counter + 2 ]; 100 QString yearstring = results [ counter + 2 ];
101 int year = yearstring.toInt (); 101 int year = yearstring.toInt ();
102 QString date = preferences->getDate ( year, month, day ); 102 QString date = preferences->getDate ( year, month, day );
103 QDate testdate ( year, month, day );
103 104
104 //construct the amount and id strings 105 //construct the amount and id strings
105 QString amount = results [ counter + 3 ]; 106 QString amount = results [ counter + 3 ];
@@ -112,6 +113,8 @@ void Transfer::displayTransfers ( QListView *listview, int accountid, bool child
112 113
113 QString toaccount = account->getAccountName ( atol ( results [ counter + 6 ] ) ); 114 QString toaccount = account->getAccountName ( atol ( results [ counter + 6 ] ) );
114 115
116 if ( testdate >= displaydate || showcleared == 0 )
117 {
115 // display this transfer 118 // display this transfer
116 if ( account->getParentAccountID ( accountid ) == -1 ) 119 if ( account->getParentAccountID ( accountid ) == -1 )
117 { 120 {
@@ -127,7 +130,7 @@ void Transfer::displayTransfers ( QListView *listview, int accountid, bool child
127 else 130 else
128 QListViewItem *item = new QListViewItem ( listview, date, transactionname, amount, id ); 131 QListViewItem *item = new QListViewItem ( listview, date, transactionname, amount, id );
129 } 132 }
130 133 }
131 counter = counter + 7; 134 counter = counter + 7;
132 } 135 }
133 136
@@ -163,6 +166,7 @@ void Transfer::displayTransfers ( QListView *listview, int accountid, bool child
163 QString yearstring = toresults [ counter + 2 ]; 166 QString yearstring = toresults [ counter + 2 ];
164 int year = yearstring.toInt (); 167 int year = yearstring.toInt ();
165 QString date = preferences->getDate ( year, month, day ); 168 QString date = preferences->getDate ( year, month, day );
169 QDate testdate ( year, month, day );
166 170
167 //construct the amount and id strings 171 //construct the amount and id strings
168 QString amount = toresults [ counter + 3 ]; 172 QString amount = toresults [ counter + 3 ];
@@ -176,6 +180,8 @@ void Transfer::displayTransfers ( QListView *listview, int accountid, bool child
176 180
177 QString fromaccount = account->getAccountName ( atol ( toresults [ counter + 5 ] ) ); 181 QString fromaccount = account->getAccountName ( atol ( toresults [ counter + 5 ] ) );
178 182
183 if ( testdate >= displaydate || showcleared == 0 )
184 {
179 // display this transfer 185 // display this transfer
180 if ( account->getParentAccountID ( accountid ) == -1 ) 186 if ( account->getParentAccountID ( accountid ) == -1 )
181 { 187 {
@@ -191,6 +197,7 @@ void Transfer::displayTransfers ( QListView *listview, int accountid, bool child
191 else 197 else
192 QListViewItem *item = new QListViewItem ( listview, date, transactionname, amount, id ); 198 QListViewItem *item = new QListViewItem ( listview, date, transactionname, amount, id );
193 } 199 }
200 }
194 201
195 counter = counter + 7; 202 counter = counter + 7;
196 } 203 }
diff --git a/noncore/apps/qashmoney/transfer.h b/noncore/apps/qashmoney/transfer.h
index 33dedf4..e910e7c 100755
--- a/noncore/apps/qashmoney/transfer.h
+++ b/noncore/apps/qashmoney/transfer.h
@@ -4,6 +4,7 @@
4#include <qlistview.h> 4#include <qlistview.h>
5#include <qstring.h> 5#include <qstring.h>
6#include <sqlite.h> 6#include <sqlite.h>
7#include <qdatetime.h>
7 8
8#include "preferences.h" 9#include "preferences.h"
9 10
@@ -29,7 +30,7 @@ class Transfer
29 int getNumberOfTransfers (); 30 int getNumberOfTransfers ();
30 int getNumberOfTransfers ( int accountid ); 31 int getNumberOfTransfers ( int accountid );
31 32
32 void displayTransfers ( QListView *listview, int accountid, bool children ); 33 void displayTransfers ( QListView *listview, int accountid, bool children, QDate displaydate );
33 int getCleared ( int id ); 34 int getCleared ( int id );
34 void setCleared ( int id, int cleared ); 35 void setCleared ( int id, int cleared );
35 int getFromAccountID ( int id ); 36 int getFromAccountID ( int id );
diff --git a/noncore/apps/qashmoney/transferdialog.cpp b/noncore/apps/qashmoney/transferdialog.cpp
index 7bc3eb0..f85c740 100755
--- a/noncore/apps/qashmoney/transferdialog.cpp
+++ b/noncore/apps/qashmoney/transferdialog.cpp
@@ -97,7 +97,7 @@ int TransferDialog::getMonth ()
97 97
98int TransferDialog::getYear () 98int TransferDialog::getYear ()
99 { 99 {
100 return day; 100 return year;
101 } 101 }
102 102
103void TransferDialog::showCalculator () 103void TransferDialog::showCalculator ()