diff --git a/src/billsdepositsdialog.cpp b/src/billsdepositsdialog.cpp index a14611ac2c..4694b5ac26 100644 --- a/src/billsdepositsdialog.cpp +++ b/src/billsdepositsdialog.cpp @@ -666,7 +666,7 @@ void mmBDDialog::OnPayee(wxCommandEvent& /*event*/) } else { - mmPayeeDialog dlg(this); + mmPayeeDialog dlg(this,true); if (dlg.ShowModal() == wxID_OK) { diff --git a/src/mmframe.cpp b/src/mmframe.cpp index a27d445724..f654ec28c9 100644 --- a/src/mmframe.cpp +++ b/src/mmframe.cpp @@ -2082,7 +2082,7 @@ void mmGUIFrame::OnOrgCategories(wxCommandEvent& /*event*/) void mmGUIFrame::OnOrgPayees(wxCommandEvent& /*event*/) { - mmPayeeDialog dlg(this); + mmPayeeDialog dlg(this,false); dlg.ShowModal(); if (dlg.getRefreshRequested()) { diff --git a/src/payeedialog.cpp b/src/payeedialog.cpp index 806c53b547..98e3e59516 100644 --- a/src/payeedialog.cpp +++ b/src/payeedialog.cpp @@ -43,16 +43,18 @@ wxBEGIN_EVENT_TABLE( mmPayeeDialog, wxDialog ) EVT_DATAVIEW_ITEM_VALUE_CHANGED(wxID_ANY, mmPayeeDialog::OnDataChanged) EVT_DATAVIEW_ITEM_EDITING_STARTED(wxID_ANY, mmPayeeDialog::OnDataEditStart) EVT_DATAVIEW_SELECTION_CHANGED(wxID_ANY, mmPayeeDialog::OnListItemSelected) + EVT_DATAVIEW_ITEM_ACTIVATED(wxID_ANY, mmPayeeDialog::OnListItemActivated) EVT_DATAVIEW_ITEM_CONTEXT_MENU(wxID_ANY, mmPayeeDialog::OnItemRightClick) EVT_MENU_RANGE(MENU_DEFINE_CATEGORY, MENU_RELOCATE_PAYEE, mmPayeeDialog::OnMenuSelected) wxEND_EVENT_TABLE() -mmPayeeDialog::mmPayeeDialog(wxWindow *parent) : +mmPayeeDialog::mmPayeeDialog(wxWindow *parent, const bool& payee_choose) : m_payee_id(-1) , m_maskTextCtrl() , payeeListBox_() , m_payee_rename(-1) + , m_payee_choose(payee_choose) , refreshRequested_(false) #ifdef _DEBUG , debug_(true) @@ -196,6 +198,12 @@ void mmPayeeDialog::OnListItemSelected(wxDataViewEvent& event) m_payee_id = (int)payeeListBox_->GetItemData(item); } +void mmPayeeDialog::OnListItemActivated(wxDataViewEvent& event) +{ + if (m_payee_id > 0 && m_payee_choose) + EndModal(wxID_OK); +} + void mmPayeeDialog::AddPayee() { const wxString name = wxGetTextFromUser(_("Enter the name for the new payee:") @@ -333,8 +341,8 @@ void mmPayeeDialog::OnMenuSelected(wxCommandEvent& event) switch(id) { case MENU_DEFINE_CATEGORY: DefineDefaultCategory() ; break; - case NENU_NEW_PAYEE: AddPayee(); break; - case NENU_EDIT_PAYEE: EditPayee(); break; + case MENU_NEW_PAYEE: AddPayee(); break; + case MENU_EDIT_PAYEE: EditPayee(); break; case MENU_DELETE_PAYEE: DeletePayee(); break; case MENU_ORGANIZE_ATTACHMENTS: OnOrganizeAttachments(); break; case MENU_RELOCATE_PAYEE: OnPayeeRelocate(); break; @@ -361,9 +369,9 @@ void mmPayeeDialog::OnItemRightClick(wxDataViewEvent& event) if (!payee) mainMenu->Enable(MENU_DEFINE_CATEGORY, false); mainMenu->AppendSeparator(); - mainMenu->Append(new wxMenuItem(mainMenu, NENU_NEW_PAYEE, _("&Add "))); - mainMenu->Append(new wxMenuItem(mainMenu, NENU_EDIT_PAYEE, _("&Edit "))); - if (!payee) mainMenu->Enable(NENU_EDIT_PAYEE, false); + mainMenu->Append(new wxMenuItem(mainMenu, MENU_NEW_PAYEE, _("&Add "))); + mainMenu->Append(new wxMenuItem(mainMenu, MENU_EDIT_PAYEE, _("&Edit "))); + if (!payee) mainMenu->Enable(MENU_EDIT_PAYEE, false); mainMenu->Append(new wxMenuItem(mainMenu, MENU_DELETE_PAYEE, _("&Remove "))); if (!payee || Model_Payee::is_used(m_payee_id)) mainMenu->Enable(MENU_DELETE_PAYEE, false); mainMenu->AppendSeparator(); diff --git a/src/payeedialog.h b/src/payeedialog.h index c3ebaf103b..82e57ffbf8 100644 --- a/src/payeedialog.h +++ b/src/payeedialog.h @@ -30,7 +30,7 @@ class mmPayeeDialog : public wxDialog wxDECLARE_EVENT_TABLE(); public: - mmPayeeDialog(wxWindow* parent); + mmPayeeDialog(wxWindow* parent, const bool& payee_choose); int getPayeeId() const {return m_payee_id;} bool getRefreshRequested() const {return refreshRequested_;} @@ -46,8 +46,8 @@ class mmPayeeDialog : public wxDialog enum menu_items { MENU_DEFINE_CATEGORY = 1, - NENU_NEW_PAYEE, - NENU_EDIT_PAYEE, + MENU_NEW_PAYEE, + MENU_EDIT_PAYEE, MENU_DELETE_PAYEE, MENU_ORGANIZE_ATTACHMENTS, MENU_RELOCATE_PAYEE @@ -58,6 +58,7 @@ class mmPayeeDialog : public wxDialog int m_payee_id; int m_payee_rename; + bool m_payee_choose; wxString m_maskStr; bool refreshRequested_; std::map ColName_; @@ -78,6 +79,7 @@ class mmPayeeDialog : public wxDialog void OnOk(wxCommandEvent& /*event*/); void OnListItemSelected(wxDataViewEvent& event); + void OnListItemActivated(wxDataViewEvent& event); void OnDataEditStart(wxDataViewEvent& event); void OnDataChanged(wxDataViewEvent& event); void OnMenuSelected(wxCommandEvent& event);