summaryrefslogtreecommitdiff
path: root/noncore/apps/checkbook/checkbook.cpp
Side-by-side diff
Diffstat (limited to 'noncore/apps/checkbook/checkbook.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/checkbook/checkbook.cpp18
1 files changed, 13 insertions, 5 deletions
diff --git a/noncore/apps/checkbook/checkbook.cpp b/noncore/apps/checkbook/checkbook.cpp
index 706d970..44d3764 100644
--- a/noncore/apps/checkbook/checkbook.cpp
+++ b/noncore/apps/checkbook/checkbook.cpp
@@ -325,32 +325,34 @@ void Checkbook::loadCheckbook()
typeList->setCurrentItem(0);
}
bankEdit->setText( info->bank() );
acctNumEdit->setText( info->account() );
pinNumEdit->setText( info->pin() );
temptext.setNum( info->startingBalance(), 'f', 2 );
balanceEdit->setText( temptext );
notesEdit->setText( info->notes() );
// Load transactions
float amount;
QString stramount;
+ QString symbol = _pCfg->getCurrencySymbol();
for ( TranInfo *tran = tranList->first(); tran; tran = tranList->next() )
{
amount = tran->amount();
if ( tran->withdrawal() )
{
amount *= -1;
}
- stramount.sprintf( "%s%.2f", _pCfg->getCurrencySymbol().latin1(), amount );
+ stramount.sprintf( "%.2f", amount );
+ stramount.prepend( symbol );
( void ) new CBListItem( tran, tranTable, tran->getIdStr(), tran->datestr(false), tran->number(), tran->datestr(true), tran->desc(), stramount );
}
// set sort order
bool bOk=false;
for(int i=0; i<_cbSortType->count(); i++) {
if( _cbSortType->text(i)==info->getSortOrder() ) {
_cbSortType->setCurrentItem(i);
slotSortChanged( info->getSortOrder() );
bOk=true;
break;
}
@@ -361,29 +363,32 @@ void Checkbook::loadCheckbook()
}
// calc running balance
adjustBalance();
}
// --- adjustBalance ----------------------------------------------------------
void Checkbook::adjustBalance()
{
// update running balance in register
QString sRunning;
+ QString symbol = _pCfg->getCurrencySymbol();
float bal=info->startingBalance();
+
for(CBListItem *item=(CBListItem *)tranTable->firstChild(); item; item=(CBListItem *)item->nextSibling() ) {
TranInfo *tran=item->getTranInfo();
bal=bal + (tran->withdrawal() ? -1 : 1)*tran->amount() - tran->fee();
- sRunning.sprintf( "%s%.2f", _pCfg->getCurrencySymbol().latin1(), bal );
+ sRunning.sprintf( "%.2f", bal );
+ sRunning.prepend(symbol);
item->setText( COL_BAL, sRunning);
}
}
// --- resort -----------------------------------------------------------------
void Checkbook::resort()
{
tranTable->setSorting(_sortCol);
tranTable->sort();
tranTable->setSorting(-1);
}
@@ -473,34 +478,36 @@ void Checkbook::slotStartingBalanceChanged( const QString &newbalance )
// --- slotNewTran ------------------------------------------------------------
void Checkbook::slotNewTran()
{
TranInfo *traninfo = new TranInfo( info->getNextNumber() );
if( !_dLastNew.isNull() )
traninfo->setDate(_dLastNew);
Transaction *currtran = new Transaction( this, true, info->name(),
traninfo,
_pCfg );
+ QString symbol = _pCfg->getCurrencySymbol();
if ( QPEApplication::execDialog( currtran ) == QDialog::Accepted )
{
// Add to transaction list
info->addTransaction( traninfo );
// Add to transaction table
float amount;
QString stramount;
- amount = (traninfo->withdrawal() ? -1 : 1)*traninfo->amount();
- stramount.sprintf( "%s%.2f", _pCfg->getCurrencySymbol().latin1(), amount );
+ amount = (traninfo->withdrawal() ? -1 : 1)*traninfo->amount();
+ stramount.sprintf( "%.2f", amount );
+ stramount.prepend(symbol);
( void ) new CBListItem( traninfo, tranTable, traninfo->getIdStr(), traninfo->datestr(false),
traninfo->number(), traninfo->datestr(true), traninfo->desc(),
stramount );
resort();
adjustBalance();
// save last date
_dLastNew = traninfo->date();
// save description in list of payees, if not in there
QStringList *pLst=&_pCfg->getPayees();
if( _pCfg->getSavePayees() && pLst->contains(traninfo->desc())==0 ) {
@@ -532,25 +539,26 @@ void Checkbook::slotEditTran()
{
curritem->setText( COL_NUM, traninfo->number() );
curritem->setText( COL_SORTDATE, traninfo->datestr(false) );
curritem->setText( COL_DATE, traninfo->datestr(true) );
curritem->setText( COL_DESC, traninfo->desc() );
float amount = traninfo->amount();
if ( traninfo->withdrawal() )
{
amount *= -1;
}
QString stramount;
- stramount.sprintf( "%s%.2f", _pCfg->getCurrencySymbol().latin1(), amount );
+ stramount.sprintf( "%.2f", amount );
+ stramount.prepend( _pCfg->getCurrencySymbol() );
curritem->setText( COL_AMOUNT, stramount );
resort();
adjustBalance();
// save description in list of payees, if not in there
QStringList *pLst=&_pCfg->getPayees();
if( _pCfg->getSavePayees() && pLst->contains(traninfo->desc())==0 ) {
pLst->append( traninfo->desc() );
pLst->sort();
_pCfg->setDirty(true);
}
}