From: <vo...@us...> - 2013-06-07 09:03:03
|
Revision: 4046 http://sourceforge.net/p/moneymanagerex/code/4046 Author: vomikan Date: 2013-06-07 09:03:01 +0000 (Fri, 07 Jun 2013) Log Message: ----------- Currency Symbol/Name pairs provided from map Modified Paths: -------------- trunk/mmex/src/currencydialog.cpp trunk/mmex/src/currencydialog.h Modified: trunk/mmex/src/currencydialog.cpp =================================================================== --- trunk/mmex/src/currencydialog.cpp 2013-06-06 17:49:43 UTC (rev 4045) +++ trunk/mmex/src/currencydialog.cpp 2013-06-07 09:03:01 UTC (rev 4046) @@ -101,6 +101,16 @@ currencyNameCombo_->SetSelection(0); } + for(const auto& i : ce_->CURRENCIES_MAP()) + { + currency_symbols_.Add(i.first); + currency_names_.Add(i.second); + currencyNameCombo_->Append(i.second); + currencySymbolCombo_->Append(i.first); + } + currencyNameCombo_->AutoComplete(currency_names_); + currencySymbolCombo_->AutoComplete(currency_symbols_); + updateControls(); } @@ -159,17 +169,9 @@ itemBoxSizer2->Add(itemFlexGridSizer3, flags); //-------------------------- - - for(size_t i = 0; i < sizeof(CURRENCIES)/sizeof(wxString); ++i) - { - currency_symbols_.Add(CURRENCIES[i]); - currency_names_.Add(CURRENCIES[++i]); - } - itemFlexGridSizer3->Add(new wxStaticText( this, wxID_STATIC, _("Currency Name")), flags); - currencyNameCombo_ = new wxComboBox( this, ID_DIALOG_CURRENCY_CHOICE, "", - wxDefaultPosition, size, currency_names_); + currencyNameCombo_ = new wxComboBox( this, ID_DIALOG_CURRENCY_CHOICE); itemFlexGridSizer3->Add(currencyNameCombo_, flags); currencyNameCombo_->Connect(ID_DIALOG_CURRENCY_CHOICE, wxEVT_COMMAND_COMBOBOX_SELECTED, @@ -177,8 +179,7 @@ itemFlexGridSizer3->Add(new wxStaticText( this, wxID_STATIC, _("Currency Symbol")), flags); - currencySymbolCombo_ = new wxComboBox( this, wxID_ANY, "", - wxDefaultPosition, wxDefaultSize, currency_symbols_); + currencySymbolCombo_ = new wxComboBox( this, wxID_ANY); itemFlexGridSizer3->Add(currencySymbolCombo_, flagsExpand); currencyNameCombo_->AutoComplete(currency_symbols_); @@ -279,12 +280,12 @@ void mmCurrencyDialog::OnCurrencyNameSelected(wxCommandEvent& /*event*/) { - wxString currency_name = currencyNameCombo_->GetValue(); - int index = currency_names_.Index(currency_name); - wxString currency_symbol; - if (index != wxNOT_FOUND) + for (const auto& i : ce_->CURRENCIES_MAP()) { - currency_symbol = currency_symbols_[index]; - currencySymbolCombo_->SetValue(currency_symbol); + if (i.second == currencyNameCombo_->GetValue()) + { + currencySymbolCombo_->SetValue(i.first); + break; + } } } Modified: trunk/mmex/src/currencydialog.h =================================================================== --- trunk/mmex/src/currencydialog.h 2013-06-06 17:49:43 UTC (rev 4045) +++ trunk/mmex/src/currencydialog.h 2013-06-07 09:03:01 UTC (rev 4046) @@ -29,6 +29,7 @@ #include "defs.h" #include "mmcoredb.h" #include "dbwrapper.h" +#include "db/currency.h" enum { ID_DIALOG_CURRENCY = wxID_HIGHEST + 1, @@ -48,6 +49,8 @@ ID_DIALOG_CURRENCY_TEXT_SYMBOL, }; +class TCurrencyEntry; + class mmCurrencyDialog : public wxDialog { DECLARE_DYNAMIC_CLASS( mmCurrencyDialog ) @@ -87,9 +90,10 @@ void fillControls(); mmCoreDB* core_; + TCurrencyEntry* ce_; - wxArrayString currency_symbols_; - wxArrayString currency_names_; + wxSortedArrayString currency_symbols_; + wxSortedArrayString currency_names_; int currencyID_; double convRate_; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |