More work on making dialogs close when escape is pressed, and some general GUI code clean up.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7360 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
Glenn Rice
2011-03-16 22:22:21 +00:00
parent 2692ba2697
commit bca4f94b47
16 changed files with 305 additions and 420 deletions

View File

@ -144,9 +144,8 @@ void VideoBackend::ShowConfig(void *_hParent)
// Clear ppshaders string vector
g_Config.backend_info.PPShaders.clear();
VideoConfigDiag *const diag = new VideoConfigDiag((wxWindow*)_hParent, _trans("Direct3D11"), "gfx_dx11");
diag->ShowModal();
diag->Destroy();
VideoConfigDiag diag((wxWindow*)_hParent, _trans("Direct3D11"), "gfx_dx11");
diag.ShowModal();
g_Config.backend_info.Adapters.clear();
DX11::D3D::UnloadDXGI();

View File

@ -125,9 +125,8 @@ void VideoBackend::ShowConfig(void* parent)
// Clear ppshaders string vector
g_Config.backend_info.PPShaders.clear();
VideoConfigDiag *const diag = new VideoConfigDiag((wxWindow*)parent, _trans("Direct3D9"), "gfx_dx9");
diag->ShowModal();
diag->Destroy();
VideoConfigDiag diag((wxWindow*)parent, _trans("Direct3D9"), "gfx_dx9");
diag.ShowModal();
g_Config.backend_info.Adapters.clear();
DX9::D3D::Shutdown();

View File

@ -152,9 +152,8 @@ void VideoBackend::ShowConfig(void *_hParent)
// pp shaders
GetShaders(g_Config.backend_info.PPShaders);
VideoConfigDiag *const diag = new VideoConfigDiag((wxWindow*)_hParent, "OpenGL", "gfx_opengl");
diag->ShowModal();
diag->Destroy();
VideoConfigDiag diag((wxWindow*)_hParent, "OpenGL", "gfx_opengl");
diag.ShowModal();
#endif
}

View File

@ -57,9 +57,8 @@ void *DllDebugger(void *_hParent, bool Show)
void VideoBackend::ShowConfig(void *_hParent)
{
#if defined(HAVE_WX) && HAVE_WX
VideoConfigDialog* const diag = new VideoConfigDialog((wxWindow*)_hParent, "Software", "gfx_software");
diag->ShowModal();
diag->Destroy();
VideoConfigDialog diag((wxWindow*)_hParent, "Software", "gfx_software");
diag.ShowModal();
#endif
}

View File

@ -105,27 +105,17 @@ VideoConfigDialog::VideoConfigDialog(wxWindow* parent, const std::string& title,
page_general->SetSizerAndFit(szr_general);
}
wxButton* const btn_close = new wxButton(this, -1, wxT("Close"), wxDefaultPosition);
_connect_macro_(btn_close, VideoConfigDialog::Event_ClickClose, wxEVT_COMMAND_BUTTON_CLICKED, this);
Connect(-1, wxEVT_CLOSE_WINDOW, wxCloseEventHandler(VideoConfigDialog::Event_Close), (wxObject*)0, this);
wxBoxSizer* const szr_main = new wxBoxSizer(wxVERTICAL);
szr_main->Add(notebook, 1, wxEXPAND | wxALL, 5);
szr_main->Add(btn_close, 0, wxALIGN_RIGHT | wxRIGHT | wxBOTTOM, 5);
szr_main->Add(new wxButton(this, wxID_OK, wxT("Close"), wxDefaultPosition),
0, wxALIGN_RIGHT | wxRIGHT | wxBOTTOM, 5);
SetSizerAndFit(szr_main);
Center();
SetFocus();
}
void VideoConfigDialog::Event_ClickClose(wxCommandEvent&)
{
Close();
}
void VideoConfigDialog::Event_Close(wxCloseEvent& ev)
VideoConfigDialog::~VideoConfigDialog()
{
g_SWVideoConfig.Save((File::GetUserPath(D_CONFIG_IDX) + ininame + ".ini").c_str());
EndModal(wxID_OK);
}

View File

@ -37,11 +37,9 @@ class VideoConfigDialog : public wxDialog
{
public:
VideoConfigDialog(wxWindow* parent, const std::string &title, const std::string& ininame);
~VideoConfigDialog();
protected:
void Event_ClickClose(wxCommandEvent&);
void Event_Close(wxCloseEvent&);
SWVideoConfig& vconfig;
std::string ininame;
};