summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/apps/checkbook/checkbook.cpp93
-rw-r--r--noncore/apps/checkbook/checkbook.h24
-rw-r--r--noncore/apps/checkbook/graph.cpp2
-rw-r--r--noncore/apps/checkbook/graph.h2
-rw-r--r--noncore/apps/checkbook/graphinfo.cpp2
-rw-r--r--noncore/apps/checkbook/graphinfo.h2
-rw-r--r--noncore/apps/checkbook/main.cpp2
-rw-r--r--noncore/apps/checkbook/mainwindow.cpp2
-rw-r--r--noncore/apps/checkbook/mainwindow.h2
-rw-r--r--noncore/apps/checkbook/opie-checkbook.control2
-rw-r--r--noncore/apps/checkbook/traninfo.cpp2
-rw-r--r--noncore/apps/checkbook/traninfo.h2
-rw-r--r--noncore/apps/checkbook/transaction.cpp2
-rw-r--r--noncore/apps/checkbook/transaction.h2
14 files changed, 113 insertions, 28 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
@@ -2,5 +2,5 @@
                This file is part of the OPIE Project
=.
-             .=l. Copyright (c) 2002 Dan Williams <williamsdr@acm.org>
+             .=l. Copyright (c) 2002 Dan Williams <drw@handhelds.org>
           .>+-=
 _;:,     .>    :=|. This file is free software; you can
@@ -40,8 +40,8 @@
#include <qcombobox.h>
#include <qfile.h>
+#include <qfontmetrics.h>
#include <qlabel.h>
#include <qlayout.h>
#include <qlineedit.h>
-#include <qlistview.h>
#include <qmultilineedit.h>
#include <qpushbutton.h>
@@ -202,10 +202,12 @@ QWidget *Checkbook::initTransactions()
tranTable = new QListView( control );
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" ) );
int colnum = tranTable->addColumn( tr( "Amount" ) );
tranTable->setColumnAlignment( colnum, Qt::AlignRight );
tranTable->setAllColumnsShowFocus( TRUE );
+ tranTable->setSorting( 1 );
layout->addMultiCellWidget( tranTable, 1, 1, 0, 2 );
QPEApplication::setStylusOperation( tranTable->viewport(), QPEApplication::RightOnHold );
@@ -315,6 +317,5 @@ 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 );
}
else
@@ -335,9 +336,12 @@ 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();
}
@@ -419,6 +423,6 @@ 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 );
adjustBalance( amount );
@@ -440,6 +444,5 @@ 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();
if ( traninfo->withdrawal() )
@@ -483,7 +486,5 @@ 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 ) );
if ( QPEMessageBox::confirmDelete ( this, tr( "Delete transaction" ), traninfo->desc() ) )
@@ -595,2 +596,66 @@ void Checkbook::drawCategoryChart( bool withdrawals )
graphInfo = new GraphInfo( GraphInfo::PieChart, list );
}
+
+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
@@ -2,5 +2,5 @@
                This file is part of the OPIE Project
=.
-             .=l. Copyright (c) 2002 Dan Williams <williamsdr@acm.org>
+             .=l. Copyright (c) 2002 Dan Williams <drw@handhelds.org>
           .>+-=
 _;:,     .>    :=|. This file is free software; you can
@@ -33,4 +33,5 @@
#include <qdialog.h>
+#include <qlistview.h>
class OTabWidget;
@@ -66,5 +67,5 @@ class Checkbook : public QDialog
void loadCheckbook();
void adjustBalance( float );
- TranInfo *findTranByID( int );
+ TranInfo *findTran( const QString &, const QString &, const QString & );
// Info tab
@@ -106,3 +107,22 @@ 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
@@ -2,5 +2,5 @@
                This file is part of the OPIE Project
