mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-22 05:40:01 -06:00
Change Wiimote padconfig and recording wxframes to modal dialogs. (Works better for linux)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3688 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
@ -67,33 +67,21 @@ WiimoteBasicConfigDialog::WiimoteBasicConfigDialog(wxWindow *parent, wxWindowID
|
|||||||
UpdateGUI();
|
UpdateGUI();
|
||||||
}
|
}
|
||||||
|
|
||||||
WiimoteBasicConfigDialog::~WiimoteBasicConfigDialog(){}
|
|
||||||
|
|
||||||
void WiimoteBasicConfigDialog::OnClose(wxCloseEvent& event)
|
void WiimoteBasicConfigDialog::OnClose(wxCloseEvent& event)
|
||||||
{
|
{
|
||||||
g_FrameOpen = false;
|
g_FrameOpen = false;
|
||||||
g_Config.Save();
|
g_Config.Save();
|
||||||
if ((m_PadConfigFrame && m_PadConfigFrame->IsShown()) || (m_RecordingConfigFrame && m_RecordingConfigFrame->IsShown()))
|
if (m_PadConfigFrame)
|
||||||
{
|
{
|
||||||
Closing = false;
|
m_PadConfigFrame->EndModal(wxID_CLOSE);
|
||||||
Hide();
|
m_PadConfigFrame = NULL;
|
||||||
}
|
}
|
||||||
else
|
if (m_RecordingConfigFrame)
|
||||||
{
|
{
|
||||||
Closing = true;
|
m_RecordingConfigFrame->EndModal(wxID_CLOSE);
|
||||||
if (m_PadConfigFrame)
|
m_RecordingConfigFrame = NULL;
|
||||||
{
|
|
||||||
m_PadConfigFrame->Close();
|
|
||||||
m_PadConfigFrame = NULL;
|
|
||||||
}
|
|
||||||
if (m_RecordingConfigFrame)
|
|
||||||
{
|
|
||||||
m_RecordingConfigFrame->Close();
|
|
||||||
m_RecordingConfigFrame = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!g_EmulatorRunning) Shutdown();
|
|
||||||
}
|
}
|
||||||
|
if (!g_EmulatorRunning) Shutdown();
|
||||||
// This will let the Close() function close and remove the wxDialog
|
// This will let the Close() function close and remove the wxDialog
|
||||||
event.Skip();
|
event.Skip();
|
||||||
}
|
}
|
||||||
@ -135,14 +123,14 @@ void WiimoteBasicConfigDialog::ButtonClick(wxCommandEvent& event)
|
|||||||
if (!m_PadConfigFrame)
|
if (!m_PadConfigFrame)
|
||||||
m_PadConfigFrame = new WiimotePadConfigDialog(this);
|
m_PadConfigFrame = new WiimotePadConfigDialog(this);
|
||||||
if (!m_PadConfigFrame->IsShown())
|
if (!m_PadConfigFrame->IsShown())
|
||||||
m_PadConfigFrame->Show();
|
m_PadConfigFrame->ShowModal();
|
||||||
break;
|
break;
|
||||||
case ID_BUTTONRECORDING:
|
case ID_BUTTONRECORDING:
|
||||||
if (!m_RecordingConfigFrame)
|
if (!m_RecordingConfigFrame)
|
||||||
m_RecordingConfigFrame = new WiimoteRecordingConfigDialog(this);
|
m_RecordingConfigFrame = new WiimoteRecordingConfigDialog(this);
|
||||||
|
|
||||||
if (!m_RecordingConfigFrame->IsShown())
|
if (!m_RecordingConfigFrame->IsShown())
|
||||||
m_RecordingConfigFrame->Show();
|
m_RecordingConfigFrame->ShowModal();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -297,7 +285,7 @@ void WiimoteBasicConfigDialog::CreateGUIControls()
|
|||||||
|
|
||||||
m_ButtonMapping = new wxButton(this, ID_BUTTONMAPPING, wxT("Button Mapping"));
|
m_ButtonMapping = new wxButton(this, ID_BUTTONMAPPING, wxT("Button Mapping"));
|
||||||
m_Recording = new wxButton(this, ID_BUTTONRECORDING, wxT("Recording"));
|
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 = new wxButton(this, ID_CLOSE, wxT("Close"));
|
||||||
m_Close->SetToolTip(wxT("Apply and 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)
|
void WiimoteBasicConfigDialog::DoExtensionConnectedDisconnected(int Extension)
|
||||||
{
|
{
|
||||||
// There is no need for this if no game is running
|
// There is no need for this if no game is running
|
||||||
|
@ -40,7 +40,7 @@ class WiimoteBasicConfigDialog : public wxDialog
|
|||||||
const wxPoint& pos = wxDefaultPosition,
|
const wxPoint& pos = wxDefaultPosition,
|
||||||
const wxSize& size = wxDefaultSize,
|
const wxSize& size = wxDefaultSize,
|
||||||
long style = wxDEFAULT_DIALOG_STYLE | wxWANTS_CHARS);
|
long style = wxDEFAULT_DIALOG_STYLE | wxWANTS_CHARS);
|
||||||
virtual ~WiimoteBasicConfigDialog();
|
virtual ~WiimoteBasicConfigDialog(){;}
|
||||||
|
|
||||||
// General open, close and event functions
|
// General open, close and event functions
|
||||||
void ButtonClick(wxCommandEvent& event);
|
void ButtonClick(wxCommandEvent& event);
|
||||||
|
@ -35,7 +35,7 @@ enum TriggerType
|
|||||||
CTL_TRIGGER_XINPUT
|
CTL_TRIGGER_XINPUT
|
||||||
};
|
};
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE(WiimotePadConfigDialog,wxFrame)
|
BEGIN_EVENT_TABLE(WiimotePadConfigDialog,wxDialog)
|
||||||
EVT_CLOSE(WiimotePadConfigDialog::OnClose)
|
EVT_CLOSE(WiimotePadConfigDialog::OnClose)
|
||||||
EVT_BUTTON(ID_CLOSE, WiimotePadConfigDialog::CloseClick)
|
EVT_BUTTON(ID_CLOSE, WiimotePadConfigDialog::CloseClick)
|
||||||
EVT_BUTTON(ID_APPLY, WiimotePadConfigDialog::CloseClick)
|
EVT_BUTTON(ID_APPLY, WiimotePadConfigDialog::CloseClick)
|
||||||
@ -92,7 +92,7 @@ END_EVENT_TABLE()
|
|||||||
|
|
||||||
WiimotePadConfigDialog::WiimotePadConfigDialog(wxWindow *parent, wxWindowID id, const wxString &title,
|
WiimotePadConfigDialog::WiimotePadConfigDialog(wxWindow *parent, wxWindowID id, const wxString &title,
|
||||||
const wxPoint &position, const wxSize& size, long style)
|
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
|
#if wxUSE_TIMER
|
||||||
m_ButtonMappingTimer = new wxTimer(this, IDTM_BUTTON);
|
m_ButtonMappingTimer = new wxTimer(this, IDTM_BUTTON);
|
||||||
@ -194,9 +194,7 @@ void WiimotePadConfigDialog::OnClose(wxCloseEvent& event)
|
|||||||
if(m_UpdatePad)
|
if(m_UpdatePad)
|
||||||
m_UpdatePad->Stop();
|
m_UpdatePad->Stop();
|
||||||
g_Config.Save();
|
g_Config.Save();
|
||||||
Hide();
|
event.Skip();
|
||||||
if(!m_BasicConfigFrame->Closing)
|
|
||||||
m_BasicConfigFrame->Close();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void WiimotePadConfigDialog::CloseClick(wxCommandEvent& event)
|
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 = new wxButton(this, ID_CLOSE, wxT("Close"));
|
||||||
m_Close->SetToolTip(wxT("Apply and Close"));
|
m_Close->SetToolTip(wxT("Apply and Close"));
|
||||||
|
|
||||||
|
@ -31,7 +31,7 @@
|
|||||||
#include <wx/panel.h>
|
#include <wx/panel.h>
|
||||||
#include <wx/gbsizer.h>
|
#include <wx/gbsizer.h>
|
||||||
|
|
||||||
class WiimotePadConfigDialog : public wxFrame
|
class WiimotePadConfigDialog : public wxDialog
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
WiimotePadConfigDialog(wxWindow *parent,
|
WiimotePadConfigDialog(wxWindow *parent,
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
#include "EmuSubroutines.h" // for WmRequestStatus
|
#include "EmuSubroutines.h" // for WmRequestStatus
|
||||||
#include "EmuDefinitions.h" // for joyinfo
|
#include "EmuDefinitions.h" // for joyinfo
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE(WiimoteRecordingConfigDialog,wxFrame)//wxDialog)
|
BEGIN_EVENT_TABLE(WiimoteRecordingConfigDialog,wxDialog)
|
||||||
EVT_CLOSE(WiimoteRecordingConfigDialog::OnClose)
|
EVT_CLOSE(WiimoteRecordingConfigDialog::OnClose)
|
||||||
EVT_BUTTON(ID_CLOSE, WiimoteRecordingConfigDialog::CloseClick)
|
EVT_BUTTON(ID_CLOSE, WiimoteRecordingConfigDialog::CloseClick)
|
||||||
EVT_BUTTON(ID_APPLY, WiimoteRecordingConfigDialog::CloseClick)
|
EVT_BUTTON(ID_APPLY, WiimoteRecordingConfigDialog::CloseClick)
|
||||||
@ -71,7 +71,7 @@ END_EVENT_TABLE()
|
|||||||
|
|
||||||
WiimoteRecordingConfigDialog::WiimoteRecordingConfigDialog(wxWindow *parent, wxWindowID id, const wxString &title,
|
WiimoteRecordingConfigDialog::WiimoteRecordingConfigDialog(wxWindow *parent, wxWindowID id, const wxString &title,
|
||||||
const wxPoint &position, const wxSize& size, long style)
|
const wxPoint &position, const wxSize& size, long style)
|
||||||
: wxFrame
|
: wxDialog
|
||||||
(parent, id, title, position, size, style)
|
(parent, id, title, position, size, style)
|
||||||
{
|
{
|
||||||
#if wxUSE_TIMER
|
#if wxUSE_TIMER
|
||||||
@ -94,10 +94,7 @@ void WiimoteRecordingConfigDialog::OnClose(wxCloseEvent& event)
|
|||||||
g_FrameOpen = false;
|
g_FrameOpen = false;
|
||||||
SaveFile();
|
SaveFile();
|
||||||
g_Config.Save();
|
g_Config.Save();
|
||||||
|
event.Skip();
|
||||||
Hide();
|
|
||||||
if(!m_BasicConfigFrame->Closing)
|
|
||||||
m_BasicConfigFrame->Close();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -106,8 +103,6 @@ void WiimoteRecordingConfigDialog::CloseClick(wxCommandEvent& event)
|
|||||||
switch(event.GetId())
|
switch(event.GetId())
|
||||||
{
|
{
|
||||||
case ID_CLOSE:
|
case ID_CLOSE:
|
||||||
g_Config.Save();
|
|
||||||
SaveFile();
|
|
||||||
Close();
|
Close();
|
||||||
break;
|
break;
|
||||||
case ID_APPLY:
|
case ID_APPLY:
|
||||||
|
@ -29,7 +29,7 @@
|
|||||||
#include <wx/checkbox.h>
|
#include <wx/checkbox.h>
|
||||||
#include <wx/panel.h>
|
#include <wx/panel.h>
|
||||||
|
|
||||||
class WiimoteRecordingConfigDialog : public wxFrame
|
class WiimoteRecordingConfigDialog : public wxDialog
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
WiimoteRecordingConfigDialog(wxWindow *parent,
|
WiimoteRecordingConfigDialog(wxWindow *parent,
|
||||||
|
Reference in New Issue
Block a user