diff --git a/Source/Plugins/Plugin_Wiimote/Src/ConfigBasicDlg.cpp b/Source/Plugins/Plugin_Wiimote/Src/ConfigBasicDlg.cpp index 02996925ff..ad303da7af 100644 --- a/Source/Plugins/Plugin_Wiimote/Src/ConfigBasicDlg.cpp +++ b/Source/Plugins/Plugin_Wiimote/Src/ConfigBasicDlg.cpp @@ -67,33 +67,21 @@ WiimoteBasicConfigDialog::WiimoteBasicConfigDialog(wxWindow *parent, wxWindowID UpdateGUI(); } -WiimoteBasicConfigDialog::~WiimoteBasicConfigDialog(){} - void WiimoteBasicConfigDialog::OnClose(wxCloseEvent& event) { g_FrameOpen = false; g_Config.Save(); - if ((m_PadConfigFrame && m_PadConfigFrame->IsShown()) || (m_RecordingConfigFrame && m_RecordingConfigFrame->IsShown())) + if (m_PadConfigFrame) { - Closing = false; - Hide(); + m_PadConfigFrame->EndModal(wxID_CLOSE); + m_PadConfigFrame = NULL; } - else + if (m_RecordingConfigFrame) { - Closing = true; - if (m_PadConfigFrame) - { - m_PadConfigFrame->Close(); - m_PadConfigFrame = NULL; - } - if (m_RecordingConfigFrame) - { - m_RecordingConfigFrame->Close(); - m_RecordingConfigFrame = NULL; - } - - if (!g_EmulatorRunning) Shutdown(); + m_RecordingConfigFrame->EndModal(wxID_CLOSE); + m_RecordingConfigFrame = NULL; } + if (!g_EmulatorRunning) Shutdown(); // This will let the Close() function close and remove the wxDialog event.Skip(); } @@ -135,14 +123,14 @@ void WiimoteBasicConfigDialog::ButtonClick(wxCommandEvent& event) if (!m_PadConfigFrame) m_PadConfigFrame = new WiimotePadConfigDialog(this); if (!m_PadConfigFrame->IsShown()) - m_PadConfigFrame->Show(); + m_PadConfigFrame->ShowModal(); break; case ID_BUTTONRECORDING: if (!m_RecordingConfigFrame) m_RecordingConfigFrame = new WiimoteRecordingConfigDialog(this); if (!m_RecordingConfigFrame->IsShown()) - m_RecordingConfigFrame->Show(); + m_RecordingConfigFrame->ShowModal(); break; } } @@ -297,7 +285,7 @@ void WiimoteBasicConfigDialog::CreateGUIControls() m_ButtonMapping = new wxButton(this, ID_BUTTONMAPPING, wxT("Button Mapping")); m_Recording = new wxButton(this, ID_BUTTONRECORDING, wxT("Recording")); - m_Apply = new wxButton(this, ID_APPLY, wxT("Apply"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); + m_Apply = new wxButton(this, ID_APPLY, wxT("Apply")); m_Close = new wxButton(this, ID_CLOSE, wxT("Close")); m_Close->SetToolTip(wxT("Apply and Close")); @@ -374,9 +362,7 @@ void WiimoteBasicConfigDialog::DoUseReal() } } -// =================================================== -/* Generate connect/disconnect status event */ -// ---------------- +// Generate connect/disconnect status event void WiimoteBasicConfigDialog::DoExtensionConnectedDisconnected(int Extension) { // There is no need for this if no game is running diff --git a/Source/Plugins/Plugin_Wiimote/Src/ConfigBasicDlg.h b/Source/Plugins/Plugin_Wiimote/Src/ConfigBasicDlg.h index f67799c843..44db69cd7e 100644 --- a/Source/Plugins/Plugin_Wiimote/Src/ConfigBasicDlg.h +++ b/Source/Plugins/Plugin_Wiimote/Src/ConfigBasicDlg.h @@ -40,7 +40,7 @@ class WiimoteBasicConfigDialog : public wxDialog const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE | wxWANTS_CHARS); - virtual ~WiimoteBasicConfigDialog(); + virtual ~WiimoteBasicConfigDialog(){;} // General open, close and event functions void ButtonClick(wxCommandEvent& event); diff --git a/Source/Plugins/Plugin_Wiimote/Src/ConfigPadDlg.cpp b/Source/Plugins/Plugin_Wiimote/Src/ConfigPadDlg.cpp index 6d988bfa17..6f4f38363e 100644 --- a/Source/Plugins/Plugin_Wiimote/Src/ConfigPadDlg.cpp +++ b/Source/Plugins/Plugin_Wiimote/Src/ConfigPadDlg.cpp @@ -35,7 +35,7 @@ enum TriggerType CTL_TRIGGER_XINPUT }; -BEGIN_EVENT_TABLE(WiimotePadConfigDialog,wxFrame) +BEGIN_EVENT_TABLE(WiimotePadConfigDialog,wxDialog) EVT_CLOSE(WiimotePadConfigDialog::OnClose) EVT_BUTTON(ID_CLOSE, WiimotePadConfigDialog::CloseClick) EVT_BUTTON(ID_APPLY, WiimotePadConfigDialog::CloseClick) @@ -92,7 +92,7 @@ END_EVENT_TABLE() WiimotePadConfigDialog::WiimotePadConfigDialog(wxWindow *parent, wxWindowID id, const wxString &title, const wxPoint &position, const wxSize& size, long style) -: wxFrame(parent, id, title, position, size, style) +: wxDialog(parent, id, title, position, size, style) { #if wxUSE_TIMER m_ButtonMappingTimer = new wxTimer(this, IDTM_BUTTON); @@ -194,9 +194,7 @@ void WiimotePadConfigDialog::OnClose(wxCloseEvent& event) if(m_UpdatePad) m_UpdatePad->Stop(); g_Config.Save(); - Hide(); - if(!m_BasicConfigFrame->Closing) - m_BasicConfigFrame->Close(); + event.Skip(); } void WiimotePadConfigDialog::CloseClick(wxCommandEvent& event) @@ -1024,7 +1022,7 @@ void WiimotePadConfigDialog::CreatePadGUIControls() - m_Apply = new wxButton(this, ID_APPLY, wxT("Apply"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); + m_Apply = new wxButton(this, ID_APPLY, wxT("Apply")); m_Close = new wxButton(this, ID_CLOSE, wxT("Close")); m_Close->SetToolTip(wxT("Apply and Close")); diff --git a/Source/Plugins/Plugin_Wiimote/Src/ConfigPadDlg.h b/Source/Plugins/Plugin_Wiimote/Src/ConfigPadDlg.h index a2d5f6da82..bf242b6cea 100644 --- a/Source/Plugins/Plugin_Wiimote/Src/ConfigPadDlg.h +++ b/Source/Plugins/Plugin_Wiimote/Src/ConfigPadDlg.h @@ -31,7 +31,7 @@ #include #include -class WiimotePadConfigDialog : public wxFrame +class WiimotePadConfigDialog : public wxDialog { public: WiimotePadConfigDialog(wxWindow *parent, diff --git a/Source/Plugins/Plugin_Wiimote/Src/ConfigRecordingDlg.cpp b/Source/Plugins/Plugin_Wiimote/Src/ConfigRecordingDlg.cpp index ec8744ff6f..51a5537121 100644 --- a/Source/Plugins/Plugin_Wiimote/Src/ConfigRecordingDlg.cpp +++ b/Source/Plugins/Plugin_Wiimote/Src/ConfigRecordingDlg.cpp @@ -30,7 +30,7 @@ #include "EmuSubroutines.h" // for WmRequestStatus #include "EmuDefinitions.h" // for joyinfo -BEGIN_EVENT_TABLE(WiimoteRecordingConfigDialog,wxFrame)//wxDialog) +BEGIN_EVENT_TABLE(WiimoteRecordingConfigDialog,wxDialog) EVT_CLOSE(WiimoteRecordingConfigDialog::OnClose) EVT_BUTTON(ID_CLOSE, WiimoteRecordingConfigDialog::CloseClick) EVT_BUTTON(ID_APPLY, WiimoteRecordingConfigDialog::CloseClick) @@ -71,7 +71,7 @@ END_EVENT_TABLE() WiimoteRecordingConfigDialog::WiimoteRecordingConfigDialog(wxWindow *parent, wxWindowID id, const wxString &title, const wxPoint &position, const wxSize& size, long style) -: wxFrame +: wxDialog (parent, id, title, position, size, style) { #if wxUSE_TIMER @@ -94,10 +94,7 @@ void WiimoteRecordingConfigDialog::OnClose(wxCloseEvent& event) g_FrameOpen = false; SaveFile(); g_Config.Save(); - - Hide(); - if(!m_BasicConfigFrame->Closing) - m_BasicConfigFrame->Close(); + event.Skip(); } @@ -106,8 +103,6 @@ void WiimoteRecordingConfigDialog::CloseClick(wxCommandEvent& event) switch(event.GetId()) { case ID_CLOSE: - g_Config.Save(); - SaveFile(); Close(); break; case ID_APPLY: diff --git a/Source/Plugins/Plugin_Wiimote/Src/ConfigRecordingDlg.h b/Source/Plugins/Plugin_Wiimote/Src/ConfigRecordingDlg.h index 5af962cd0f..75f6a67561 100644 --- a/Source/Plugins/Plugin_Wiimote/Src/ConfigRecordingDlg.h +++ b/Source/Plugins/Plugin_Wiimote/Src/ConfigRecordingDlg.h @@ -29,7 +29,7 @@ #include #include -class WiimoteRecordingConfigDialog : public wxFrame +class WiimoteRecordingConfigDialog : public wxDialog { public: WiimoteRecordingConfigDialog(wxWindow *parent,