=.
-             .=l. Copyright (c) 2002 Dan Williams <williamsdr@acm.org>
+             .=l. Copyright (c) 2002 Dan Williams <drw@handhelds.org>
           .>+-=
 _;:,     .>    :=|. This file is free software; you can
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
@@ -2,5 +2,5 @@
                This file is part of the OPIE Project
=.
-             .=l. Copyright (c) 2002 Dan Williams <williamsdr@acm.org>
+             .=l. Copyright (c) 2002 Dan Williams <drw@handhelds.org>
           .>+-=
 _;:,     .>    :=|. This file is free software; you can
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
@@ -2,5 +2,5 @@
                This file is part of the OPIE Project
=.
-             .=l. Copyright (c) 2002 Dan Williams <williamsdr@acm.org>
+             .=l. Copyright (c) 2002 Dan Williams <drw@handhelds.org>
           .>+-=
 _;:,     .>    :=|. This file is free software; you can
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
@@ -2,5 +2,5 @@
                This file is part of the OPIE Project
=.
-             .=l. Copyright (c) 2002 Dan Williams <williamsdr@acm.org>
+             .=l. Copyright (c) 2002 Dan Williams <drw@handhelds.org>
           .>+-=
 _;:,     .>    :=|. This file is free software; you can
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
@@ -2,5 +2,5 @@
                This file is part of the OPIE Project
=.
-             .=l. Copyright (c) 2002 Dan Williams <williamsdr@acm.org>
+             .=l. Copyright (c) 2002 Dan Williams <drw@handhelds.org>
           .>+-=
 _;:,     .>    :=|. This file is free software; you can
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
@@ -2,5 +2,5 @@
                This file is part of the OPIE Project
=.
-             .=l. Copyright (c) 2002 Dan Williams <williamsdr@acm.org>
+             .=l. Copyright (c) 2002 Dan Williams <drw@handhelds.org>
           .>+-=
 _;:,     .>    :=|. This file is free software; you can
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
@@ -2,5 +2,5 @@
                This file is part of the OPIE Project
=.
-             .=l. Copyright (c) 2002 Dan Williams <williamsdr@acm.org>
+             .=l. Copyright (c) 2002 Dan Williams <drw@handhelds.org>
           .>+-=
 _;:,     .>    :=|. This file is free software; you can
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
@@ -2,5 +2,5 @@ Files: bin/checkbook apps/Applications/checkbook.desktop pics/checkbook
Priority: optional
Section: applications
-Maintainer: Dan Williams <williamsdr@acm.org>
+Maintainer: Dan Williams <drw@handhelds.org>
Architecture: arm
Version: $QPE_VERSION-$SUB_VERSION
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
@@ -2,5 +2,5 @@
                This file is part of the OPIE Project
=.
-             .=l. Copyright (c) 2002 Dan Williams <williamsdr@acm.org>
+             .=l. Copyright (c) 2002 Dan Williams <drw@handhelds.org>
           .>+-=
 _;:,     .>    :=|. This file is free software; you can
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
@@ -2,5 +2,5 @@
                This file is part of the OPIE Project
=.
-             .=l. Copyright (c) 2002 Dan Williams <williamsdr@acm.org>
+             .=l. Copyright (c) 2002 Dan Williams <drw@handhelds.org>
           .>+-=
 _;:,     .>    :=|. This file is free software; you can
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
@@ -2,5 +2,5 @@
                This file is part of the OPIE Project
=.
-             .=l. Copyright (c) 2002 Dan Williams <williamsdr@acm.org>
+             .=l. Copyright (c) 2002 Dan Williams <drw@handhelds.org>
           .>+-=
 _;:,     .>    :=|. This file is free software; you can
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
@@ -2,5 +2,5 @@
                This file is part of the OPIE Project
=.
-             .=l. Copyright (c) 2002 Dan Williams <williamsdr@acm.org>
+             .=l. Copyright (c) 2002 Dan Williams <drw@handhelds.org>
           .>+-=
 _;:,     .>    :=|. This file is free software; you can