-rwxr-xr-x | noncore/apps/qashmoney/preferencedialogs.cpp | 23 | ||||
-rwxr-xr-x | noncore/apps/qashmoney/preferencedialogs.h | 6 | ||||
-rwxr-xr-x | noncore/apps/qashmoney/preferences.cpp | 8 |
3 files changed, 34 insertions, 3 deletions
diff --git a/noncore/apps/qashmoney/preferencedialogs.cpp b/noncore/apps/qashmoney/preferencedialogs.cpp index 3c2fb97..00d52c6 100755 --- a/noncore/apps/qashmoney/preferencedialogs.cpp +++ b/noncore/apps/qashmoney/preferencedialogs.cpp @@ -80,4 +80,16 @@ TransactionPreferences::TransactionPreferences ( QWidget* parent ) : QDialog ( p excludetransfers->setText ( "Include Transfers In Limit View" ); + limittransactionsbox = new QHBox ( this ); + limittransactionsbox->setSpacing ( 2 ); + limittransactionslabel = new QLabel ( "Limit All Transactions To", limittransactionsbox ); + limittransactions = new QComboBox ( limittransactionsbox ); + limittransactions->insertItem ( "14 days" ); + limittransactions->insertItem ( "30 days" ); + limittransactions->insertItem ( "60 days" ); + limittransactions->insertItem ( "90 days" ); + limittransactions->insertItem ( "180 days" ); + limittransactions->insertItem ( "365 days" ); + limittransactions->insertItem ( "All" ); + if ( preferences->getPreference ( 3 ) == 1 ) showclearedtransactions->setChecked ( TRUE ); @@ -96,9 +108,11 @@ TransactionPreferences::TransactionPreferences ( QWidget* parent ) : QDialog ( p layout->addWidget ( showclearedtransactions ); layout->addWidget ( excludetransfers ); - layout->insertSpacing ( 2, 5 ); + layout->addWidget ( limittransactionsbox ); + layout->insertSpacing ( 3, 5 ); layout->addWidget ( defaults ); connect ( showclearedtransactions, SIGNAL ( toggled ( bool ) ), this, SLOT ( changeShowClearedPreference ( bool ) ) ); connect ( excludetransfers, SIGNAL ( toggled ( bool ) ), this, SLOT ( changeExcludeTranfersPreference ( bool ) ) ); + connect ( limittransactions, SIGNAL ( activated ( int ) ), this, SLOT ( changeLimitTransactionsPreference ( int ) ) ); } @@ -107,4 +121,9 @@ TransactionPreferences::~TransactionPreferences () } +void TransactionPreferences::changeLimitTransactionsPreference ( int pref ) + { + preferences->changePreference ( 7, pref ); + } + void TransactionPreferences::changeShowClearedPreference ( bool state ) { @@ -127,5 +146,7 @@ void TransactionPreferences::setDefaultTransactionPreferences () preferences->changePreference ( 3, 0 ); preferences->changePreference ( 6, 0 ); + preferences->changePreference ( 7, 0 ); showclearedtransactions->setChecked ( FALSE ); + limittransactions->setCurrentItem ( 0 ); } diff --git a/noncore/apps/qashmoney/preferencedialogs.h b/noncore/apps/qashmoney/preferencedialogs.h index 97b2dbb..88281b8 100755 --- a/noncore/apps/qashmoney/preferencedialogs.h +++ b/noncore/apps/qashmoney/preferencedialogs.h @@ -7,4 +7,6 @@ #include <qcheckbox.h> #include <qlayout.h> +#include <qlabel.h> +#include <qhbox.h> #ifndef DATEPREFERENCES_H @@ -45,5 +47,6 @@ class TransactionPreferences : public QDialog QCheckBox *showclearedtransactions; QCheckBox *excludetransfers; - QString *limittransactionslabel; + QHBox *limittransactionsbox; + QLabel *limittransactionslabel; QComboBox *limittransactions; QPushButton *defaults; @@ -54,4 +57,5 @@ class TransactionPreferences : public QDialog void changeExcludeTranfersPreference ( bool ); void setDefaultTransactionPreferences (); + void changeLimitTransactionsPreference ( int ); }; diff --git a/noncore/apps/qashmoney/preferences.cpp b/noncore/apps/qashmoney/preferences.cpp index 8783a47..819d5cf 100755 --- a/noncore/apps/qashmoney/preferences.cpp +++ b/noncore/apps/qashmoney/preferences.cpp @@ -23,5 +23,5 @@ void Preferences::addPreferences () sqlite_get_table ( db, "select count() from preferences;", &results, 0, 0, 0 ); - if ( atoi ( results [ 1 ] ) != 6 ) + if ( atoi ( results [ 1 ] ) != 7 ) { // dateformat preference 1 = yyyymmdd 2 = yymmdd 3 = mmddyyyy 4 = mmddyy @@ -60,4 +60,10 @@ void Preferences::addPreferences () if ( rows == 0 ) sqlite_exec ( db, "insert into preferences values ( 0, 'excludetransfersfromlimit', 0, 0, 0, NULL );", 0, 0, 0 ); + + // limit number of transactions to 0 = 14 days 1 = 30 days, 2 = 60 days, 3 = 90 days, 4 = 180 days, 5 = 365 days, 6 = all + rows = 0; + sqlite_get_table ( db, "select preference from preferences where id = 7;", &results, &rows, &columns, 0 ); + if ( rows == 0 ) + sqlite_exec ( db, "insert into preferences values ( 0, 'limittransactions', 0, 0, 0, NULL );", 0, 0, 0 ); } } |