summaryrefslogtreecommitdiff
path: root/noncore/apps/qashmoney/qashmoney.cpp
Side-by-side diff
Diffstat (limited to 'noncore/apps/qashmoney/qashmoney.cpp') (more/less context) (ignore whitespace changes)
-rwxr-xr-xnoncore/apps/qashmoney/qashmoney.cpp42
1 files changed, 38 insertions, 4 deletions
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
@@ -134,30 +134,32 @@ void QashMoney::changeTabDisplay ()
transactiondisplay->newtransaction->setEnabled ( FALSE );
}
else //we selected a parent without children or a child
transactiondisplay->newtransaction->setEnabled ( TRUE );
// disable the transactionid column so it can't be red
transactiondisplay->listview->header()->setResizeEnabled ( FALSE, 3 );
// 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 );
// open a new preferences object and resize the transaction display columns
// each column will have a different size based on whether we are looking at a child
// account or children through a parent
if ( parentaccountid != -1 || accountdisplay->listview->selectedItem()->childCount() == 0 ) // a parent with no children or a child - three columns
{
transactiondisplay->listview->setColumnWidth ( 0, preferences->getColumnPreference ( 3 ) ); // normal transaction date width
transactiondisplay->listview->setColumnWidthMode ( 0, QListView::Manual );
transactiondisplay->listview->setColumnWidth ( 1, preferences->getColumnPreference ( 4 ) ); // normal transaction name width
@@ -245,26 +247,28 @@ void QashMoney::displayDatePreferencesDialog ()
// set children so we can let displayTransfers know if there are children for the selected account
bool children;
if ( accountdisplay->listview->selectedItem()->parent() == 0 && accountdisplay->listview->selectedItem()->childCount() != 0 )
children = TRUE;
else
children = FALSE;
// redisplay transactions if they are visible incorporating
// 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 );
}
else if ( accountdisplay->isVisible() )
{
accountdisplay->listview->clearSelection();
maintabs->setTabEnabled ( tab_2, FALSE );
}
else
budgetdisplay->updateBudgetInformation();
}
@@ -281,26 +285,28 @@ void QashMoney::displayTransactionPreferencesDialog ()
// set children so we can let displayTransfers know if there are children for the selected account
bool children;
if ( accountdisplay->listview->selectedItem()->parent() == 0 && accountdisplay->listview->selectedItem()->childCount() != 0 )
children = TRUE;
else
children = FALSE;
// 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 );
}
else
{
accountdisplay->listview->clearSelection();
maintabs->setTabEnabled ( tab_2, FALSE );
}
}
void QashMoney::displayAccountPreferencesDialog ()
@@ -343,14 +349,42 @@ void QashMoney::disableOneTouchViewing ()
{
disconnect ( accountdisplay->listview, SIGNAL ( selectionChanged () ), this, SLOT ( showTransactions () ) );
}
void QashMoney::toggleOneTouchViewing ( bool state )
{
if ( state == TRUE )
disableOneTouchViewing();
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 );
+ }