-rw-r--r-- | noncore/apps/checkbook/checkbook.cpp | 93 | ||||
-rw-r--r-- | noncore/apps/checkbook/checkbook.h | 24 | ||||
-rw-r--r-- | noncore/apps/checkbook/graph.cpp | 2 | ||||
-rw-r--r-- | noncore/apps/checkbook/graph.h | 2 | ||||
-rw-r--r-- | noncore/apps/checkbook/graphinfo.cpp | 2 | ||||
-rw-r--r-- | noncore/apps/checkbook/graphinfo.h | 2 | ||||
-rw-r--r-- | noncore/apps/checkbook/main.cpp | 2 | ||||
-rw-r--r-- | noncore/apps/checkbook/mainwindow.cpp | 2 | ||||
-rw-r--r-- | noncore/apps/checkbook/mainwindow.h | 2 | ||||
-rw-r--r-- | noncore/apps/checkbook/opie-checkbook.control | 2 | ||||
-rw-r--r-- | noncore/apps/checkbook/traninfo.cpp | 4 | ||||
-rw-r--r-- | noncore/apps/checkbook/traninfo.h | 2 | ||||
-rw-r--r-- | noncore/apps/checkbook/transaction.cpp | 2 | ||||
-rw-r--r-- | noncore/apps/checkbook/transaction.h | 2 |
14 files changed, 114 insertions, 29 deletions
diff --git a/noncore/apps/checkbook/checkbook.cpp b/noncore/apps/checkbook/checkbook.cpp index ab25516..09b0b46 100644 --- a/noncore/apps/checkbook/checkbook.cpp +++ b/noncore/apps/checkbook/checkbook.cpp @@ -3,3 +3,3 @@ =. - .=l. Copyright (c) 2002 Dan Williams <williamsdr@acm.org> + .=l. Copyright (c) 2002 Dan Williams <drw@handhelds.org> .>+-= @@ -41,2 +41,3 @@ #include <qfile.h> +#include <qfontmetrics.h> #include <qlabel.h> @@ -44,3 +45,2 @@ #include <qlineedit.h> -#include <qlistview.h> #include <qmultilineedit.h> @@ -203,4 +203,5 @@ QWidget *Checkbook::initTransactions() QWhatsThis::add( tranTable, tr( "This is a listing of all transactions entered for this checkbook.\n\nTo sort entries by a specific field, click on the column name." ) ); - tranTable->addColumn( tr( "ID" ) ); + tranTable->addColumn( tr( "Num" ) ); tranTable->addColumn( tr( "Date" ) ); + //tranTable->addColumn( tr( "Cleared" ) ); tranTable->addColumn( tr( "Description" ) ); @@ -209,2 +210,3 @@ QWidget *Checkbook::initTransactions() tranTable->setAllColumnsShowFocus( TRUE ); + tranTable->setSorting( 1 ); layout->addMultiCellWidget( tranTable, 1, 1, 0, 2 ); @@ -316,4 +318,3 @@ void Checkbook::loadCheckbook() // Add to transaction table - ( void ) new QListViewItem( tranTable, QString::number( i ), tran->datestr(), - trandesc, stramount ); + ( void ) new CBListItem( tranTable, tran->number(), tran->datestr(), trandesc, stramount ); } @@ -336,7 +337,10 @@ void Checkbook::adjustBalance( float amount ) -TranInfo *Checkbook::findTranByID( int id ) +TranInfo *Checkbook::findTran( const QString &checknum, const QString &date, const QString &desc ) { TranInfo *traninfo = transactions.first(); - while ( traninfo && traninfo->id() != id ) + while ( traninfo ) { + if ( traninfo->number() == checknum && traninfo->datestr() == date && + traninfo->desc() == desc ) + break; traninfo = transactions.next(); @@ -420,4 +424,4 @@ void Checkbook::slotNewTran() // Add to transaction table - ( void ) new QListViewItem( tranTable, QString::number( highTranNum ), - traninfo->datestr(), traninfo->desc(), stramount ); + ( void ) new CBListItem( tranTable, traninfo->number(), traninfo->datestr(), traninfo->desc(), + stramount ); @@ -441,4 +445,3 @@ void Checkbook::slotEditTran() - int tranid = curritem->text( 0 ).toInt( &ok ); - TranInfo *traninfo = findTranByID( tranid ); + TranInfo *traninfo = findTran( curritem->text( 0 ), curritem->text( 1 ), curritem->text( 2 ) ); float origamt = traninfo->amount(); @@ -484,5 +487,3 @@ void Checkbook::slotDeleteTran() - bool ok; - int tranid = curritem->text( 0 ).toInt( &ok ); - TranInfo *traninfo = findTranByID( tranid ); + TranInfo *traninfo = findTran( curritem->text( 0 ), curritem->text( 1 ), curritem->text( 2 ) ); @@ -596 +597,65 @@ void Checkbook::drawCategoryChart( bool withdrawals ) } + +CBListItem::CBListItem( QListView *parent, QString label1, QString label2, + QString label3, QString label4, QString label5, QString label6, QString label7, + QString label8 ) + : QListViewItem( parent, label1, label2, label3, label4, label5, label6, label7, label8 ) +{ + m_known = FALSE; + owner = parent; +} + +void CBListItem::paintCell( QPainter *p, const QColorGroup &cg, int column, int width, int align ) +{ + QColorGroup _cg = cg; + const QPixmap *pm = listView()->viewport()->backgroundPixmap(); + if ( pm && !pm->isNull() ) + { + _cg.setBrush( QColorGroup::Base, QBrush( cg.base(), *pm ) ); + p->setBrushOrigin( -listView()->contentsX(), -listView()->contentsY() ); + } + else if ( isAltBackground() ) + _cg.setColor(QColorGroup::Base, QColor( 200, 255, 200 ) ); + + QListViewItem::paintCell(p, _cg, column, width, align); +} + +bool CBListItem::isAltBackground() +{ + QListView *lv = static_cast<QListView *>( listView() ); + if ( lv ) + { + CBListItem *above = 0; + above = (CBListItem *)( itemAbove() ); + m_known = above ? above->m_known : true; + if ( m_known ) + { + m_odd = above ? !above->m_odd : false; + } + else + { + CBListItem *item; + bool previous = true; + if ( parent() ) + { + item = (CBListItem *)( parent() ); + if ( item ) + previous = item->m_odd; + item = (CBListItem *)( parent()->firstChild() ); + } + else + { + item = (CBListItem *)( lv->firstChild() ); + } + + while(item) + { + item->m_odd = previous = !previous; + item->m_known = true; + item = (CBListItem *)( item->nextSibling() ); + } + } + return m_odd; + } + return false; +}
\ No newline at end of file diff --git a/noncore/apps/checkbook/checkbook.h b/noncore/apps/checkbook/checkbook.h index 287788a..0260b43 100644 --- a/noncore/apps/checkbook/checkbook.h +++ b/noncore/apps/checkbook/checkbook.h @@ -3,3 +3,3 @@ =. - .=l. Copyright (c) 2002 Dan Williams <williamsdr@acm.org> + .=l. Copyright (c) 2002 Dan Williams <drw@handhelds.org> .>+-= @@ -34,2 +34,3 @@ #include <qdialog.h> +#include <qlistview.h> @@ -67,3 +68,3 @@ class Checkbook : public QDialog void adjustBalance( float ); - TranInfo *findTranByID( int ); + TranInfo *findTran( const QString &, const QString &, const QString & ); @@ -107,2 +108,21 @@ class Checkbook : public QDialog +class CBListItem : public QListViewItem +{ + //Q_OBJECT + + public: + CBListItem( QListView *, QString = QString::null, QString = QString::null, + QString = QString::null, QString = QString::null, QString = QString::null, + QString = QString::null, QString = QString::null, QString = QString::null ); + + void paintCell( QPainter *, const QColorGroup &, int, int, int ); + + private: + QListView *owner; + bool m_known; + bool m_odd; + + bool isAltBackground(); +}; + #endif diff --git a/noncore/apps/checkbook/graph.cpp b/noncore/apps/checkbook/graph.cpp index 0f25453..8ae835c 100644 --- a/noncore/apps/checkbook/graph.cpp +++ b/noncore/apps/checkbook/graph.cpp @@ -3,3 +3,3 @@ =. - .=l. Copyright (c) 2002 Dan Williams <williamsdr@acm.org> + .=l. Copyright (c) 2002 Dan Williams <drw@handhelds.org> .>+-= diff --git a/noncore/apps/checkbook/graph.h b/noncore/apps/checkbook/graph.h index 40b23cd..0361718 100644 --- a/noncore/apps/checkbook/graph.h +++ b/noncore/apps/checkbook/graph.h @@ -3,3 +3,3 @@ =. - .=l. Copyright (c) 2002 Dan Williams <williamsdr@acm.org> + .=l. Copyright (c) 2002 Dan Williams <drw@handhelds.org> .>+-= diff --git a/noncore/apps/checkbook/graphinfo.cpp b/noncore/apps/checkbook/graphinfo.cpp index ec6a465..fec6896 100644 --- a/noncore/apps/checkbook/graphinfo.cpp +++ b/noncore/apps/checkbook/graphinfo.cpp @@ -3,3 +3,3 @@ =. - .=l. Copyright (c) 2002 Dan Williams <williamsdr@acm.org> + .=l. Copyright (c) 2002 Dan Williams <drw@handhelds.org> .>+-= diff --git a/noncore/apps/checkbook/graphinfo.h b/noncore/apps/checkbook/graphinfo.h index 620da74..3bcf676 100644 --- a/noncore/apps/checkbook/graphinfo.h +++ b/noncore/apps/checkbook/graphinfo.h @@ -3,3 +3,3 @@ =. - .=l. Copyright (c) 2002 Dan Williams <williamsdr@acm.org> + .=l. Copyright (c) 2002 Dan Williams <drw@handhelds.org> .>+-= diff --git a/noncore/apps/checkbook/main.cpp b/noncore/apps/checkbook/main.cpp index 832bd09..abfa633 100644 --- a/noncore/apps/checkbook/main.cpp +++ b/noncore/apps/checkbook/main.cpp @@ -3,3 +3,3 @@ =. - .=l. Copyright (c) 2002 Dan Williams <williamsdr@acm.org> + .=l. Copyright (c) 2002 Dan Williams <drw@handhelds.org> .>+-= diff --git a/noncore/apps/checkbook/mainwindow.cpp b/noncore/apps/checkbook/mainwindow.cpp index 2eb8396..567b8ad 100644 --- a/noncore/apps/checkbook/mainwindow.cpp +++ b/noncore/apps/checkbook/mainwindow.cpp @@ -3,3 +3,3 @@ =. - .=l. Copyright (c) 2002 Dan Williams <williamsdr@acm.org> + .=l. Copyright (c) 2002 Dan Williams <drw@handhelds.org> .>+-= diff --git a/noncore/apps/checkbook/mainwindow.h b/noncore/apps/checkbook/mainwindow.h index 2c5d93b..1b460fa 100644 --- a/noncore/apps/checkbook/mainwindow.h +++ b/noncore/apps/checkbook/mainwindow.h @@ -3,3 +3,3 @@ =. - .=l. Copyright (c) 2002 Dan Williams <williamsdr@acm.org> + .=l. Copyright (c) 2002 Dan Williams <drw@handhelds.org> .>+-= diff --git a/noncore/apps/checkbook/opie-checkbook.control b/noncore/apps/checkbook/opie-checkbook.control index 7bde1db..817426c 100644 --- a/noncore/apps/checkbook/opie-checkbook.control +++ b/noncore/apps/checkbook/opie-checkbook.control @@ -3,3 +3,3 @@ Priority: optional Section: applications -Maintainer: Dan Williams <williamsdr@acm.org> +Maintainer: Dan Williams <drw@handhelds.org> Architecture: arm diff --git a/noncore/apps/checkbook/traninfo.cpp b/noncore/apps/checkbook/traninfo.cpp index dcba869..65c190c 100644 --- a/noncore/apps/checkbook/traninfo.cpp +++ b/noncore/apps/checkbook/traninfo.cpp @@ -3,3 +3,3 @@ =. - .=l. Copyright (c) 2002 Dan Williams <williamsdr@acm.org> + .=l. Copyright (c) 2002 Dan Williams <drw@handhelds.org> .>+-= @@ -189,2 +189,2 @@ int TranInfoList::compareItems( QCollection::Item item1, QCollection::Item item2 return( r ); -}
\ No newline at end of file +} diff --git a/noncore/apps/checkbook/traninfo.h b/noncore/apps/checkbook/traninfo.h index e488816..59cfe14 100644 --- a/noncore/apps/checkbook/traninfo.h +++ b/noncore/apps/checkbook/traninfo.h @@ -3,3 +3,3 @@ =. - .=l. Copyright (c) 2002 Dan Williams <williamsdr@acm.org> + .=l. Copyright (c) 2002 Dan Williams <drw@handhelds.org> .>+-= diff --git a/noncore/apps/checkbook/transaction.cpp b/noncore/apps/checkbook/transaction.cpp index a921491..122c8d6 100644 --- a/noncore/apps/checkbook/transaction.cpp +++ b/noncore/apps/checkbook/transaction.cpp @@ -3,3 +3,3 @@ =. - .=l. Copyright (c) 2002 Dan Williams <williamsdr@acm.org> + .=l. Copyright (c) 2002 Dan Williams <drw@handhelds.org> .>+-= diff --git a/noncore/apps/checkbook/transaction.h b/noncore/apps/checkbook/transaction.h index 274e1f2..89ca8e4 100644 --- a/noncore/apps/checkbook/transaction.h +++ b/noncore/apps/checkbook/transaction.h @@ -3,3 +3,3 @@ =. - .=l. Copyright (c) 2002 Dan Williams <williamsdr@acm.org> + .=l. Copyright (c) 2002 Dan Williams <drw@handhelds.org> .>+-= |