From: <vo...@us...> - 2013-01-28 17:47:44
|
Revision: 3405 http://moneymanagerex.svn.sourceforge.net/moneymanagerex/?rev=3405&view=rev Author: vomikan Date: 2013-01-28 17:47:30 +0000 (Mon, 28 Jan 2013) Log Message: ----------- update Modified Paths: -------------- trunk/mmex/src/mmtransaction.cpp trunk/mmex/src/mmtransaction.h trunk/mmex/src/transdialog.cpp Modified: trunk/mmex/src/mmtransaction.cpp =================================================================== --- trunk/mmex/src/mmtransaction.cpp 2013-01-28 14:39:38 UTC (rev 3404) +++ trunk/mmex/src/mmtransaction.cpp 2013-01-28 17:47:30 UTC (rev 3405) @@ -855,44 +855,30 @@ return dt; } -int mmBankTransactionList::getLastUsedCategoryID(const int accountID, const int payeeID, int& subcategID) const +int mmBankTransactionList::getLastUsedCategoryID(const int accountID + , const int payeeID, const wxString sType, int& subcategID) const { int categ_id = -1; subcategID = -1; int index = transactions_.size() - 1; bool searching = true; - bool transfer = (accountID > 0 && payeeID < 0); + while (searching && index >= 0) { boost::shared_ptr<const mmBankTransaction> pTransaction = transactions_[index]; if (pTransaction) { - if (transfer) + if ((pTransaction->accountID_ == accountID || pTransaction->toAccountID_ == accountID) + && pTransaction->transType_ == sType + && pTransaction->payeeID_ == payeeID) { - if ((pTransaction->accountID_ == accountID || pTransaction->toAccountID_ == accountID) - && pTransaction->transType_ == TRANS_TYPE_TRANSFER_STR) + categ_id = pTransaction->categID_; + if (categ_id > -1) { - categ_id = pTransaction->categID_; - if (categ_id > -1) - { - subcategID = pTransaction->subcategID_; - searching = false; - } + subcategID = pTransaction->subcategID_; + searching = false; } } - else - { - if (pTransaction->payeeID_ == payeeID - && pTransaction->transType_ != TRANS_TYPE_TRANSFER_STR) - { - categ_id = pTransaction->categID_; - if (categ_id > -1) - { - subcategID = pTransaction->subcategID_; - searching = false; - } - } - } } index --; } Modified: trunk/mmex/src/mmtransaction.h =================================================================== --- trunk/mmex/src/mmtransaction.h 2013-01-28 14:39:38 UTC (rev 3404) +++ trunk/mmex/src/mmtransaction.h 2013-01-28 17:47:30 UTC (rev 3405) @@ -182,7 +182,7 @@ bool getDailyBalance(const mmCoreDB* core, int accountID, std::map<wxDateTime, double>& daily_balance, bool ignoreFuture = false) const; double getReconciledBalance(int accountID, bool ignoreFuture = false) const; int countFollowupTransactions() const; - int getLastUsedCategoryID(const int accountID, const int payeeID, int& subcategID) const; + int getLastUsedCategoryID(const int accountID, const int payeeID, const wxString sType, int& subcategID) const; int getLastUsedPayeeID(const int accountID, wxString sType, int& categID, int& subcategID) const; wxArrayString getTransactionNumber(const int accountID, const wxDateTime transaction_date) const; bool IsCategoryUsed(mmCoreDB* core, const int iCatID, const int iSubCatID, bool bIgnor_subcat = true) const; Modified: trunk/mmex/src/transdialog.cpp =================================================================== --- trunk/mmex/src/transdialog.cpp 2013-01-28 14:39:38 UTC (rev 3404) +++ trunk/mmex/src/transdialog.cpp 2013-01-28 17:47:30 UTC (rev 3405) @@ -224,7 +224,7 @@ wxString categString = resetCategoryString(); if (mmIniOptions::instance().transCategorySelectionNone_ != 0) { - categID_ = core_->bTransactionList_.getLastUsedCategoryID(accountID_, transfer ? -1 : payeeID_, subcategID_); + categID_ = core_->bTransactionList_.getLastUsedCategoryID(accountID_, payeeID_, sTransaction_type_, subcategID_); categString = core_->categoryList_.GetFullCategoryString(categID_, subcategID_); categoryName_ = core_->categoryList_.GetCategoryName(categID_); subCategoryName_ = core_->categoryList_.GetSubCategoryName(categID_, subcategID_); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |