From: <gua...@us...> - 2013-04-29 05:01:17
|
Revision: 3798 http://sourceforge.net/p/moneymanagerex/code/3798 Author: guanlisheng Date: 2013-04-29 05:01:12 +0000 (Mon, 29 Apr 2013) Log Message: ----------- more range-based loop Modified Paths: -------------- trunk/mmex/src/maincurrencydialog.cpp trunk/mmex/src/mmaccount.cpp trunk/mmex/src/mmaccount.h trunk/mmex/src/mmcurrency.h trunk/mmex/src/mmex.cpp trunk/mmex/src/mmhomepagepanel.cpp trunk/mmex/src/reports/cashflow.cpp trunk/mmex/src/reports/summary.cpp Modified: trunk/mmex/src/maincurrencydialog.cpp =================================================================== --- trunk/mmex/src/maincurrencydialog.cpp 2013-04-29 04:41:21 UTC (rev 3797) +++ trunk/mmex/src/maincurrencydialog.cpp 2013-04-29 05:01:12 UTC (rev 3798) @@ -87,11 +87,10 @@ currencyListBox_->DeleteAllItems(); int baseCurrencyID = core_->currencyList_.GetBaseCurrencySettings(); - std::pair<mmCurrencyList::const_iterator, mmCurrencyList::const_iterator> range = core_->currencyList_.range(); int idx = 0; - for(mmCurrencyList::const_iterator it = range.first; it != range.second; ++ it) + for (const auto& account: core_->currencyList_.currencies_) { - int currencyID = (*it)->currencyID_; + int currencyID = account->currencyID_; wxListItem item; item.SetId(idx); @@ -101,10 +100,10 @@ wxString mnemo_sign = ""; if (baseCurrencyID == currencyID) mnemo_sign = "X"; else if (core_->accountList_.currencyInUse(currencyID)) mnemo_sign = ".."; - currencyListBox_->SetItem(idx, 0, (*it)->currencySymbol_); - currencyListBox_->SetItem(idx, 1, (*it)->currencyName_); + currencyListBox_->SetItem(idx, 0, account->currencySymbol_); + currencyListBox_->SetItem(idx, 1, account->currencyName_); currencyListBox_->SetItem(idx, 2, mnemo_sign); - currencyListBox_->SetItem(idx++, 3, wxString()<<(*it)->baseConv_); + currencyListBox_->SetItem(idx++, 3, wxString()<<account->baseConv_); } if (idx>0) Modified: trunk/mmex/src/mmaccount.cpp =================================================================== --- trunk/mmex/src/mmaccount.cpp 2013-04-29 04:41:21 UTC (rev 3797) +++ trunk/mmex/src/mmaccount.cpp 2013-04-29 05:01:12 UTC (rev 3798) @@ -255,7 +255,6 @@ return ""; } - wxSharedPtr<mmCurrency> mmAccountList::getCurrencySharedPtr(int accountID) const { int len = (int)accounts_.size(); @@ -268,12 +267,6 @@ return wxSharedPtr<mmCurrency>(); } -std::pair<mmAccountList::const_iterator, mmAccountList::const_iterator> - mmAccountList::range() const -{ - return std::make_pair(accounts_.begin(), accounts_.end()); -} - int mmAccountList::UpdateAccount(wxSharedPtr<mmAccount> pAccount) { wxString statusStr = pAccount->status_ == mmAccount::MMEX_Closed ? "Closed" : "Open"; Modified: trunk/mmex/src/mmaccount.h =================================================================== --- trunk/mmex/src/mmaccount.h 2013-04-29 04:41:21 UTC (rev 3797) +++ trunk/mmex/src/mmaccount.h 2013-04-29 05:01:12 UTC (rev 3798) @@ -95,7 +95,6 @@ bool currencyInUse(int currencyID) const; account_v accounts_; typedef std::vector<wxSharedPtr<mmAccount> >::const_iterator const_iterator; - std::pair<const_iterator, const_iterator> range() const; /// Loads database Accounts list into memory void LoadAccounts(const mmCurrencyList& currencyList); Modified: trunk/mmex/src/mmcurrency.h =================================================================== --- trunk/mmex/src/mmcurrency.h 2013-04-29 04:41:21 UTC (rev 3797) +++ trunk/mmex/src/mmcurrency.h 2013-04-29 05:01:12 UTC (rev 3798) @@ -76,10 +76,6 @@ std::vector< wxSharedPtr<mmCurrency> > currencies_; typedef std::vector< wxSharedPtr<mmCurrency> >::const_iterator const_iterator; - std::pair<const_iterator, const_iterator> range() const - { - return std::make_pair(currencies_.begin(), currencies_.end()); - } private: wxSharedPtr<wxSQLite3Database> db_; Modified: trunk/mmex/src/mmex.cpp =================================================================== --- trunk/mmex/src/mmex.cpp 2013-04-29 04:41:21 UTC (rev 3797) +++ trunk/mmex/src/mmex.cpp 2013-04-29 05:01:12 UTC (rev 3798) @@ -1621,47 +1621,42 @@ wxString vAccts = m_inisettings->GetStringSetting("VIEWACCOUNTS", "ALL"); - std::pair<mmAccountList::const_iterator, mmAccountList::const_iterator> range = m_core->accountList_.range(); - for (mmAccountList::const_iterator it = range.first; it != range.second; ++ it) + for (const auto& account: m_core->accountList_.accounts_) { - const mmAccount* account = it->get(); // Checking/Bank Accounts if (account->acctType_ == ACCOUNT_TYPE_BANK) { - const mmAccount* pCA = account; - if ((vAccts == "Open" && pCA->status_ == mmAccount::MMEX_Open) || - (vAccts == "Favorites" && pCA->favoriteAcct_) || + if ((vAccts == "Open" && account->status_ == mmAccount::MMEX_Open) || + (vAccts == "Favorites" && account->favoriteAcct_) || (vAccts == "ALL")) { - int selectedImage = mmIniOptions::instance().account_image_id(m_core.get(), pCA->id_); - wxTreeItemId tacct = navTreeCtrl_->AppendItem(accounts, pCA->name_, selectedImage, selectedImage); - navTreeCtrl_->SetItemData(tacct, new mmTreeItemData(pCA->id_, false)); + int selectedImage = mmIniOptions::instance().account_image_id(m_core.get(), account->id_); + wxTreeItemId tacct = navTreeCtrl_->AppendItem(accounts, account->name_, selectedImage, selectedImage); + navTreeCtrl_->SetItemData(tacct, new mmTreeItemData(account->id_, false)); } } // Term Accounts else if (account->acctType_ == ACCOUNT_TYPE_TERM) { - const mmAccount* pTA = account; - if ((vAccts == "Open" && pTA->status_ == mmAccount::MMEX_Open) || - (vAccts == "Favorites" && pTA->favoriteAcct_) || + if ((vAccts == "Open" && account->status_ == mmAccount::MMEX_Open) || + (vAccts == "Favorites" && account->favoriteAcct_) || (vAccts == "ALL")) { - int selectedImage = mmIniOptions::instance().account_image_id(m_core.get(), pTA->id_); - wxTreeItemId tacct = navTreeCtrl_->AppendItem(termAccount, pTA->name_, selectedImage, selectedImage); - navTreeCtrl_->SetItemData(tacct, new mmTreeItemData(pTA->id_, false)); + int selectedImage = mmIniOptions::instance().account_image_id(m_core.get(), account->id_); + wxTreeItemId tacct = navTreeCtrl_->AppendItem(termAccount, account->name_, selectedImage, selectedImage); + navTreeCtrl_->SetItemData(tacct, new mmTreeItemData(account->id_, false)); } } // Stock Accounts else //if (account->acctType_ == ACCOUNT_TYPE_STOCK) { - const mmAccount* pIA = account; - if ((vAccts == "Open" && pIA->status_ == mmAccount::MMEX_Open) || - (vAccts == "Favorites" && pIA->favoriteAcct_) || + if ((vAccts == "Open" && account->status_ == mmAccount::MMEX_Open) || + (vAccts == "Favorites" && account->favoriteAcct_) || (vAccts == "ALL")) { - int selectedImage = mmIniOptions::instance().account_image_id(m_core.get(), pIA->id_); - wxTreeItemId tacct = navTreeCtrl_->AppendItem(stocks, pIA->name_, selectedImage, selectedImage); - navTreeCtrl_->SetItemData(tacct, new mmTreeItemData(pIA->id_, false)); + int selectedImage = mmIniOptions::instance().account_image_id(m_core.get(), account->id_); + wxTreeItemId tacct = navTreeCtrl_->AppendItem(stocks, account->name_, selectedImage, selectedImage); + navTreeCtrl_->SetItemData(tacct, new mmTreeItemData(account->id_, false)); } } } @@ -3191,11 +3186,8 @@ { wxArrayString accountArray; - std::pair<mmAccountList::const_iterator, mmAccountList::const_iterator> range = m_core->accountList_.range(); - for (mmAccountList::const_iterator it = range.first; it != range.second; ++ it) + for (const auto& account: m_core->accountList_.accounts_) { - const mmAccount* account = it->get(); - if (account->acctType_ == ACCOUNT_TYPE_BANK || (withTermAccounts && account->acctType_ == ACCOUNT_TYPE_TERM)) accountArray.Add(account->name_); } @@ -3676,11 +3668,9 @@ wxArrayString as; std::vector<int> arrAcctID; - std::pair<mmAccountList::const_iterator, mmAccountList::const_iterator> range = m_core->accountList_.range(); int idx = 0; - for (mmAccountList::const_iterator it = range.first; it != range.second; ++ it) + for (const auto& account: m_core->accountList_.accounts_) { - const mmAccount* account = it->get(); as.Add(account->name_); arrAcctID[idx ++] = account->id_; } @@ -3717,11 +3707,9 @@ int num = (int)m_core->accountList_.accounts_.size(); int* arrAcctID = new int[num]; - std::pair<mmAccountList::const_iterator, mmAccountList::const_iterator> range = m_core->accountList_.range(); int idx = 0; - for (mmAccountList::const_iterator it = range.first; it != range.second; ++ it) + for (const auto& account: m_core->accountList_.accounts_) { - const mmAccount* account = it->get(); as.Add(account->name_); arrAcctID[idx ++] = account->id_; } Modified: trunk/mmex/src/mmhomepagepanel.cpp =================================================================== --- trunk/mmex/src/mmhomepagepanel.cpp 2013-04-29 04:41:21 UTC (rev 3797) +++ trunk/mmex/src/mmhomepagepanel.cpp 2013-04-29 05:01:12 UTC (rev 3798) @@ -203,19 +203,16 @@ // Get account balances and display accounts if we want them displayed wxString vAccts = core_->iniSettings_->GetStringSetting("VIEWACCOUNTS", "ALL"); - std::pair<mmAccountList::const_iterator, mmAccountList::const_iterator> range = core_->accountList_.range(); - for (mmAccountList::const_iterator it = range.first; it != range.second; ++ it) + for (const auto& account: core_->accountList_.accounts_) { - mmAccount* pCA = it->get(); + if (account->acctType_ != ACCOUNT_TYPE_BANK || account->status_ == mmAccount::MMEX_Closed) continue; - if (pCA->acctType_ != ACCOUNT_TYPE_BANK || pCA->status_ == mmAccount::MMEX_Closed) continue; - - wxSharedPtr<mmCurrency> pCurrencyPtr = core_->accountList_.getCurrencySharedPtr(pCA->id_); + wxSharedPtr<mmCurrency> pCurrencyPtr = core_->accountList_.getCurrencySharedPtr(account->id_); wxASSERT(pCurrencyPtr); mmex::CurrencyFormatter::instance().loadSettings(*pCurrencyPtr); - double bal = pCA->initialBalance_ + core_->bTransactionList_.getBalance(pCA->id_, mmIniOptions::instance().ignoreFutureTransactions_); - double reconciledBal = pCA->initialBalance_ + core_->bTransactionList_.getReconciledBalance(pCA->id_, mmIniOptions::instance().ignoreFutureTransactions_); + double bal = account->initialBalance_ + core_->bTransactionList_.getBalance(account->id_, mmIniOptions::instance().ignoreFutureTransactions_); + double reconciledBal = account->initialBalance_ + core_->bTransactionList_.getReconciledBalance(account->id_, mmIniOptions::instance().ignoreFutureTransactions_); double rate = pCurrencyPtr->baseConv_; tBalance += bal * rate; // actual amount in that account in the original rate tRecBalance += reconciledBal * rate; @@ -226,7 +223,7 @@ if ( frame_->expandedBankAccounts() || (!frame_->expandedBankAccounts() && !frame_->expandedTermAccounts()) ) { - core_->bTransactionList_.getExpensesIncome(core_, pCA->id_, expenses, income, false, dtBegin, dtEnd, mmIniOptions::instance().ignoreFutureTransactions_); + core_->bTransactionList_.getExpensesIncome(core_, account->id_, expenses, income, false, dtBegin, dtEnd, mmIniOptions::instance().ignoreFutureTransactions_); // show the actual amount in that account wxString balanceStr; @@ -234,13 +231,13 @@ mmex::formatDoubleToCurrency(bal, balanceStr); mmex::formatDoubleToCurrency(reconciledBal, reconciledBalanceStr); - if (((vAccts == "Open" && pCA->status_ == mmAccount::MMEX_Open) || - (vAccts == "Favorites" && pCA->favoriteAcct_) || + if (((vAccts == "Open" && account->status_ == mmAccount::MMEX_Open) || + (vAccts == "Favorites" && account->favoriteAcct_) || (vAccts == "ALL")) && frame_->expandedBankAccounts()) { hb.startTableRow(); - hb.addTableCellLink(wxString::Format("ACCT:%d", pCA->id_), pCA->name_, false, true); + hb.addTableCellLink(wxString::Format("ACCT:%d", account->id_), account->name_, false, true); hb.addTableCell(reconciledBalanceStr, true); hb.addTableCell(balanceStr, true); hb.endTableRow(); @@ -278,18 +275,16 @@ // Get account balances and add to totals, and display accounts if we want them displayed wxString vAccts = core_->iniSettings_->GetStringSetting("VIEWACCOUNTS", "ALL"); - std::pair<mmAccountList::const_iterator, mmAccountList::const_iterator> range = core_->accountList_.range(); - for (mmAccountList::const_iterator it = range.first; it != range.second; ++ it) + for (const auto& account: core_->accountList_.accounts_) { - const mmAccount* pTA= it->get(); - if (pTA && pTA->status_== mmAccount::MMEX_Open && pTA->acctType_ == ACCOUNT_TYPE_TERM) + if (account && account->status_== mmAccount::MMEX_Open && account->acctType_ == ACCOUNT_TYPE_TERM) { - wxSharedPtr<mmCurrency> pCurrencyPtr = core_->accountList_.getCurrencySharedPtr(pTA->id_); + wxSharedPtr<mmCurrency> pCurrencyPtr = core_->accountList_.getCurrencySharedPtr(account->id_); wxASSERT(pCurrencyPtr); mmex::CurrencyFormatter::instance().loadSettings(*pCurrencyPtr); - double bal = pTA->initialBalance_ + core_->bTransactionList_.getBalance(pTA->id_, mmIniOptions::instance().ignoreFutureTransactions_); - double reconciledBal = pTA->initialBalance_ + core_->bTransactionList_.getReconciledBalance(pTA->id_, mmIniOptions::instance().ignoreFutureTransactions_); + double bal = account->initialBalance_ + core_->bTransactionList_.getBalance(account->id_, mmIniOptions::instance().ignoreFutureTransactions_); + double reconciledBal = account->initialBalance_ + core_->bTransactionList_.getReconciledBalance(account->id_, mmIniOptions::instance().ignoreFutureTransactions_); double rate = pCurrencyPtr->baseConv_; tTermBalance += bal * rate; // actual amount in that account in the original rate tRecBalance += reconciledBal * rate; @@ -299,7 +294,7 @@ { double income = 0; double expenses = 0; - core_->bTransactionList_.getExpensesIncome(core_, pTA->id_, expenses, income, false, dtBegin, dtEnd, mmIniOptions::instance().ignoreFutureTransactions_); + core_->bTransactionList_.getExpensesIncome(core_, account->id_, expenses, income, false, dtBegin, dtEnd, mmIniOptions::instance().ignoreFutureTransactions_); // show the actual amount in that account wxString balanceStr; @@ -307,12 +302,12 @@ mmex::formatDoubleToCurrency(bal, balanceStr); mmex::formatDoubleToCurrency(reconciledBal, reconciledBalStr); - if ((vAccts == "Open" && pTA->status_ == mmAccount::MMEX_Open) || - (vAccts == "Favorites" && pTA->favoriteAcct_) || + if ((vAccts == "Open" && account->status_ == mmAccount::MMEX_Open) || + (vAccts == "Favorites" && account->favoriteAcct_) || (vAccts == "ALL")) { hb.startTableRow(); - hb.addTableCellLink(wxString::Format("ACCT:%d", pTA->id_), pTA->name_, false, true); + hb.addTableCellLink(wxString::Format("ACCT:%d", account->id_), account->name_, false, true); hb.addTableCell(reconciledBalStr, true); hb.addTableCell(balanceStr, true); hb.endTableRow(); Modified: trunk/mmex/src/reports/cashflow.cpp =================================================================== --- trunk/mmex/src/reports/cashflow.cpp 2013-04-29 04:41:21 UTC (rev 3797) +++ trunk/mmex/src/reports/cashflow.cpp 2013-04-29 05:01:12 UTC (rev 3798) @@ -91,10 +91,8 @@ double tInitialBalance = 0.0; std::map<wxDateTime, double> daily_balance; - std::pair<mmAccountList::const_iterator, mmAccountList::const_iterator> range = core_->accountList_.range(); - for (mmAccountList::const_iterator it = range.first; it != range.second; ++ it) + for (const auto& account: core_->accountList_.accounts_) { - const mmAccount* account = it->get(); if (account->status_ == mmAccount::MMEX_Closed || account->acctType_ == ACCOUNT_TYPE_STOCK) continue; if (accountArray_) Modified: trunk/mmex/src/reports/summary.cpp =================================================================== --- trunk/mmex/src/reports/summary.cpp 2013-04-29 04:41:21 UTC (rev 3797) +++ trunk/mmex/src/reports/summary.cpp 2013-04-29 05:01:12 UTC (rev 3798) @@ -45,16 +45,13 @@ hb.endTableRow(); /* Checking */ - std::pair<mmAccountList::const_iterator, mmAccountList::const_iterator> range = core_->accountList_.range(); - for (mmAccountList::const_iterator it = range.first; it != range.second; ++ it) + for (const auto& account: core_->accountList_.accounts_) { - const mmAccount* pCA = it->get(); - - if (pCA->acctType_ == ACCOUNT_TYPE_BANK && pCA->status_ == mmAccount::MMEX_Open) + if (account->acctType_ == ACCOUNT_TYPE_BANK && account->status_ == mmAccount::MMEX_Open) { - double bal = pCA->initialBalance_ + core_->bTransactionList_.getBalance(pCA->id_, mmIniOptions::instance().ignoreFutureTransactions_); + double bal = account->initialBalance_ + core_->bTransactionList_.getBalance(account->id_, mmIniOptions::instance().ignoreFutureTransactions_); - wxSharedPtr<mmCurrency> pCurrencyPtr = core_->accountList_.getCurrencySharedPtr(pCA->id_); + wxSharedPtr<mmCurrency> pCurrencyPtr = core_->accountList_.getCurrencySharedPtr(account->id_); wxASSERT(pCurrencyPtr); mmex::CurrencyFormatter::instance().loadSettings(*pCurrencyPtr); double rate = pCurrencyPtr->baseConv_; @@ -65,7 +62,7 @@ mmex::formatDoubleToCurrency(bal, balance); hb.startTableRow(); - hb.addTableCellLink(wxString::Format("ACCT:%d", pCA->id_),pCA->name_, false, true); + hb.addTableCellLink(wxString::Format("ACCT:%d", account->id_),account->name_, false, true); hb.addTableCell(balance, true); hb.endTableRow(); } @@ -86,15 +83,13 @@ /* Terms */ double tTBalance = 0.0; - for (mmAccountList::const_iterator it = range.first; it != range.second; ++ it) + for (const auto& account: core_->accountList_.accounts_) { - const mmAccount* pTA = it->get(); - - if (pTA->status_== mmAccount::MMEX_Open && pTA->acctType_ == ACCOUNT_TYPE_TERM) + if (account->status_== mmAccount::MMEX_Open && account->acctType_ == ACCOUNT_TYPE_TERM) { - double bal = pTA->initialBalance_ + core_->bTransactionList_.getBalance(pTA->id_, mmIniOptions::instance().ignoreFutureTransactions_); + double bal = account->initialBalance_ + core_->bTransactionList_.getBalance(account->id_, mmIniOptions::instance().ignoreFutureTransactions_); - wxSharedPtr<mmCurrency> pCurrencyPtr = core_->accountList_.getCurrencySharedPtr(pTA->id_); + wxSharedPtr<mmCurrency> pCurrencyPtr = core_->accountList_.getCurrencySharedPtr(account->id_); wxASSERT(pCurrencyPtr); mmex::CurrencyFormatter::instance().loadSettings(*pCurrencyPtr); double rate = pCurrencyPtr->baseConv_; @@ -105,7 +100,7 @@ mmex::formatDoubleToCurrency(bal, balance); hb.startTableRow(); - hb.addTableCellLink(wxString::Format("ACCT:%d", pTA->id_),pTA->name_, false, true); + hb.addTableCellLink(wxString::Format("ACCT:%d", account->id_),account->name_, false, true); hb.addTableCell(balance, true); hb.endTableRow(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |