summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rwxr-xr-xnoncore/apps/qashmoney/install/CONTROL/opie-qashmoney.control2
-rwxr-xr-xnoncore/apps/qashmoney/preferencedialogs.cpp13
-rwxr-xr-xnoncore/apps/qashmoney/preferences.cpp2
-rwxr-xr-xnoncore/apps/qashmoney/qashmoney.cpp42
-rwxr-xr-xnoncore/apps/qashmoney/qashmoney.h3
-rwxr-xr-xnoncore/apps/qashmoney/qmaccounts.dbbin4096 -> 6144 bytes
-rwxr-xr-xnoncore/apps/qashmoney/qmbudgets.dbbin3072 -> 4096 bytes
-rwxr-xr-xnoncore/apps/qashmoney/qmmemory.dbbin4096 -> 10240 bytes
-rwxr-xr-xnoncore/apps/qashmoney/qmpreferences.dbbin4096 -> 4096 bytes
-rwxr-xr-xnoncore/apps/qashmoney/qmtransactions.dbbin4096 -> 24576 bytes
-rwxr-xr-xnoncore/apps/qashmoney/qmtransfers.dbbin3072 -> 3072 bytes
-rwxr-xr-xnoncore/apps/qashmoney/transaction.cpp18
-rwxr-xr-xnoncore/apps/qashmoney/transaction.h3
-rwxr-xr-xnoncore/apps/qashmoney/transactiondisplay.cpp49
-rwxr-xr-xnoncore/apps/qashmoney/transactiondisplay.h3
15 files changed, 105 insertions, 30 deletions
diff --git a/noncore/apps/qashmoney/install/CONTROL/opie-qashmoney.control b/noncore/apps/qashmoney/install/CONTROL/opie-qashmoney.control
index ffd11db..b00e3b1 100755
--- a/noncore/apps/qashmoney/install/CONTROL/opie-qashmoney.control
+++ b/noncore/apps/qashmoney/install/CONTROL/opie-qashmoney.control
@@ -1,7 +1,7 @@
Package: qashmoney
Priority: optional
-Version: 0.74
+Version: 0.75
Architecture: arm
Maintainer: Allen Forsythe qashmoneyman@attbi.com
Section: Applications
Description: QashMoney provides an intuitive and fast way to keep track of your accounts and budgets.
diff --git a/noncore/apps/qashmoney/preferencedialogs.cpp b/noncore/apps/qashmoney/preferencedialogs.cpp
index 00d52c6..d7c66d3 100755
--- a/noncore/apps/qashmoney/preferencedialogs.cpp
+++ b/noncore/apps/qashmoney/preferencedialogs.cpp
@@ -75,22 +75,23 @@ TransactionPreferences::TransactionPreferences ( QWidget* parent ) : QDialog ( p
showclearedtransactions = new QCheckBox ( this );
showclearedtransactions->setText ( "Show Cleared Transactions" );
- excludetransfers = new QCheckBox ( this );
- excludetransfers->setText ( "Include Transfers In Limit View" );
-
limittransactionsbox = new QHBox ( this );
limittransactionsbox->setSpacing ( 2 );
- limittransactionslabel = new QLabel ( "Limit All Transactions To", limittransactionsbox );
+ limittransactionslabel = new QLabel ( "Show ", limittransactionsbox );
limittransactions = new QComboBox ( limittransactionsbox );
+ QLabel *limittransactionslabel2 = new QLabel ( "of cleared transactions. ", limittransactionsbox );
limittransactions->insertItem ( "14 days" );
limittransactions->insertItem ( "30 days" );
- limittransactions->insertItem ( "60 days" );
limittransactions->insertItem ( "90 days" );
limittransactions->insertItem ( "180 days" );
limittransactions->insertItem ( "365 days" );
limittransactions->insertItem ( "All" );
+ limittransactions->setCurrentItem ( preferences->getPreference ( 7 ) );
+
+ excludetransfers = new QCheckBox ( this );
+ excludetransfers->setText ( "Include Transfers In Limit View" );
if ( preferences->getPreference ( 3 ) == 1 )
showclearedtransactions->setChecked ( TRUE );
else
@@ -105,10 +106,10 @@ TransactionPreferences::TransactionPreferences ( QWidget* parent ) : QDialog ( p
connect ( defaults, SIGNAL ( released () ), this, SLOT ( setDefaultTransactionPreferences () ) );
layout = new QVBoxLayout ( this, 2, 2 );
layout->addWidget ( showclearedtransactions );
- layout->addWidget ( excludetransfers );
layout->addWidget ( limittransactionsbox );
+ layout->addWidget ( excludetransfers );
layout->insertSpacing ( 3, 5 );
layout->addWidget ( defaults );
connect ( showclearedtransactions, SIGNAL ( toggled ( bool ) ), this, SLOT ( changeShowClearedPreference ( bool ) ) );
diff --git a/noncore/apps/qashmoney/preferences.cpp b/noncore/apps/qashmoney/preferences.cpp
index 819d5cf..9bf64dd 100755
--- a/noncore/apps/qashmoney/preferences.cpp
+++ b/noncore/apps/qashmoney/preferences.cpp
@@ -59,9 +59,9 @@ void Preferences::addPreferences ()
sqlite_get_table ( db, "select preference from preferences where id = 6;", &results, &rows, &columns, 0 );
if ( rows == 0 )
sqlite_exec ( db, "insert into preferences values ( 0, 'excludetransfersfromlimit', 0, 0, 0, NULL );", 0, 0, 0 );
- // limit number of transactions to 0 = 14 days 1 = 30 days, 2 = 60 days, 3 = 90 days, 4 = 180 days, 5 = 365 days, 6 = all
+ // limit number of transactions to 0 = 14 days 1 = 30 days, 2 = 90 days, 3 = 180 days, 4 = 365 days 5 = all
rows = 0;
sqlite_get_table ( db, "select preference from preferences where id = 7;", &results, &rows, &columns, 0 );
if ( rows == 0 )
sqlite_exec ( db, "insert into preferences values ( 0, 'limittransactions', 0, 0, 0, NULL );", 0, 0, 0 );
diff --git a/noncore/apps/qashmoney/qashmoney.cpp b/noncore/apps/qashmoney/qashmoney.cpp
index 1ea358c..83eea01 100755
--- a/noncore/apps/qashmoney/qashmoney.cpp
+++ b/noncore/apps/qashmoney/qashmoney.cpp
@@ -142,14 +142,16 @@ void QashMoney::changeTabDisplay ()
// set the accountid and children variables
transactiondisplay->setChildren ( children );
transactiondisplay->setAccountID ( accountid );
+ setTransactionDisplayDate ();
+
// display transactions
transactiondisplay->listview->clear();
QString displaytext = "%";
displaytext.prepend ( transactiondisplay->limitbox->text() );
if ( transaction->getNumberOfTransactions() > 0 )
- transaction->displayTransactions ( transactiondisplay->listview, accountid, children, displaytext );
+ transaction->displayTransactions ( transactiondisplay->listview, accountid, children, displaytext, newdate );
// display transfers
transfer->displayTransfers ( transactiondisplay->listview, accountid, children );
@@ -253,10 +255,12 @@ void QashMoney::displayDatePreferencesDialog ()
// any changes to the date format
transactiondisplay->listview->clear();
QString displaytext = "%";
displaytext.prepend ( transactiondisplay->limitbox->text() );
+
+ setTransactionDisplayDate();
if ( transaction->getNumberOfTransactions() > 0 )
- transaction->displayTransactions ( transactiondisplay->listview, accountid, children, displaytext );
+ transaction->displayTransactions ( transactiondisplay->listview, accountid, children, displaytext, newdate );
if ( transfer->getNumberOfTransfers() != 0 )
transfer->displayTransfers ( transactiondisplay->listview, accountid, children );
}
@@ -289,10 +293,12 @@ void QashMoney::displayTransactionPreferencesDialog ()
// redisplay transactions incorporating any transaction preference changes
transactiondisplay->listview->clear();
QString displaytext = "%";
displaytext.prepend ( transactiondisplay->limitbox->text() );
+
+ setTransactionDisplayDate();
if ( transaction->getNumberOfTransactions() > 0 )
- transaction->displayTransactions ( transactiondisplay->listview, accountid, children, displaytext );
+ transaction->displayTransactions ( transactiondisplay->listview, accountid, children, displaytext, newdate );
if ( transfer->getNumberOfTransfers() != 0 )
transfer->displayTransfers ( transactiondisplay->listview, accountid, children );
}
@@ -351,6 +357,34 @@ void QashMoney::toggleOneTouchViewing ( bool state )
else
enableOneTouchViewing();
}
-
+void QashMoney::setTransactionDisplayDate ()
+ {
+ // determine how many days of transactions to show
+ int limittype = preferences->getPreference ( 7 );
+ if ( limittype != 5 ) // set today's date if we are not showing all transactions
+ {
+ QDate today = QDate::currentDate ();
+ switch ( limittype ) // if we are not showing all transactions
+ {
+ case 0: // viewing two weeks
+ newdate = today.addDays ( -14 );
+ break;
+ case 1: // viewing one month
+ newdate = today.addDays ( -30 );
+ break;
+ case 2: // three months
+ newdate = today.addDays ( -90 );
+ break;
+ case 3: // six months
+ newdate = today.addDays ( -180 );
+ break;
+ case 4: // one year
+ newdate = today.addDays ( -365 );
+ break;
+ }
+ }
+ else
+ newdate = QDate ( 1, 1, 1000 );
+ }
diff --git a/noncore/apps/qashmoney/qashmoney.h b/noncore/apps/qashmoney/qashmoney.h
index cf0bd42..ec2c7ec 100755
--- a/noncore/apps/qashmoney/qashmoney.h
+++ b/noncore/apps/qashmoney/qashmoney.h
@@ -4,8 +4,9 @@
#include <qpe/qpemenubar.h>
#include <qpopupmenu.h>
#include <qlayout.h>
#include <qtabwidget.h>
+#include <qdatetime.h>
#include "accountdisplay.h"
#include "transactiondisplay.h"
#include "budgetdisplay.h"
@@ -45,16 +46,18 @@ class QashMoney : public QWidget
void showTransactions ();
void enableOneTouchViewing ();
void disableOneTouchViewing ();
void toggleOneTouchViewing ( bool );
+ void setTransactionDisplayDate ();
private:
QVBoxLayout *layout;
QVBoxLayout *tabslayout;
AccountDisplay *accountdisplay;
TransactionDisplay *transactiondisplay;
BudgetDisplay *budgetdisplay;
int tabheight;
+ QDate newdate;
};
#endif
diff --git a/noncore/apps/qashmoney/qmaccounts.db b/noncore/apps/qashmoney/qmaccounts.db
index 449bcab..76db78b 100755
--- a/noncore/apps/qashmoney/qmaccounts.db
+++ b/noncore/apps/qashmoney/qmaccounts.db
Binary files differ
diff --git a/noncore/apps/qashmoney/qmbudgets.db b/noncore/apps/qashmoney/qmbudgets.db
index d798f0c..ef75719 100755
--- a/noncore/apps/qashmoney/qmbudgets.db
+++ b/noncore/apps/qashmoney/qmbudgets.db
Binary files differ
diff --git a/noncore/apps/qashmoney/qmmemory.db b/noncore/apps/qashmoney/qmmemory.db
index 5c23122..c6b7920 100755
--- a/noncore/apps/qashmoney/qmmemory.db
+++ b/noncore/apps/qashmoney/qmmemory.db
Binary files differ
diff --git a/noncore/apps/qashmoney/qmpreferences.db b/noncore/apps/qashmoney/qmpreferences.db
index a4e96f5..91596cb 100755
--- a/noncore/apps/qashmoney/qmpreferences.db
+++ b/noncore/apps/qashmoney/qmpreferences.db
Binary files differ
diff --git a/noncore/apps/qashmoney/qmtransactions.db b/noncore/apps/qashmoney/qmtransactions.db
index 9e4acc9..a5eb4f3 100755
--- a/noncore/apps/qashmoney/qmtransactions.db
+++ b/noncore/apps/qashmoney/qmtransactions.db
Binary files differ
diff --git a/noncore/apps/qashmoney/qmtransfers.db b/noncore/apps/qashmoney/qmtransfers.db
index c31df1a..3ca9f78 100755
--- a/noncore/apps/qashmoney/qmtransfers.db
+++ b/noncore/apps/qashmoney/qmtransfers.db
Binary files differ
diff --git a/noncore/apps/qashmoney/transaction.cpp b/noncore/apps/qashmoney/transaction.cpp
index af7d18f..5ecc7ed 100755
--- a/noncore/apps/qashmoney/transaction.cpp
+++ b/noncore/apps/qashmoney/transaction.cpp
@@ -7,8 +7,9 @@
#include "account.h"
#include "transactiondisplay.h"
#include <stdlib.h>
+#include <iostream.h>
extern Account *account;
extern Preferences *preferences;
@@ -153,11 +154,12 @@ int Transaction::getYear ( int id )
QString yearstring = results [ 1 ];
return yearstring.toInt();
}
-void Transaction::displayTransactions ( QListView *listview, int id, bool children, const char *limit )
+void Transaction::displayTransactions ( QListView *listview, int id, bool children, const char *limit, QDate displaydate )
{
int showcleared = preferences->getPreference ( 3 );
+ int year = ( displaydate.year() ) - 1;
// select the transactions to display
// two different statements are used based on
// whether we are showing cleared transactions
@@ -165,31 +167,25 @@ void Transaction::displayTransactions ( QListView *listview, int id, bool childr
int rows, columns;
if ( showcleared == 0 )
{
if ( account->getParentAccountID ( id ) == -1 && children == TRUE )
- 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 );
+ 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 );
else
- 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 );
+ 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 );
}
else
{
if ( account->getParentAccountID ( id ) == -1 && children == TRUE )
- sqlite_get_table_printf ( tdb, "select day, month, year, payee, amount, transid, accountid from transactions where parentid = %i and payee like '%q';", &results, &rows, &columns, NULL, id, limit );
+ 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 );
else
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 );
}
// iterate through the result list and display each item
int counter = 7;
while ( counter < ( ( rows + 1 ) * columns ) )
{
- // construct the date
- //QString daystring = results [ counter ];
- //int day = results [ counter ].toInt ();
- //QString monthstring = results [ counter + 1 ];
- //int month = results [ counter + 1 ].toInt ();
- //QString yearstring = results [ counter + 2 ];
- //int year = results [ counter + 2 ].toInt ();
+ QDate displaydate ( atoi ( results [ counter + 2 ] ), atoi ( results [ counter + 1 ] ), atoi ( results [ counter ] ) );
QString date = preferences->getDate ( atoi ( results [ counter + 2 ] ), atoi ( results [ counter + 1 ] ), atoi ( results [ counter ] ) );
// construct transaction name, amount, id
QString payee = results [ counter + 3 ];
diff --git a/noncore/apps/qashmoney/transaction.h b/noncore/apps/qashmoney/transaction.h
index 5db011c..7297bb1 100755
--- a/noncore/apps/qashmoney/transaction.h
+++ b/noncore/apps/qashmoney/transaction.h
@@ -2,8 +2,9 @@
#define TRANSACTION_H
#include <qstring.h>
#include <qlistview.h>
+#include <qdatetime.h>
#include <sqlite.h>
#include "preferences.h"
@@ -42,9 +43,9 @@ class Transaction
void clearBudgetIDs ( int );
public slots:
- void displayTransactions ( QListView *, int, bool, const char * );
+ void displayTransactions ( QListView *, int, bool, const char *, QDate );
QString getPayee ( int );
QString getTransactionDescription ( int );
QString getNumber ( int );
QString getAmount ( int );
diff --git a/noncore/apps/qashmoney/transactiondisplay.cpp b/noncore/apps/qashmoney/transactiondisplay.cpp
index 14f5641..ae6223d 100755
--- a/noncore/apps/qashmoney/transactiondisplay.cpp
+++ b/noncore/apps/qashmoney/transactiondisplay.cpp
@@ -126,10 +126,11 @@ void TransactionDisplay::addTransaction ()
// redisplay transactions
listview->clear();
QString displaytext = "%";
displaytext.prepend ( limitbox->text() );
+ setTransactionDisplayDate ();
if ( transaction->getNumberOfTransactions() > 0 )
- transaction->displayTransactions ( listview, accountid, children, displaytext );
+ transaction->displayTransactions ( listview, accountid, children, displaytext, displaydate );
// redisplay transfers
if ( transfer->getNumberOfTransfers() > 0 )
transfer->displayTransfers ( listview, accountid, children );
@@ -364,10 +365,11 @@ void TransactionDisplay::updateAndDisplay ( int id )
// redisplay transactions
listview->clear();
QString displaytext = "%";
displaytext.prepend ( limitbox->text() );
+ setTransactionDisplayDate ();
if ( transaction->getNumberOfTransactions() > 0 )
- transaction->displayTransactions ( listview, accountid, children, displaytext );
+ transaction->displayTransactions ( listview, accountid, children, displaytext, displaydate );
// redisplay transfers
if ( transfer->getNumberOfTransfers() > 0 )
transfer->displayTransfers ( listview, accountid, children );
@@ -408,10 +410,11 @@ void TransactionDisplay::deleteTransaction ()
listview->clear();
QString displaytext = "%";
displaytext.prepend ( limitbox->text() );
+ setTransactionDisplayDate ();
if ( transaction->getNumberOfTransactions() > 0 )
- transaction->displayTransactions ( listview, accountid, children, displaytext );
+ transaction->displayTransactions ( listview, accountid, children, displaytext, displaydate );
if ( transfer->getNumberOfTransfers() > 0 )
transfer->displayTransfers ( listview, accountid, children );
@@ -439,10 +442,11 @@ void TransactionDisplay::deleteTransaction ()
listview->clear();
QString displaytext = "%";
displaytext.prepend ( limitbox->text() );
+ setTransactionDisplayDate ();
if ( transaction->getNumberOfTransactions() > 0 )
- transaction->displayTransactions ( listview, accountid, children, displaytext );
+ transaction->displayTransactions ( listview, accountid, children, displaytext, displaydate );
if ( transfer->getNumberOfTransfers() > 0 )
transfer->displayTransfers ( listview, accountid, children );
@@ -491,10 +495,11 @@ void TransactionDisplay::toggleTransaction ()
listview->clear();
QString displaytext = "%";
displaytext.prepend ( limitbox->text() );
+ setTransactionDisplayDate ();
if ( transaction->getNumberOfTransactions() > 0 )
- transaction->displayTransactions ( listview, accountid, children, displaytext );
+ transaction->displayTransactions ( listview, accountid, children, displaytext, displaydate );
if ( transfer->getNumberOfTransfers() != 0 )
transfer->displayTransfers ( listview, accountid, children );
}
@@ -550,9 +555,12 @@ void TransactionDisplay::limitDisplay ( const QString &text )
{
listview->clear ();
QString displaytext = "%";
displaytext.prepend ( text );
- transaction->displayTransactions ( listview, accountid, children, displaytext );
+ setTransactionDisplayDate ();
+ if ( transaction->getNumberOfTransactions() > 0 )
+ transaction->displayTransactions ( listview, accountid, children, displaytext, displaydate );
+
if ( displaytext.length() == 1 || preferences->getPreference ( 6 ) == 1 )
transfer->displayTransfers ( listview, accountid, children );
}
@@ -583,4 +591,33 @@ void TransactionDisplay::showTransactionNotes ()
description->show();
}
}
+void TransactionDisplay::setTransactionDisplayDate ()
+ {
+ // determine how many days of transactions to show
+ int limittype = preferences->getPreference ( 7 );
+ if ( limittype != 5 ) // set today's date if we are not showing all transactions
+ {
+ QDate today = QDate::currentDate ();
+ switch ( limittype ) // if we are not showing all transactions
+ {
+ case 0: // viewing two weeks
+ displaydate = today.addDays ( -14 );
+ break;
+ case 1: // viewing one month
+ displaydate = today.addDays ( -30 );
+ break;
+ case 2: // three months
+ displaydate = today.addDays ( -90 );
+ break;
+ case 3: // six months
+ displaydate = today.addDays ( -180 );
+ break;
+ case 4: // one year
+ displaydate = today.addDays ( -365 );
+ break;
+ }
+ }
+ else
+ displaydate = QDate ( 1, 1, 1000 );
+ }
diff --git a/noncore/apps/qashmoney/transactiondisplay.h b/noncore/apps/qashmoney/transactiondisplay.h
index 79f20ba..1746f6c 100755
--- a/noncore/apps/qashmoney/transactiondisplay.h
+++ b/noncore/apps/qashmoney/transactiondisplay.h
@@ -6,8 +6,9 @@
#include <qlistview.h>
#include <qpushbutton.h>
#include <qlabel.h>
#include <qlineedit.h>
+#include <qdatetime.h>
class TransactionDisplay : public QWidget
{
Q_OBJECT
@@ -47,11 +48,13 @@ class TransactionDisplay : public QWidget
void saveColumnSize ( int column, int oldsize, int newsize );
void limitDisplay ( const QString & );
void showCalculator ();
void showCalendar ();
+ void setTransactionDisplayDate ();
private:
int accountid, fromaccount, fromparent, toaccount, toparent, day, month, year, transferid;
+ QDate displaydate;
bool children;
QBoxLayout *layout;
QHBox *firstline;
QHBox *secondline;