ChangeGameDialog: Internally set the chosen game name

Passing in a reference to an empty string is unnecessary and
overcomplicates design.
This commit is contained in:
Lioncash 2015-08-16 01:08:51 -04:00
parent af35f38491
commit ca0b9481ea
3 changed files with 18 additions and 14 deletions

View File

@ -9,9 +9,8 @@
#include "DolphinWX/NetPlay/ChangeGameDialog.h"
#include "DolphinWX/NetPlay/NetWindow.h"
ChangeGameDialog::ChangeGameDialog(wxWindow* parent, const CGameListCtrl* const game_list, wxString& game_name)
ChangeGameDialog::ChangeGameDialog(wxWindow* parent, const CGameListCtrl* const game_list)
: wxDialog(parent, wxID_ANY, _("Change Game"))
, m_game_name(game_name)
{
m_game_lbox = new wxListBox(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, nullptr, wxLB_SORT);
m_game_lbox->Bind(wxEVT_LISTBOX_DCLICK, &ChangeGameDialog::OnPick, this);
@ -29,9 +28,13 @@ ChangeGameDialog::ChangeGameDialog(wxWindow* parent, const CGameListCtrl* const
SetFocus();
}
wxString ChangeGameDialog::GetChosenGameName() const
{
return m_game_name;
}
void ChangeGameDialog::OnPick(wxCommandEvent& event)
{
// return the selected game name
m_game_name = m_game_lbox->GetStringSelection();
EndModal(wxID_OK);
}

View File

@ -12,11 +12,13 @@ class wxListBox;
class ChangeGameDialog final : public wxDialog
{
public:
ChangeGameDialog(wxWindow* parent, const CGameListCtrl* const game_list, wxString& game_name);
ChangeGameDialog(wxWindow* parent, const CGameListCtrl* const game_list);
wxString GetChosenGameName() const;
private:
void OnPick(wxCommandEvent& event);
wxListBox* m_game_lbox;
wxString& m_game_name;
wxString m_game_name;
};

View File

@ -445,17 +445,16 @@ void NetPlayDialog::OnThread(wxThreadEvent& event)
void NetPlayDialog::OnChangeGame(wxCommandEvent&)
{
wxString game_name;
ChangeGameDialog cgd(this, m_game_list, game_name);
ChangeGameDialog cgd(this, m_game_list);
cgd.ShowModal();
if (game_name.length())
{
m_selected_game = WxStrToStr(game_name);
netplay_server->ChangeGame(m_selected_game);
m_game_btn->SetLabel(game_name.Prepend(_(" Game : ")));
}
wxString game_name = cgd.GetChosenGameName();
if (game_name.empty())
return;
m_selected_game = WxStrToStr(game_name);
netplay_server->ChangeGame(m_selected_game);
m_game_btn->SetLabel(game_name.Prepend(_(" Game : ")));
}
void NetPlayDialog::OnConfigPads(wxCommandEvent&)