From: <sie...@us...> - 2013-12-08 22:50:33
|
Revision: 5510 http://sourceforge.net/p/moneymanagerex/code/5510 Author: siena123 Date: 2013-12-08 22:50:29 +0000 (Sun, 08 Dec 2013) Log Message: ----------- fix multiple issues Modified Paths: -------------- branches/version_1.0.0.0/src/model/Model_Splittransaction.h branches/version_1.0.0.0/src/splitdetailsdialog.cpp branches/version_1.0.0.0/src/splittransactionsdialog.cpp branches/version_1.0.0.0/src/transdialog.cpp Modified: branches/version_1.0.0.0/src/model/Model_Splittransaction.h =================================================================== --- branches/version_1.0.0.0/src/model/Model_Splittransaction.h 2013-12-08 21:41:52 UTC (rev 5509) +++ branches/version_1.0.0.0/src/model/Model_Splittransaction.h 2013-12-08 22:50:29 UTC (rev 5510) @@ -95,7 +95,7 @@ } public: - double get_total(Data_Set& rows) + static double get_total(Data_Set& rows) { double total = 0.0; for (auto& r : rows) total += r.SPLITTRANSAMOUNT; Modified: branches/version_1.0.0.0/src/splitdetailsdialog.cpp =================================================================== --- branches/version_1.0.0.0/src/splitdetailsdialog.cpp 2013-12-08 21:41:52 UTC (rev 5509) +++ branches/version_1.0.0.0/src/splitdetailsdialog.cpp 2013-12-08 22:50:29 UTC (rev 5510) @@ -187,8 +187,9 @@ return; } + wxString amountStr = textAmount_->GetValue().Trim(); double amount; - if (!textAmount_->GetDouble(amount)) + if (!Model_Currency::fromString(amountStr, amount, Model_Account::currency(Model_Account::instance().get(accountID_))) || amount < 0) { mmShowErrorMessage(this, _("Invalid Amount Entered "), _("Error")); textAmount_->SetFocus(); Modified: branches/version_1.0.0.0/src/splittransactionsdialog.cpp =================================================================== --- branches/version_1.0.0.0/src/splittransactionsdialog.cpp 2013-12-08 21:41:52 UTC (rev 5509) +++ branches/version_1.0.0.0/src/splittransactionsdialog.cpp 2013-12-08 22:50:29 UTC (rev 5510) @@ -206,7 +206,6 @@ void SplitTransactionDialog::OnButtonRemoveClick( wxCommandEvent& event ) { if (selectedIndex_ < 0 || selectedIndex_ >= (int)this->m_local_splits.size()) return; - Model_Splittransaction::instance().remove(this->m_local_splits[selectedIndex_].SPLITTRANSID); this->m_local_splits.erase(this->m_local_splits.begin() + selectedIndex_); DataToControls(); } @@ -228,7 +227,7 @@ void SplitTransactionDialog::UpdateSplitTotal() { - double total = Model_Splittransaction::instance().get_total(this->m_local_splits); + double total = Model_Splittransaction::get_total(this->m_local_splits); transAmount_->SetLabel(Model_Currency::toCurrency(total)); } Modified: branches/version_1.0.0.0/src/transdialog.cpp =================================================================== --- branches/version_1.0.0.0/src/transdialog.cpp 2013-12-08 21:41:52 UTC (rev 5509) +++ branches/version_1.0.0.0/src/transdialog.cpp 2013-12-08 22:50:29 UTC (rev 5510) @@ -278,7 +278,6 @@ cbPayee_->SetEvtHandlerEnabled(true); } - //SetSplitState(); if (!skip_category_init_) { bool has_split = !this->m_local_splits.empty(); @@ -301,11 +300,11 @@ } bCategory_->SetLabel(fullCategoryName); - textAmount_->Enable(!has_split); cSplit_->SetValue(has_split); - cSplit_->Enable(Model_Checking::type(transaction_) != Model_Checking::TRANSFER); skip_category_init_ = true; } + textAmount_->Enable(m_local_splits.empty()); + cSplit_->Enable(!transfer); //Notes & Transaction Number if (!skip_notes_init_) @@ -589,7 +588,7 @@ wxString amountStr = textAmount_->GetValue().Trim(); //if (!amountStr.ToDouble(&transaction_->TRANSAMOUNT)) if (!Model_Currency::fromString(amountStr, transaction_->TRANSAMOUNT - , Model_Account::currency(account))) + , Model_Account::currency(account)) || transaction_->TRANSAMOUNT < 0) { textAmount_->SetBackgroundColour("RED"); mmShowErrorMessageInvalid(parent_, _("Amount")); @@ -614,7 +613,7 @@ { wxString amountStr = toTextAmount_->GetValue().Trim(); if (!Model_Currency::fromString(amountStr, transaction_->TOTRANSAMOUNT - , Model_Account::currency(account))) + , Model_Account::currency(account)) || transaction_->TOTRANSAMOUNT < 0) { toTextAmount_->SetBackgroundColour("RED"); mmShowErrorMessageInvalid(parent_, _("Advanced Amount")); @@ -660,7 +659,7 @@ else { Model_Account::Data *to_account = Model_Account::instance().get(transaction_->TOACCOUNTID); - if (!account || transaction_->TOACCOUNTID == newAccountID_ || Model_Account::type(to_account) == Model_Account::INVESTMENT) + if (!to_account || transaction_->TOACCOUNTID == newAccountID_ || Model_Account::type(to_account) == Model_Account::INVESTMENT) { mmShowErrorMessageInvalid(this, _("To Account")); cbPayee_->SetFocus(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |