From: <vo...@us...> - 2013-06-22 04:40:55
|
Revision: 4131 http://sourceforge.net/p/moneymanagerex/code/4131 Author: vomikan Date: 2013-06-22 04:40:52 +0000 (Sat, 22 Jun 2013) Log Message: ----------- transaction filter presettings added Modified Paths: -------------- trunk/src/filtertransdialog.cpp trunk/src/filtertransdialog.h trunk/src/mmcheckingpanel.cpp trunk/src/mmcheckingpanel.h Modified: trunk/src/filtertransdialog.cpp =================================================================== --- trunk/src/filtertransdialog.cpp 2013-06-22 03:33:32 UTC (rev 4130) +++ trunk/src/filtertransdialog.cpp 2013-06-22 04:40:52 UTC (rev 4131) @@ -655,11 +655,37 @@ return settings_string_; } -void mmFilterTransactionsDialog::setAccountToolTip(wxString tip) const +void mmFilterTransactionsDialog::setAccountToolTip(const wxString& tip) const { accountDropDown_->SetToolTip(tip); } +void mmFilterTransactionsDialog::setPresettings(const wxString& view) +{ + //TODO: not finished + wxLogDebug(view); + if (view == VIEW_TRANS_ALL_STR) + { + dateRangeCheckBox_->SetValue(false); + date_range_ = new mmAllTime(); + } + else if (view == VIEW_TRANS_CURRENT_MONTH_STR) + { + dateRangeCheckBox_->SetValue(true); + date_range_ = new mmCurrentMonth; + fromDateCtrl_->SetValue(date_range_->start_date()); + toDateControl_->SetValue(date_range_->end_date()); + } + else if (view == VIEW_TRANS_LAST_30_DAYS_STR) + { + dateRangeCheckBox_->SetValue(true); + date_range_ = new mmLast30Days; + fromDateCtrl_->SetValue(date_range_->start_date()); + toDateControl_->SetValue(date_range_->end_date()); + } + +} + void mmFilterTransactionsDialog::OnPayeeUpdated(wxCommandEvent& event) { wxString value = cbPayee_->GetValue().Lower(); @@ -680,9 +706,7 @@ cbPayee_ ->Append(data[i]); } -#if wxCHECK_VERSION(2,9,0) - cbPayee_->AutoComplete(data); -#endif + cbPayee_->AutoComplete(data); if (cbPayee_->GetCount() == 1) cbPayee_->SetSelection(0); Modified: trunk/src/filtertransdialog.h =================================================================== --- trunk/src/filtertransdialog.h 2013-06-22 03:33:32 UTC (rev 4130) +++ trunk/src/filtertransdialog.h 2013-06-22 04:40:52 UTC (rev 4131) @@ -8,6 +8,7 @@ #endif #include "mmcoredb.h" +#include "reports/mmDateRange.h" #define ID_MYDIALOG9 10095 #define SYMBOL_MMFILTERTRANSACTIONSDIALOG_STYLE wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX @@ -21,6 +22,8 @@ #define wxFIXED_MINSIZE 0 #endif +class mmDateRange; + class mmFilterTransactionsDialog: public wxDialog { DECLARE_DYNAMIC_CLASS( mmFilterTransactionsDialog ) @@ -88,7 +91,8 @@ /// Returns true with valid dates, when the dialog date range is selected. bool getDateRange(wxDateTime& startDate, wxDateTime& endDate) const; - void setAccountToolTip(wxString tip) const; + void setAccountToolTip(const wxString& tip) const; + void setPresettings(const wxString& view); private: /// Creation @@ -145,8 +149,10 @@ wxRadioBox* m_radio_box_; wxCheckBox* transNumberCheckBox_; wxTextCtrl* transNumberEdit_; + //TODO: remove std::shared_ptr std::vector< std::shared_ptr<mmBankTransaction> >* trans_; mmCoreDB* core_; + mmDateRange* date_range_; int categID_; int subcategID_; Modified: trunk/src/mmcheckingpanel.cpp =================================================================== --- trunk/src/mmcheckingpanel.cpp 2013-06-22 03:33:32 UTC (rev 4130) +++ trunk/src/mmcheckingpanel.cpp 2013-06-22 04:40:52 UTC (rev 4131) @@ -269,12 +269,14 @@ GetSizer()->Fit(this); GetSizer()->SetSizeHints(this); + //TODO: Load currency settings for current account /* Set up the transaction filter. The transFilter dialog will be destroyed when the checking panel is destroyed. */ transFilterActive_ = false; transFilterDlg_ = new mmFilterTransactionsDialog(core_, this); initViewTransactionsHeader(); + initFilterSettings(); initVirtualListControl(); windowsFreezeThaw(this); @@ -898,6 +900,10 @@ stxtMainFilter_->SetLabel(wxGetTranslation(currentView_)); } //---------------------------------------------------------------------------- +void mmCheckingPanel::initFilterSettings() +{ + transFilterDlg_->setPresettings(currentView_); +} void mmCheckingPanel::OnFilterResetToViewAll(wxMouseEvent& event) { if (currentView_ == VIEW_TRANS_ALL_STR) @@ -919,15 +925,6 @@ { int evt = event.GetId(); - if (evt != MENU_VIEW_ALLTRANSACTIONS && transFilterActive_) - { - wxString messageStr; - messageStr << _("Transaction Filter will interfere with this filtering.") << "\n\n"; - messageStr << _("Please deactivate Transaction Filter"); - wxMessageBox(messageStr, _("Transaction Filter"), wxOK|wxICON_WARNING); - return; - } - if (evt == MENU_VIEW_ALLTRANSACTIONS) { currentView_ = VIEW_TRANS_ALL_STR; @@ -972,6 +969,7 @@ m_listCtrlAccount->refreshVisualList(); core_->dbInfoSettings_->SetStringSetting(wxString::Format("CHECK_FILTER_ID_%ld", (long)m_AccountID), currentView_); + initFilterSettings(); } void mmCheckingPanel::DeleteViewedTransactions() Modified: trunk/src/mmcheckingpanel.h =================================================================== --- trunk/src/mmcheckingpanel.h 2013-06-22 03:33:32 UTC (rev 4130) +++ trunk/src/mmcheckingpanel.h 2013-06-22 04:40:52 UTC (rev 4131) @@ -82,6 +82,7 @@ std::shared_ptr<wxSQLite3Database> getDb() const; void initViewTransactionsHeader(); + void initFilterSettings(); void setAccountSummary(); void sortTable(); void filterTable(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |