Diffstat (limited to 'noncore/apps/checkbook/checkbook.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/apps/checkbook/checkbook.cpp | 85 |
1 files changed, 72 insertions, 13 deletions
diff --git a/noncore/apps/checkbook/checkbook.cpp b/noncore/apps/checkbook/checkbook.cpp index c53e889..a42c824 100644 --- a/noncore/apps/checkbook/checkbook.cpp +++ b/noncore/apps/checkbook/checkbook.cpp @@ -51,9 +51,11 @@ #include <qwhatsthis.h> +#include <qpopupmenu.h> #define COL_ID 0 -#define COL_NUM 1 -#define COL_DATE 2 -#define COL_DESC 3 -#define COL_AMOUNT 4 -#define COL_BAL 5 +#define COL_SORTDATE 1 +#define COL_NUM 2 +#define COL_DATE 3 +#define COL_DESC 4 +#define COL_AMOUNT 5 +#define COL_BAL 6 @@ -226,2 +228,5 @@ QWidget *Checkbook::initTransactions() tranTable->setColumnWidth( COL_ID, 0); + tranTable->addColumn( tr( "SortDate" ) ); + tranTable->setColumnWidthMode( COL_SORTDATE, QListView::Manual ); + tranTable->setColumnWidth( COL_SORTDATE, 0); tranTable->addColumn( tr( "Num" ) ); @@ -239,2 +244,4 @@ QWidget *Checkbook::initTransactions() connect( tranTable, SIGNAL( rightButtonPressed( QListViewItem *, const QPoint &, int ) ), + this, SLOT( slotMenuTran(QListViewItem *, const QPoint &) ) ); + connect( tranTable, SIGNAL( doubleClicked( QListViewItem * ) ), this, SLOT( slotEditTran() ) ); @@ -338,3 +345,3 @@ void Checkbook::loadCheckbook() stramount.sprintf( "%s%.2f", _pCfg->getCurrencySymbol().latin1(), amount ); - ( void ) new CBListItem( tran, tranTable, tran->getIdStr(), tran->number(), tran->datestr(), tran->desc(), stramount ); + ( void ) new CBListItem( tran, tranTable, tran->getIdStr(), tran->datestr(false), tran->number(), tran->datestr(true), tran->desc(), stramount ); } @@ -360,2 +367,3 @@ void Checkbook::loadCheckbook() + // --- adjustBalance ---------------------------------------------------------- @@ -398,2 +406,3 @@ void Checkbook::accept() +// --- slotPasswordClicked ---------------------------------------------------- void Checkbook::slotPasswordClicked() @@ -466,2 +475,3 @@ void Checkbook::slotStartingBalanceChanged( const QString &newbalance ) +// --- slotNewTran ------------------------------------------------------------ void Checkbook::slotNewTran() @@ -472,3 +482,3 @@ void Checkbook::slotNewTran() - Transaction *currtran = new Transaction( this, info->name(), + Transaction *currtran = new Transaction( this, true, info->name(), traninfo, @@ -486,4 +496,4 @@ void Checkbook::slotNewTran() stramount.sprintf( "%s%.2f", _pCfg->getCurrencySymbol().latin1(), amount ); - ( void ) new CBListItem( traninfo, tranTable, traninfo->getIdStr(), - traninfo->number(), traninfo->datestr(), traninfo->desc(), + ( void ) new CBListItem( traninfo, tranTable, traninfo->getIdStr(), traninfo->datestr(false), + traninfo->number(), traninfo->datestr(true), traninfo->desc(), stramount ); @@ -494,2 +504,10 @@ void Checkbook::slotNewTran() _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 ) { + pLst->append( traninfo->desc() ); + pLst->sort(); + _pCfg->setDirty(true); + } } @@ -501,2 +519,4 @@ void Checkbook::slotNewTran() + +// --- slotEditTran ----------------------------------------------------------- void Checkbook::slotEditTran() @@ -509,3 +529,3 @@ void Checkbook::slotEditTran() - Transaction *currtran = new Transaction( this, info->name(), + Transaction *currtran = new Transaction( this, false, info->name(), traninfo, @@ -516,3 +536,4 @@ void Checkbook::slotEditTran() curritem->setText( COL_NUM, traninfo->number() ); - curritem->setText( COL_DATE, traninfo->datestr() ); + curritem->setText( COL_SORTDATE, traninfo->datestr(false) ); + curritem->setText( COL_DATE, traninfo->datestr(true) ); curritem->setText( COL_DESC, traninfo->desc() ); @@ -529,2 +550,10 @@ void Checkbook::slotEditTran() 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); + } } @@ -534,2 +563,30 @@ void Checkbook::slotEditTran() +// --- slotMenuTran ----------------------------------------------------------- +void Checkbook::slotMenuTran(QListViewItem *item, const QPoint &pnt) +{ + // active item? + if( !item ) + return; + + // Display menu + QPopupMenu m; + m.insertItem( QWidget::tr( "Edit" ), 1 ); + m.insertItem( QWidget::tr( "New" ), 2 ); + m.insertItem( QWidget::tr( "Delete" ), 3 ); + int r = m.exec( pnt ); + switch(r) { + case 1: + slotEditTran(); + break; + case 2: + slotNewTran(); + break; + case 3: + slotDeleteTran(); + break; + } +} + + +// --- slotDeleteTran --------------------------------------------------------- void Checkbook::slotDeleteTran() @@ -593,3 +650,3 @@ void Checkbook::drawBalanceChart() { - label = tran->datestr(); + label = tran->datestr(true); } @@ -668,2 +725,3 @@ void CBListItem::paintCell( QPainter *p, const QColorGroup &cg, int column, int +// --- CBListItem::isAltBackground -------------------------------------------- bool CBListItem::isAltBackground() @@ -725,3 +783,3 @@ void Checkbook::slotSortChanged( const QString &selc ) } else if( selc==tr("Date") ) { - _sortCol=COL_DATE; + _sortCol=COL_SORTDATE; } @@ -730 +788,2 @@ void Checkbook::slotSortChanged( const QString &selc ) } + |