diff options
Diffstat (limited to 'src/wx/EmuConfig.cpp')
-rw-r--r-- | src/wx/EmuConfig.cpp | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/src/wx/EmuConfig.cpp b/src/wx/EmuConfig.cpp new file mode 100644 index 0000000..90c5e4b --- /dev/null +++ b/src/wx/EmuConfig.cpp @@ -0,0 +1,74 @@ +/* + Copyright 2016-2017 StapleButter + + This file is part of melonDS. + + melonDS is free software: you can redistribute it and/or modify it under + the terms of the GNU General Public License as published by the Free + Software Foundation, either version 3 of the License, or (at your option) + any later version. + + melonDS is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with melonDS. If not, see http://www.gnu.org/licenses/. +*/ + +#include "../types.h" +#include "EmuConfig.h" +#include "../Config.h" + + +wxBEGIN_EVENT_TABLE(EmuConfigDialog, wxDialog) + EVT_COMMAND(1001, wxEVT_BUTTON, EmuConfigDialog::OnOk) + EVT_COMMAND(1002, wxEVT_BUTTON, EmuConfigDialog::OnCancel) +wxEND_EVENT_TABLE() + + +EmuConfigDialog::EmuConfigDialog(wxWindow* parent) + : wxDialog(parent, -1, "Emulation settings - melonDS") +{ + wxBoxSizer* vboxmain = new wxBoxSizer(wxVERTICAL); + + cbDirectBoot = new wxCheckBox(this, wxID_ANY, "Boot game directly"); + vboxmain->Add(cbDirectBoot, 0, wxALL&(~wxBOTTOM), 15); + cbDirectBoot->SetValue(Config::DirectBoot != 0); + + { + wxPanel* p = new wxPanel(this); + wxBoxSizer* sizer = new wxBoxSizer(wxHORIZONTAL); + + wxButton* ok = new wxButton(p, 1001, "OK"); + sizer->Add(ok); + + wxButton* cancel = new wxButton(p, 1002, "Cancel"); + sizer->Add(3, 0); + sizer->Add(cancel); + + p->SetSizer(sizer); + vboxmain->Add(p, 0, wxALL|wxALIGN_RIGHT, 15); + } + + SetSizer(vboxmain); + Fit(); +} + +EmuConfigDialog::~EmuConfigDialog() +{ +} + +void EmuConfigDialog::OnOk(wxCommandEvent& event) +{ + Config::DirectBoot = cbDirectBoot->GetValue() ? 1:0; + Config::Save(); + + Close(); +} + +void EmuConfigDialog::OnCancel(wxCommandEvent& event) +{ + Close(); +} + |