00001 #include "transferdialog.h"
00002 #include "datepicker.h"
00003 #include "calculator.h"
00004
00005
00006 extern Preferences *preferences;
00007 extern Account *account;
00008
00009 TransferDialog::TransferDialog ( QWidget *parent, int fromaccountid, int toaccountid ) : QDialog ( parent, 0, TRUE )
00010 {
00011 dateedited = FALSE;
00012 setCaption ( "Transfer" );
00013
00014 fromaccountlabel = new QLabel ( "From account:", this );
00015 QFont f = this->font();
00016 f.setWeight ( QFont::Bold );
00017 fromaccountlabel->setFont ( f );
00018 fromaccount = new QLabel ( account->getAccountName ( fromaccountid ), this );
00019
00020 toaccountlabel = new QLabel ( "To Account:", this );
00021 toaccountlabel->setFont ( f );
00022 toaccount = new QLabel ( account->getAccountName ( toaccountid ), this );
00023
00024 datelabel = new QLabel ( "Date", this );
00025
00026 datebox = new QHBox ( this );
00027 datebox->setSpacing ( 2 );
00028 date = new QLineEdit ( datebox );
00029 date->setAlignment ( Qt::AlignRight );
00030 date->setDisabled ( TRUE );
00031 datebutton = new QPushButton ( datebox );
00032 datebutton->setPixmap ( QPixmap ( "/opt/QtPalmtop/pics/date.png" ) );
00033 connect ( datebutton, SIGNAL ( released() ), this, SLOT ( showCalendar() ) );
00034
00035 amounttlabel = new QLabel ( "Amount", this );
00036
00037 amountbox = new QHBox ( this );
00038 amountbox->setSpacing ( 2 );
00039 amount = new QLineEdit ( amountbox );
00040 amount->setAlignment ( Qt::AlignRight );
00041 calculatorbutton = new QPushButton( amountbox );
00042 calculatorbutton->setPixmap ( QPixmap ( "/opt/QtPalmtop/pics/kcalc.png" ) );
00043 connect ( calculatorbutton, SIGNAL ( released() ), this, SLOT ( showCalculator() ) );
00044
00045 clearedcheckbox = new QCheckBox ( "Cleared", this );
00046
00047 layout = new QVBoxLayout ( this, 4, 2 );
00048 layout->addWidget ( fromaccountlabel, Qt::AlignLeft );
00049 layout->addWidget ( fromaccount, Qt::AlignLeft );
00050 layout->addWidget ( toaccountlabel, Qt::AlignLeft );
00051 layout->addWidget ( toaccount, Qt::AlignLeft );
00052 layout->addSpacing ( 5 );
00053 layout->addWidget ( datelabel, Qt::AlignLeft );
00054 layout->addWidget ( datebox, Qt::AlignLeft );
00055 layout->addWidget ( amounttlabel, Qt::AlignLeft );
00056 layout->addWidget ( amountbox, Qt::AlignLeft );
00057 layout->addWidget ( clearedcheckbox, Qt::AlignLeft );
00058 }
00059
00060 bool TransferDialog::getDateEdited ()
00061 {
00062 return dateedited;
00063 }
00064
00065 void TransferDialog::showCalendar ()
00066 {
00067 QDate newDate = QDate::currentDate ();
00068 DatePicker *dp = new DatePicker ( newDate );
00069 if ( dp->exec () == QDialog::Accepted )
00070 {
00071
00072 year = dp->getYear();
00073 month = dp->getMonth();
00074 day = dp->getDay();
00075
00076
00077
00078
00079 dateedited = TRUE;
00080
00081
00082 date->setText ( preferences->getDate ( year, month, day ) );
00083 }
00084 }
00085
00086 int TransferDialog::getDay ()
00087 {
00088 return day;
00089 }
00090
00091 int TransferDialog::getMonth ()
00092 {
00093 return month;
00094 }
00095
00096 int TransferDialog::getYear ()
00097 {
00098 return year;
00099 }
00100
00101 void TransferDialog::showCalculator ()
00102 {
00103 Calculator *calculator = new Calculator ( this );
00104 if ( calculator->exec () == QDialog::Accepted )
00105 amount->setText ( calculator->display->text() );
00106 }
00107
00108
00109
00110
00111
00112