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:
parent
2692ba2697
commit
bca4f94b47
|
@ -19,11 +19,6 @@
|
|||
#include "AboutDolphin.h"
|
||||
#include "../resources/dolphin_logo.cpp"
|
||||
|
||||
BEGIN_EVENT_TABLE(AboutDolphin, wxDialog)
|
||||
EVT_CLOSE(AboutDolphin::OnClose)
|
||||
EVT_BUTTON(wxID_OK, AboutDolphin::CloseClick)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
AboutDolphin::AboutDolphin(wxWindow *parent, wxWindowID id,
|
||||
const wxString &title, const wxPoint &position,
|
||||
const wxSize& size, long style)
|
||||
|
@ -66,34 +61,17 @@ AboutDolphin::AboutDolphin(wxWindow *parent, wxWindowID id,
|
|||
Message->Wrap(GetSize().GetWidth());
|
||||
|
||||
wxBoxSizer* const sInfo = new wxBoxSizer(wxVERTICAL);
|
||||
sInfo->Add(Message, 1, wxEXPAND|wxALL, 5);
|
||||
sInfo->Add(Message, 1, wxEXPAND | wxALL, 5);
|
||||
|
||||
wxBoxSizer* const sMainHor = new wxBoxSizer(wxHORIZONTAL);
|
||||
sMainHor->Add(sbDolphinLogo);
|
||||
sMainHor->Add(sbDolphinLogo, 0, wxEXPAND | wxALL, 5);
|
||||
sMainHor->Add(sInfo);
|
||||
|
||||
wxBoxSizer* const sButtons = new wxBoxSizer(wxHORIZONTAL);
|
||||
sButtons->AddStretchSpacer();
|
||||
sButtons->Add(new wxButton(this, wxID_OK, _("Close")), 0, wxALL, 5);
|
||||
|
||||
wxBoxSizer* const sMain = new wxBoxSizer(wxVERTICAL);
|
||||
sMain->Add(sMainHor, 1, wxEXPAND);
|
||||
sMain->Add(sButtons, 0, wxEXPAND);
|
||||
sMain->Add(CreateButtonSizer(wxOK), 0, wxEXPAND | wxLEFT | wxRIGHT | wxBOTTOM, 5);
|
||||
|
||||
SetSizer(sMain);
|
||||
|
||||
Layout();
|
||||
Fit();
|
||||
SetSizerAndFit(sMain);
|
||||
Center();
|
||||
SetFocus();
|
||||
}
|
||||
|
||||
void AboutDolphin::OnClose(wxCloseEvent& WXUNUSED(event))
|
||||
{
|
||||
EndModal(wxID_CLOSE);
|
||||
}
|
||||
|
||||
void AboutDolphin::CloseClick(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
Close();
|
||||
}
|
||||
|
|
|
@ -34,12 +34,6 @@ class AboutDolphin : public wxDialog
|
|||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize,
|
||||
long style = wxDEFAULT_DIALOG_STYLE);
|
||||
|
||||
private:
|
||||
DECLARE_EVENT_TABLE();
|
||||
|
||||
void CloseClick(wxCommandEvent& event);
|
||||
void OnClose(wxCloseEvent& event);
|
||||
};
|
||||
|
||||
#endif //_ABOUTDOLPHIN_H_
|
||||
|
|
|
@ -927,32 +927,23 @@ void CConfigMain::CreateGUIControls()
|
|||
sPathsPage->Add(sOtherPaths, 0, wxEXPAND|wxALL, 5);
|
||||
PathsPage->SetSizer(sPathsPage);
|
||||
|
||||
m_Ok = new wxButton(this, wxID_OK);
|
||||
|
||||
wxBoxSizer* sButtons = new wxBoxSizer(wxHORIZONTAL);
|
||||
sButtons->Add(0, 0, 1, wxEXPAND, 5);
|
||||
sButtons->Add(m_Ok, 0, wxALL, 5);
|
||||
|
||||
wxBoxSizer* sMain = new wxBoxSizer(wxVERTICAL);
|
||||
sMain->Add(Notebook, 1, wxEXPAND|wxALL, 5);
|
||||
sMain->Add(sButtons, 0, wxEXPAND, 5);
|
||||
sMain->Add(CreateButtonSizer(wxOK), 0, wxEXPAND | wxLEFT | wxRIGHT | wxBOTTOM, 5);
|
||||
|
||||
InitializeGUIValues();
|
||||
InitializeGUITooltips();
|
||||
|
||||
UpdateGUI();
|
||||
|
||||
SetSizer(sMain);
|
||||
Layout();
|
||||
|
||||
Fit();
|
||||
SetSizerAndFit(sMain);
|
||||
Center();
|
||||
Notebook->SetSelection(0);
|
||||
SetFocus();
|
||||
}
|
||||
|
||||
void CConfigMain::OnClose(wxCloseEvent& WXUNUSED (event))
|
||||
{
|
||||
EndModal((bRefreshList) ? wxID_OK : wxID_CLOSE);
|
||||
EndModal((bRefreshList) ? wxID_OK : wxID_CANCEL);
|
||||
}
|
||||
|
||||
void CConfigMain::OnOk(wxCommandEvent& WXUNUSED (event))
|
||||
|
|
|
@ -63,7 +63,7 @@ void HotkeyConfigDialog::EndGetButtons(void)
|
|||
GetButtonWaitingTimer = 0;
|
||||
GetButtonWaitingID = 0;
|
||||
ClickedButton = NULL;
|
||||
SetEscapeId(wxID_OK);
|
||||
SetEscapeId(wxID_ANY);
|
||||
}
|
||||
|
||||
void HotkeyConfigDialog::OnKeyDown(wxKeyEvent& event)
|
||||
|
@ -159,7 +159,7 @@ void HotkeyConfigDialog::OnButtonClick(wxCommandEvent& event)
|
|||
|
||||
// Get the button
|
||||
ClickedButton = (wxButton *)event.GetEventObject();
|
||||
SetEscapeId(wxID_NONE);
|
||||
SetEscapeId(wxID_CANCEL);
|
||||
// Save old label so we can revert back
|
||||
OldLabel = ClickedButton->GetLabel();
|
||||
ClickedButton->SetWindowStyle(wxWANTS_CHARS);
|
||||
|
@ -281,13 +281,9 @@ void HotkeyConfigDialog::CreateHotkeyGUIControls(void)
|
|||
Page->SetSizer(sPage);
|
||||
}
|
||||
|
||||
wxBoxSizer* sButtons = new wxBoxSizer(wxHORIZONTAL);
|
||||
sButtons->AddStretchSpacer();
|
||||
sButtons->Add(new wxButton(this, wxID_OK, _("Close")), 0, (wxLEFT), 5);
|
||||
|
||||
wxBoxSizer *sMainSizer = new wxBoxSizer(wxVERTICAL);
|
||||
sMainSizer->Add(Notebook, 0, wxEXPAND | wxALL, 5);
|
||||
sMainSizer->Add(sButtons, 0, wxEXPAND | (wxLEFT | wxRIGHT | wxDOWN), 5);
|
||||
sMainSizer->Add(CreateButtonSizer(wxOK), 0, wxEXPAND | wxLEFT | wxRIGHT | wxDOWN, 5);
|
||||
SetSizerAndFit(sMainSizer);
|
||||
SetFocus();
|
||||
}
|
||||
|
|
|
@ -149,7 +149,9 @@ CISOProperties::CISOProperties(const std::string fileName, wxWindow* parent, wxW
|
|||
if (GameIni.Load(GameIniFile.c_str()))
|
||||
LoadGameConfig();
|
||||
else
|
||||
wxMessageBox(wxString::Format(_("Could not create %s"), wxString::From8BitData(GameIniFile.c_str()).c_str()), _("Error"), wxOK|wxICON_ERROR, this);
|
||||
wxMessageBox(wxString::Format(_("Could not create %s"),
|
||||
wxString::From8BitData(GameIniFile.c_str()).c_str()),
|
||||
_("Error"), wxOK|wxICON_ERROR, this);
|
||||
}
|
||||
|
||||
// Disk header and apploader
|
||||
|
@ -206,35 +208,32 @@ CISOProperties::CISOProperties(const std::string fileName, wxWindow* parent, wxW
|
|||
wxMouseEventHandler(CISOProperties::RightClickOnBanner), (wxObject*)NULL, this);
|
||||
|
||||
// Filesystem browser/dumper
|
||||
if (DiscIO::IsVolumeWiiDisc(OpenISO))
|
||||
// TODO : Should we add a way to browse the wad file ?
|
||||
if (!DiscIO::IsVolumeWadFile(OpenISO))
|
||||
{
|
||||
for (u32 i = 0; i < WiiDisc.size(); i++)
|
||||
if (DiscIO::IsVolumeWiiDisc(OpenISO))
|
||||
{
|
||||
WiiPartition partition = WiiDisc.at(i);
|
||||
wxTreeItemId PartitionRoot = m_Treectrl->AppendItem(RootId, wxString::Format(_("Partition %i"), i), 0, 0, 0);
|
||||
CreateDirectoryTree(PartitionRoot, partition.Files, 1, partition.Files.at(0)->m_FileSize);
|
||||
if (i == 1)
|
||||
m_Treectrl->Expand(PartitionRoot);
|
||||
for (u32 i = 0; i < WiiDisc.size(); i++)
|
||||
{
|
||||
WiiPartition partition = WiiDisc.at(i);
|
||||
wxTreeItemId PartitionRoot =
|
||||
m_Treectrl->AppendItem(RootId, wxString::Format(_("Partition %i"), i));
|
||||
CreateDirectoryTree(PartitionRoot, partition.Files, 1, partition.Files.at(0)->m_FileSize);
|
||||
if (i == 1)
|
||||
m_Treectrl->Expand(PartitionRoot);
|
||||
}
|
||||
}
|
||||
else if (!GCFiles.empty())
|
||||
CreateDirectoryTree(RootId, GCFiles, 1, GCFiles.at(0)->m_FileSize);
|
||||
|
||||
m_Treectrl->Expand(RootId);
|
||||
}
|
||||
else
|
||||
{
|
||||
// TODO : Should we add a way to browse the wad file ?
|
||||
if (!DiscIO::IsVolumeWadFile(OpenISO))
|
||||
{
|
||||
if (!GCFiles.empty())
|
||||
CreateDirectoryTree(RootId, GCFiles, 1, GCFiles.at(0)->m_FileSize);
|
||||
}
|
||||
}
|
||||
m_Treectrl->Expand(RootId);
|
||||
}
|
||||
|
||||
CISOProperties::~CISOProperties()
|
||||
{
|
||||
if (!IsVolumeWiiDisc(OpenISO))
|
||||
if (!IsVolumeWadFile(OpenISO))
|
||||
if (pFileSystem)
|
||||
delete pFileSystem;
|
||||
if (!IsVolumeWiiDisc(OpenISO) && !IsVolumeWadFile(OpenISO) && pFileSystem)
|
||||
delete pFileSystem;
|
||||
// two vector's items are no longer valid after deleting filesystem
|
||||
WiiDisc.clear();
|
||||
GCFiles.clear();
|
||||
|
@ -243,9 +242,9 @@ CISOProperties::~CISOProperties()
|
|||
}
|
||||
|
||||
size_t CISOProperties::CreateDirectoryTree(wxTreeItemId& parent,
|
||||
std::vector<const DiscIO::SFileInfo*> fileInfos,
|
||||
const size_t _FirstIndex,
|
||||
const size_t _LastIndex)
|
||||
std::vector<const DiscIO::SFileInfo*> fileInfos,
|
||||
const size_t _FirstIndex,
|
||||
const size_t _LastIndex)
|
||||
{
|
||||
size_t CurrentIndex = _FirstIndex;
|
||||
|
||||
|
@ -280,34 +279,30 @@ size_t CISOProperties::CreateDirectoryTree(wxTreeItemId& parent,
|
|||
|
||||
void CISOProperties::CreateGUIControls(bool IsWad)
|
||||
{
|
||||
m_Close = new wxButton(this, wxID_OK, _("Close"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
|
||||
EditConfig = new wxButton(this, ID_EDITCONFIG, _("Edit Config"), wxDefaultPosition, wxDefaultSize);
|
||||
wxButton * const EditConfig =
|
||||
new wxButton(this, ID_EDITCONFIG, _("Edit Config"), wxDefaultPosition, wxDefaultSize);
|
||||
EditConfig->SetToolTip(_("This will let you Manually Edit the INI config file"));
|
||||
|
||||
// Notebook
|
||||
m_Notebook = new wxNotebook(this, ID_NOTEBOOK, wxDefaultPosition, wxDefaultSize);
|
||||
m_GameConfig = new wxPanel(m_Notebook, ID_GAMECONFIG, wxDefaultPosition, wxDefaultSize);
|
||||
wxNotebook * const m_Notebook =
|
||||
new wxNotebook(this, ID_NOTEBOOK, wxDefaultPosition, wxDefaultSize);
|
||||
wxPanel * const m_GameConfig =
|
||||
new wxPanel(m_Notebook, ID_GAMECONFIG, wxDefaultPosition, wxDefaultSize);
|
||||
m_Notebook->AddPage(m_GameConfig, _("GameConfig"));
|
||||
m_PatchPage = new wxPanel(m_Notebook, ID_PATCH_PAGE, wxDefaultPosition, wxDefaultSize);
|
||||
wxPanel * const m_PatchPage =
|
||||
new wxPanel(m_Notebook, ID_PATCH_PAGE, wxDefaultPosition, wxDefaultSize);
|
||||
m_Notebook->AddPage(m_PatchPage, _("Patches"));
|
||||
m_CheatPage = new wxPanel(m_Notebook, ID_ARCODE_PAGE, wxDefaultPosition, wxDefaultSize);
|
||||
wxPanel * const m_CheatPage =
|
||||
new wxPanel(m_Notebook, ID_ARCODE_PAGE, wxDefaultPosition, wxDefaultSize);
|
||||
m_Notebook->AddPage(m_CheatPage, _("AR Codes"));
|
||||
m_geckocode_panel = new Gecko::CodeConfigPanel(m_Notebook);
|
||||
m_Notebook->AddPage(m_geckocode_panel, _("Gecko Codes"));
|
||||
m_Information = new wxPanel(m_Notebook, ID_INFORMATION, wxDefaultPosition, wxDefaultSize);
|
||||
wxPanel * const m_Information =
|
||||
new wxPanel(m_Notebook, ID_INFORMATION, wxDefaultPosition, wxDefaultSize);
|
||||
m_Notebook->AddPage(m_Information, _("Info"));
|
||||
m_Filesystem = new wxPanel(m_Notebook, ID_FILESYSTEM, wxDefaultPosition, wxDefaultSize);
|
||||
m_Notebook->AddPage(m_Filesystem, _("Filesystem"));
|
||||
|
||||
wxBoxSizer* sButtons;
|
||||
sButtons = new wxBoxSizer(wxHORIZONTAL);
|
||||
sButtons->Add(EditConfig, 0, wxALL, 5);
|
||||
sButtons->Add(0, 0, 1, wxEXPAND, 5);
|
||||
sButtons->Add(m_Close, 0, wxALL, 5);
|
||||
|
||||
|
||||
// GameConfig editing - Overrides and emulation state
|
||||
OverrideText = new wxStaticText(m_GameConfig, ID_OVERRIDE_TEXT, _("These settings override core Dolphin settings.\nUndetermined means the game uses Dolphin's setting."), wxDefaultPosition, wxDefaultSize);
|
||||
wxStaticText * const OverrideText = new wxStaticText(m_GameConfig, wxID_ANY, _("These settings override core Dolphin settings.\nUndetermined means the game uses Dolphin's setting."));
|
||||
// Core
|
||||
CPUThread = new wxCheckBox(m_GameConfig, ID_USEDUALCORE, _("Enable Dual Core"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
|
||||
SkipIdle = new wxCheckBox(m_GameConfig, ID_IDLESKIP, _("Enable Idle Skipping"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
|
||||
|
@ -328,30 +323,32 @@ void CISOProperties::CreateGUIControls(bool IsWad)
|
|||
EnableProgressiveScan = new wxCheckBox(m_GameConfig, ID_ENABLEPROGRESSIVESCAN, _("Enable Progressive Scan"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
|
||||
EnableWideScreen = new wxCheckBox(m_GameConfig, ID_ENABLEWIDESCREEN, _("Enable WideScreen"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
|
||||
// Video
|
||||
UseZTPSpeedupHack = new wxCheckBox(m_GameConfig, ID_ZTP_SPEEDUP, _("ZTP hack"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
|
||||
UseZTPSpeedupHack = new wxCheckBox(m_GameConfig, ID_ZTP_SPEEDUP, _("ZTP hack"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER);
|
||||
UseZTPSpeedupHack->SetToolTip(_("Enable this to speed up The Legend of Zelda: Twilight Princess. Disable for ANY other game."));
|
||||
|
||||
// Hack
|
||||
szrPHackSettings = new wxFlexGridSizer(0);
|
||||
PHackEnable = new wxCheckBox(m_GameConfig, ID_PHACKENABLE, _("Custom Projection Hack"), wxDefaultPosition, wxDefaultSize, wxCHK_2STATE, wxDefaultValidator);
|
||||
wxFlexGridSizer * const szrPHackSettings = new wxFlexGridSizer(0);
|
||||
PHackEnable = new wxCheckBox(m_GameConfig, ID_PHACKENABLE, _("Custom Projection Hack"), wxDefaultPosition, wxDefaultSize, wxCHK_2STATE);
|
||||
PHackEnable->SetToolTip(_("Enables Custom Projection Hack"));
|
||||
PHSettings = new wxButton(m_GameConfig, ID_PHSETTINGS, _("Settings..."), wxDefaultPosition, wxDefaultSize, 0);
|
||||
PHSettings = new wxButton(m_GameConfig, ID_PHSETTINGS, _("Settings..."));
|
||||
PHSettings->SetToolTip(_("Customize some Orthographic Projection parameters."));
|
||||
|
||||
sEmuState = new wxBoxSizer(wxHORIZONTAL);
|
||||
EmuStateText = new wxStaticText(m_GameConfig, ID_EMUSTATE_TEXT, _("Emulation State: "), wxDefaultPosition, wxDefaultSize);
|
||||
wxBoxSizer * const sEmuState = new wxBoxSizer(wxHORIZONTAL);
|
||||
wxStaticText * const EmuStateText =
|
||||
new wxStaticText(m_GameConfig, wxID_ANY, _("Emulation State: "));
|
||||
arrayStringFor_EmuState.Add(_("Not Set"));
|
||||
arrayStringFor_EmuState.Add(_("Broken"));
|
||||
arrayStringFor_EmuState.Add(_("Intro"));
|
||||
arrayStringFor_EmuState.Add(_("In Game"));
|
||||
arrayStringFor_EmuState.Add(_("Playable"));
|
||||
arrayStringFor_EmuState.Add(_("Perfect"));
|
||||
EmuState = new wxChoice(m_GameConfig, ID_EMUSTATE, wxDefaultPosition, wxDefaultSize, arrayStringFor_EmuState, 0, wxDefaultValidator);
|
||||
EmuIssues = new wxTextCtrl(m_GameConfig, ID_EMU_ISSUES, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
|
||||
EmuState = new wxChoice(m_GameConfig, ID_EMUSTATE,
|
||||
wxDefaultPosition, wxDefaultSize, arrayStringFor_EmuState);
|
||||
EmuIssues = new wxTextCtrl(m_GameConfig, ID_EMU_ISSUES, wxEmptyString);
|
||||
|
||||
wxBoxSizer* sConfigPage;
|
||||
sConfigPage = new wxBoxSizer(wxVERTICAL);
|
||||
sbCoreOverrides = new wxStaticBoxSizer(wxVERTICAL, m_GameConfig, _("Core"));
|
||||
wxBoxSizer * const sConfigPage = new wxBoxSizer(wxVERTICAL);
|
||||
wxStaticBoxSizer * const sbCoreOverrides =
|
||||
new wxStaticBoxSizer(wxVERTICAL, m_GameConfig, _("Core"));
|
||||
sbCoreOverrides->Add(CPUThread, 0, wxLEFT, 5);
|
||||
sbCoreOverrides->Add(SkipIdle, 0, wxLEFT, 5);
|
||||
sbCoreOverrides->Add(MMU, 0, wxLEFT, 5);
|
||||
|
@ -362,7 +359,8 @@ void CISOProperties::CreateGUIControls(bool IsWad)
|
|||
sbCoreOverrides->Add(BlockMerging, 0, wxLEFT, 5);
|
||||
sbCoreOverrides->Add(DSPHLE, 0, wxLEFT, 5);
|
||||
|
||||
sbWiiOverrides = new wxStaticBoxSizer(wxVERTICAL, m_GameConfig, _("Wii Console"));
|
||||
wxStaticBoxSizer * const sbWiiOverrides =
|
||||
new wxStaticBoxSizer(wxVERTICAL, m_GameConfig, _("Wii Console"));
|
||||
if (!DiscIO::IsVolumeWiiDisc(OpenISO) && !DiscIO::IsVolumeWadFile(OpenISO))
|
||||
{
|
||||
sbWiiOverrides->ShowItems(false);
|
||||
|
@ -379,13 +377,15 @@ void CISOProperties::CreateGUIControls(bool IsWad)
|
|||
sbWiiOverrides->Add(EnableProgressiveScan, 0, wxLEFT, 5);
|
||||
sbWiiOverrides->Add(EnableWideScreen, 0, wxLEFT, 5);
|
||||
|
||||
sbVideoOverrides = new wxStaticBoxSizer(wxVERTICAL, m_GameConfig, _("Video"));
|
||||
wxStaticBoxSizer * const sbVideoOverrides =
|
||||
new wxStaticBoxSizer(wxVERTICAL, m_GameConfig, _("Video"));
|
||||
sbVideoOverrides->Add(UseZTPSpeedupHack, 0, wxLEFT, 5);
|
||||
szrPHackSettings->Add(PHackEnable, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5);
|
||||
szrPHackSettings->Add(PHSettings, 0, wxLEFT, 5);
|
||||
|
||||
sbVideoOverrides->Add(szrPHackSettings, 0, wxEXPAND);
|
||||
sbGameConfig = new wxStaticBoxSizer(wxVERTICAL, m_GameConfig, _("Game-Specific Settings"));
|
||||
wxStaticBoxSizer * const sbGameConfig =
|
||||
new wxStaticBoxSizer(wxVERTICAL, m_GameConfig, _("Game-Specific Settings"));
|
||||
sbGameConfig->Add(OverrideText, 0, wxEXPAND|wxALL, 5);
|
||||
sbGameConfig->Add(sbCoreOverrides, 0, wxEXPAND);
|
||||
sbGameConfig->Add(sbWiiOverrides, 0, wxEXPAND);
|
||||
|
@ -399,17 +399,17 @@ void CISOProperties::CreateGUIControls(bool IsWad)
|
|||
|
||||
|
||||
// Patches
|
||||
sPatches = new wxBoxSizer(wxVERTICAL);
|
||||
Patches = new wxCheckListBox(m_PatchPage, ID_PATCHES_LIST, wxDefaultPosition, wxDefaultSize, arrayStringFor_Patches, wxLB_HSCROLL, wxDefaultValidator);
|
||||
sPatchButtons = new wxBoxSizer(wxHORIZONTAL);
|
||||
EditPatch = new wxButton(m_PatchPage, ID_EDITPATCH, _("Edit..."), wxDefaultPosition, wxDefaultSize, 0);
|
||||
AddPatch = new wxButton(m_PatchPage, ID_ADDPATCH, _("Add..."), wxDefaultPosition, wxDefaultSize, 0);
|
||||
RemovePatch = new wxButton(m_PatchPage, ID_REMOVEPATCH, _("Remove"), wxDefaultPosition, wxDefaultSize, 0);
|
||||
wxBoxSizer * const sPatches = new wxBoxSizer(wxVERTICAL);
|
||||
Patches = new wxCheckListBox(m_PatchPage, ID_PATCHES_LIST, wxDefaultPosition,
|
||||
wxDefaultSize, arrayStringFor_Patches, wxLB_HSCROLL);
|
||||
wxBoxSizer * const sPatchButtons = new wxBoxSizer(wxHORIZONTAL);
|
||||
EditPatch = new wxButton(m_PatchPage, ID_EDITPATCH, _("Edit..."));
|
||||
wxButton * const AddPatch = new wxButton(m_PatchPage, ID_ADDPATCH, _("Add..."));
|
||||
RemovePatch = new wxButton(m_PatchPage, ID_REMOVEPATCH, _("Remove"));
|
||||
EditPatch->Enable(false);
|
||||
RemovePatch->Enable(false);
|
||||
|
||||
wxBoxSizer* sPatchPage;
|
||||
sPatchPage = new wxBoxSizer(wxVERTICAL);
|
||||
wxBoxSizer* sPatchPage = new wxBoxSizer(wxVERTICAL);
|
||||
sPatches->Add(Patches, 1, wxEXPAND|wxALL, 0);
|
||||
sPatchButtons->Add(EditPatch, 0, wxEXPAND|wxALL, 0);
|
||||
sPatchButtons->AddStretchSpacer();
|
||||
|
@ -421,17 +421,18 @@ void CISOProperties::CreateGUIControls(bool IsWad)
|
|||
|
||||
|
||||
// Action Replay Cheats
|
||||
sCheats = new wxBoxSizer(wxVERTICAL);
|
||||
Cheats = new wxCheckListBox(m_CheatPage, ID_CHEATS_LIST, wxDefaultPosition, wxDefaultSize, arrayStringFor_Cheats, wxLB_HSCROLL, wxDefaultValidator);
|
||||
sCheatButtons = new wxBoxSizer(wxHORIZONTAL);
|
||||
EditCheat = new wxButton(m_CheatPage, ID_EDITCHEAT, _("Edit..."), wxDefaultPosition, wxDefaultSize, 0);
|
||||
AddCheat = new wxButton(m_CheatPage, ID_ADDCHEAT, _("Add..."), wxDefaultPosition, wxDefaultSize, 0);
|
||||
RemoveCheat = new wxButton(m_CheatPage, ID_REMOVECHEAT, _("Remove"), wxDefaultPosition, wxDefaultSize, 0);
|
||||
wxBoxSizer * const sCheats = new wxBoxSizer(wxVERTICAL);
|
||||
Cheats = new wxCheckListBox(m_CheatPage, ID_CHEATS_LIST, wxDefaultPosition,
|
||||
wxDefaultSize, arrayStringFor_Cheats, wxLB_HSCROLL);
|
||||
wxBoxSizer * const sCheatButtons = new wxBoxSizer(wxHORIZONTAL);
|
||||
EditCheat = new wxButton(m_CheatPage, ID_EDITCHEAT, _("Edit..."));
|
||||
wxButton * const AddCheat = new wxButton(m_CheatPage, ID_ADDCHEAT, _("Add..."));
|
||||
RemoveCheat = new wxButton(m_CheatPage, ID_REMOVECHEAT, _("Remove"),
|
||||
wxDefaultPosition, wxDefaultSize, 0);
|
||||
EditCheat->Enable(false);
|
||||
RemoveCheat->Enable(false);
|
||||
|
||||
wxBoxSizer* sCheatPage;
|
||||
sCheatPage = new wxBoxSizer(wxVERTICAL);
|
||||
wxBoxSizer* sCheatPage = new wxBoxSizer(wxVERTICAL);
|
||||
sCheats->Add(Cheats, 1, wxEXPAND|wxALL, 0);
|
||||
sCheatButtons->Add(EditCheat, 0, wxEXPAND|wxALL, 0);
|
||||
sCheatButtons->AddStretchSpacer();
|
||||
|
@ -442,39 +443,51 @@ void CISOProperties::CreateGUIControls(bool IsWad)
|
|||
m_CheatPage->SetSizer(sCheatPage);
|
||||
|
||||
|
||||
m_NameText = new wxStaticText(m_Information, ID_NAME_TEXT, _("Name:"), wxDefaultPosition, wxDefaultSize);
|
||||
m_Name = new wxTextCtrl(m_Information, ID_NAME, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY);
|
||||
m_GameIDText = new wxStaticText(m_Information, ID_GAMEID_TEXT, _("Game ID:"), wxDefaultPosition, wxDefaultSize);
|
||||
m_GameID = new wxTextCtrl(m_Information, ID_GAMEID, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY);
|
||||
m_CountryText = new wxStaticText(m_Information, ID_COUNTRY_TEXT, _("Country:"), wxDefaultPosition, wxDefaultSize);
|
||||
m_Country = new wxTextCtrl(m_Information, ID_COUNTRY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY);
|
||||
m_MakerIDText = new wxStaticText(m_Information, ID_MAKERID_TEXT, _("Maker ID:"), wxDefaultPosition, wxDefaultSize);
|
||||
m_MakerID = new wxTextCtrl(m_Information, ID_MAKERID, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY);
|
||||
m_DateText = new wxStaticText(m_Information, ID_DATE_TEXT, _("Date:"), wxDefaultPosition, wxDefaultSize);
|
||||
m_Date = new wxTextCtrl(m_Information, ID_DATE, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY);
|
||||
m_FSTText = new wxStaticText(m_Information, ID_FST_TEXT, _("FST Size:"), wxDefaultPosition, wxDefaultSize);
|
||||
m_FST = new wxTextCtrl(m_Information, ID_FST, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY);
|
||||
wxStaticText * const m_NameText =
|
||||
new wxStaticText(m_Information, wxID_ANY, _("Name:"));
|
||||
m_Name = new wxTextCtrl(m_Information, ID_NAME, wxEmptyString,
|
||||
wxDefaultPosition, wxDefaultSize, wxTE_READONLY);
|
||||
wxStaticText * const m_GameIDText =
|
||||
new wxStaticText(m_Information, wxID_ANY, _("Game ID:"));
|
||||
m_GameID = new wxTextCtrl(m_Information, ID_GAMEID, wxEmptyString,
|
||||
wxDefaultPosition, wxDefaultSize, wxTE_READONLY);
|
||||
wxStaticText * const m_CountryText =
|
||||
new wxStaticText(m_Information, wxID_ANY, _("Country:"));
|
||||
m_Country = new wxTextCtrl(m_Information, ID_COUNTRY, wxEmptyString,
|
||||
wxDefaultPosition, wxDefaultSize, wxTE_READONLY);
|
||||
wxStaticText * const m_MakerIDText =
|
||||
new wxStaticText(m_Information, wxID_ANY, _("Maker ID:"));
|
||||
m_MakerID = new wxTextCtrl(m_Information, ID_MAKERID, wxEmptyString,
|
||||
wxDefaultPosition, wxDefaultSize, wxTE_READONLY);
|
||||
wxStaticText * const m_DateText =
|
||||
new wxStaticText(m_Information, wxID_ANY, _("Date:"));
|
||||
m_Date = new wxTextCtrl(m_Information, ID_DATE, wxEmptyString,
|
||||
wxDefaultPosition, wxDefaultSize, wxTE_READONLY);
|
||||
wxStaticText * const m_FSTText =
|
||||
new wxStaticText(m_Information, wxID_ANY, _("FST Size:"));
|
||||
m_FST = new wxTextCtrl(m_Information, ID_FST, wxEmptyString,
|
||||
wxDefaultPosition, wxDefaultSize, wxTE_READONLY);
|
||||
|
||||
m_LangText = new wxStaticText(m_Information, ID_LANG_TEXT, _("Show Language:"), wxDefaultPosition, wxDefaultSize);
|
||||
wxStaticText * const m_LangText = new wxStaticText(m_Information, wxID_ANY, _("Show Language:"));
|
||||
arrayStringFor_Lang.Add(_("English"));
|
||||
arrayStringFor_Lang.Add(_("German"));
|
||||
arrayStringFor_Lang.Add(_("French"));
|
||||
arrayStringFor_Lang.Add(_("Spanish"));
|
||||
arrayStringFor_Lang.Add(_("Italian"));
|
||||
arrayStringFor_Lang.Add(_("Dutch"));
|
||||
m_Lang = new wxChoice(m_Information, ID_LANG, wxDefaultPosition, wxDefaultSize, arrayStringFor_Lang, 0, wxDefaultValidator);
|
||||
m_Lang = new wxChoice(m_Information, ID_LANG, wxDefaultPosition, wxDefaultSize, arrayStringFor_Lang);
|
||||
m_Lang->SetSelection((int)SConfig::GetInstance().m_LocalCoreStartupParameter.SelectedLanguage);
|
||||
m_ShortText = new wxStaticText(m_Information, ID_SHORTNAME_TEXT, _("Short Name:"), wxDefaultPosition, wxDefaultSize);
|
||||
wxStaticText * const m_ShortText = new wxStaticText(m_Information, wxID_ANY, _("Short Name:"));
|
||||
m_ShortName = new wxTextCtrl(m_Information, ID_SHORTNAME, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY);
|
||||
m_MakerText = new wxStaticText(m_Information, ID_MAKER_TEXT, _("Maker:"), wxDefaultPosition, wxDefaultSize);
|
||||
wxStaticText * const m_MakerText = new wxStaticText(m_Information, wxID_ANY, _("Maker:"));
|
||||
m_Maker = new wxTextCtrl(m_Information, ID_MAKER, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY);
|
||||
m_CommentText = new wxStaticText(m_Information, ID_COMMENT_TEXT, _("Comment:"), wxDefaultPosition, wxDefaultSize);
|
||||
wxStaticText * const m_CommentText = new wxStaticText(m_Information, wxID_ANY, _("Comment:"));
|
||||
m_Comment = new wxTextCtrl(m_Information, ID_COMMENT, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE|wxTE_READONLY);
|
||||
m_BannerText = new wxStaticText(m_Information, ID_BANNER_TEXT, _("Banner:"), wxDefaultPosition, wxDefaultSize);
|
||||
wxStaticText * const m_BannerText = new wxStaticText(m_Information, wxID_ANY, _("Banner:"));
|
||||
m_Banner = new wxStaticBitmap(m_Information, ID_BANNER, wxNullBitmap, wxDefaultPosition, wxSize(96, 32), 0);
|
||||
|
||||
// ISO Details
|
||||
sISODetails = new wxGridBagSizer(0, 0);
|
||||
wxGridBagSizer * const sISODetails = new wxGridBagSizer(0, 0);
|
||||
sISODetails->Add(m_NameText, wxGBPosition(0, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
sISODetails->Add(m_Name, wxGBPosition(0, 1), wxGBSpan(1, 1), wxEXPAND|wxALL, 5);
|
||||
sISODetails->Add(m_GameIDText, wxGBPosition(1, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
@ -488,11 +501,12 @@ void CISOProperties::CreateGUIControls(bool IsWad)
|
|||
sISODetails->Add(m_FSTText, wxGBPosition(5, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
sISODetails->Add(m_FST, wxGBPosition(5, 1), wxGBSpan(1, 1), wxEXPAND|wxALL, 5);
|
||||
sISODetails->AddGrowableCol(1);
|
||||
sbISODetails = new wxStaticBoxSizer(wxVERTICAL, m_Information, _("ISO Details"));
|
||||
wxStaticBoxSizer * const sbISODetails =
|
||||
new wxStaticBoxSizer(wxVERTICAL, m_Information, _("ISO Details"));
|
||||
sbISODetails->Add(sISODetails, 0, wxEXPAND, 5);
|
||||
|
||||
// Banner Details
|
||||
sBannerDetails = new wxGridBagSizer(0, 0);
|
||||
wxGridBagSizer * const sBannerDetails = new wxGridBagSizer(0, 0);
|
||||
sBannerDetails->Add(m_LangText, wxGBPosition(0, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
sBannerDetails->Add(m_Lang, wxGBPosition(0, 1), wxGBSpan(1, 1), wxEXPAND|wxALL, 5);
|
||||
sBannerDetails->Add(m_ShortText, wxGBPosition(1, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
@ -504,47 +518,52 @@ void CISOProperties::CreateGUIControls(bool IsWad)
|
|||
sBannerDetails->Add(m_BannerText, wxGBPosition(4, 0), wxGBSpan(1, 1), wxALL, 5);
|
||||
sBannerDetails->Add(m_Banner, wxGBPosition(4, 1), wxGBSpan(1, 1), wxEXPAND|wxALL, 5);
|
||||
sBannerDetails->AddGrowableCol(1);
|
||||
sbBannerDetails = new wxStaticBoxSizer(wxVERTICAL, m_Information, _("Banner Details"));
|
||||
wxStaticBoxSizer * const sbBannerDetails =
|
||||
new wxStaticBoxSizer(wxVERTICAL, m_Information, _("Banner Details"));
|
||||
sbBannerDetails->Add(sBannerDetails, 0, wxEXPAND, 5);
|
||||
|
||||
wxBoxSizer* sInfoPage;
|
||||
sInfoPage = new wxBoxSizer(wxVERTICAL);
|
||||
wxBoxSizer * const sInfoPage = new wxBoxSizer(wxVERTICAL);
|
||||
sInfoPage->Add(sbISODetails, 0, wxEXPAND|wxALL, 5);
|
||||
sInfoPage->Add(sbBannerDetails, 0, wxEXPAND|wxALL, 5);
|
||||
m_Information->SetSizer(sInfoPage);
|
||||
|
||||
// Filesystem icons
|
||||
m_iconList = new wxImageList(16, 16);
|
||||
m_iconList->Add(wxBitmap(disc_xpm), wxNullBitmap); // 0
|
||||
m_iconList->Add(wxBitmap(folder_xpm), wxNullBitmap); // 1
|
||||
m_iconList->Add(wxBitmap(file_xpm), wxNullBitmap); // 2
|
||||
if (!IsWad)
|
||||
{
|
||||
wxPanel * const m_Filesystem =
|
||||
new wxPanel(m_Notebook, ID_FILESYSTEM, wxDefaultPosition, wxDefaultSize);
|
||||
m_Notebook->AddPage(m_Filesystem, _("Filesystem"));
|
||||
|
||||
// Filesystem tree
|
||||
m_Treectrl = new wxTreeCtrl(m_Filesystem, ID_TREECTRL, wxDefaultPosition, wxDefaultSize, wxTR_DEFAULT_STYLE, wxDefaultValidator);
|
||||
m_Treectrl->AssignImageList(m_iconList);
|
||||
RootId = m_Treectrl->AddRoot(_("Disc"), 0, 0, 0);
|
||||
// Filesystem icons
|
||||
wxImageList * const m_iconList = new wxImageList(16, 16);
|
||||
m_iconList->Add(wxBitmap(disc_xpm), wxNullBitmap); // 0
|
||||
m_iconList->Add(wxBitmap(folder_xpm), wxNullBitmap); // 1
|
||||
m_iconList->Add(wxBitmap(file_xpm), wxNullBitmap); // 2
|
||||
|
||||
wxBoxSizer* sTreePage;
|
||||
sTreePage = new wxBoxSizer(wxVERTICAL);
|
||||
sTreePage->Add(m_Treectrl, 1, wxEXPAND|wxALL, 5);
|
||||
m_Filesystem->SetSizer(sTreePage);
|
||||
// Filesystem tree
|
||||
m_Treectrl = new wxTreeCtrl(m_Filesystem, ID_TREECTRL,
|
||||
wxDefaultPosition, wxDefaultSize, wxTR_DEFAULT_STYLE);
|
||||
m_Treectrl->AssignImageList(m_iconList);
|
||||
RootId = m_Treectrl->AddRoot(_("Disc"), 0, 0, 0);
|
||||
|
||||
// It's a wad file, so we remove the FileSystem page
|
||||
if (IsWad)
|
||||
m_Notebook->RemovePage(4);
|
||||
wxBoxSizer* sTreePage = new wxBoxSizer(wxVERTICAL);
|
||||
sTreePage->Add(m_Treectrl, 1, wxEXPAND|wxALL, 5);
|
||||
m_Filesystem->SetSizer(sTreePage);
|
||||
}
|
||||
|
||||
m_Notebook->SetSelection(0);
|
||||
wxSizer* sButtons = CreateButtonSizer(wxNO_DEFAULT);
|
||||
sButtons->Prepend(EditConfig, 0, wxALL, 5);
|
||||
sButtons->Add(new wxButton(this, wxID_OK, _("Close")), 0, wxALL, 5);
|
||||
|
||||
// Add notebook and buttons to the dialog
|
||||
wxBoxSizer* sMain;
|
||||
sMain = new wxBoxSizer(wxVERTICAL);
|
||||
sMain->Add(m_Notebook, 1, wxEXPAND|wxALL, 5);
|
||||
sMain->Add(sButtons, 0, wxEXPAND, 5);
|
||||
sMain->SetMinSize(wxSize(550, 600));
|
||||
sMain->SetMinSize(wxSize(500, -1));
|
||||
|
||||
SetSizerAndFit(sMain);
|
||||
Layout();
|
||||
Center();
|
||||
SetFocus();
|
||||
}
|
||||
|
||||
void CISOProperties::OnCheckBoxClicked(wxCommandEvent& event)
|
||||
|
|
|
@ -48,227 +48,166 @@ struct PHackData
|
|||
|
||||
class CISOProperties : public wxDialog
|
||||
{
|
||||
public:
|
||||
|
||||
CISOProperties(const std::string fileName,
|
||||
public:
|
||||
CISOProperties(const std::string fileName,
|
||||
wxWindow* parent,
|
||||
wxWindowID id = 1,
|
||||
const wxString& title = _("Properties"),
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize,
|
||||
long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER);
|
||||
virtual ~CISOProperties();
|
||||
virtual ~CISOProperties();
|
||||
|
||||
bool bRefreshList;
|
||||
bool bRefreshList;
|
||||
|
||||
void ActionReplayList_Load();
|
||||
bool SaveGameConfig();
|
||||
void ActionReplayList_Load();
|
||||
bool SaveGameConfig();
|
||||
|
||||
PHackData PHack_Data;
|
||||
PHackData PHack_Data;
|
||||
|
||||
private:
|
||||
private:
|
||||
DECLARE_EVENT_TABLE();
|
||||
|
||||
DECLARE_EVENT_TABLE();
|
||||
// Core
|
||||
wxCheckBox *CPUThread, *SkipIdle, *MMU, *MMUBAT, *TLBHack;
|
||||
wxCheckBox *VBeam, *FastDiscSpeed, *BlockMerging, *DSPHLE;
|
||||
// Wii
|
||||
wxCheckBox *EnableProgressiveScan, *EnableWideScreen;
|
||||
// Video
|
||||
wxCheckBox *UseZTPSpeedupHack, *PHackEnable;
|
||||
wxButton *PHSettings;
|
||||
|
||||
wxStaticBoxSizer *sbGameConfig;
|
||||
wxStaticBoxSizer *sbCoreOverrides;
|
||||
wxStaticBoxSizer *sbWiiOverrides;
|
||||
wxStaticBoxSizer *sbVideoOverrides;
|
||||
wxBoxSizer *sEmuState;
|
||||
wxBoxSizer *sPatches;
|
||||
wxBoxSizer *sPatchButtons;
|
||||
wxBoxSizer *sCheats;
|
||||
wxBoxSizer *sCheatButtons;
|
||||
wxStaticBoxSizer *sbISODetails;
|
||||
wxGridBagSizer *sISODetails;
|
||||
wxStaticBoxSizer *sbBannerDetails;
|
||||
wxGridBagSizer *sBannerDetails;
|
||||
wxArrayString arrayStringFor_EmuState;
|
||||
wxChoice *EmuState;
|
||||
wxTextCtrl *EmuIssues;
|
||||
wxArrayString arrayStringFor_Patches;
|
||||
wxCheckListBox *Patches;
|
||||
wxButton *EditPatch;
|
||||
wxButton *RemovePatch;
|
||||
wxArrayString arrayStringFor_Cheats;
|
||||
wxCheckListBox *Cheats;
|
||||
wxButton *EditCheat;
|
||||
wxButton *RemoveCheat;
|
||||
wxArrayString arrayStringFor_Speedhacks;
|
||||
wxCheckListBox *Speedhacks;
|
||||
wxButton *EditSpeedhack;
|
||||
wxButton *AddSpeedhack;
|
||||
wxButton *RemoveSpeedhack;
|
||||
|
||||
wxButton *m_Close;
|
||||
wxTextCtrl *m_Name;
|
||||
wxTextCtrl *m_GameID;
|
||||
wxTextCtrl *m_Country;
|
||||
wxTextCtrl *m_MakerID;
|
||||
wxTextCtrl *m_Date;
|
||||
wxTextCtrl *m_FST;
|
||||
wxArrayString arrayStringFor_Lang;
|
||||
wxChoice *m_Lang;
|
||||
wxTextCtrl *m_ShortName;
|
||||
wxTextCtrl *m_Maker;
|
||||
wxTextCtrl *m_Comment;
|
||||
wxStaticBitmap *m_Banner;
|
||||
|
||||
wxNotebook *m_Notebook;
|
||||
wxPanel *m_GameConfig;
|
||||
wxPanel *m_PatchPage;
|
||||
wxPanel *m_CheatPage;
|
||||
wxPanel *m_Information;
|
||||
wxPanel *m_Filesystem;
|
||||
wxTreeCtrl *m_Treectrl;
|
||||
wxTreeItemId RootId;
|
||||
|
||||
wxStaticText *OverrideText;
|
||||
// Core
|
||||
wxCheckBox *CPUThread, *SkipIdle, *MMU, *MMUBAT, *TLBHack;
|
||||
wxCheckBox *VBeam, *FastDiscSpeed, *BlockMerging, *DSPHLE;
|
||||
// Wii
|
||||
wxCheckBox *EnableProgressiveScan, *EnableWideScreen;
|
||||
// Video
|
||||
wxCheckBox *UseZTPSpeedupHack, *PHackEnable;
|
||||
wxButton *PHSettings;
|
||||
Gecko::CodeConfigPanel *m_geckocode_panel;
|
||||
|
||||
wxButton *EditConfig;
|
||||
wxStaticText *EmuStateText;
|
||||
wxArrayString arrayStringFor_EmuState;
|
||||
wxChoice *EmuState;
|
||||
wxTextCtrl *EmuIssues;
|
||||
wxArrayString arrayStringFor_Patches;
|
||||
wxCheckListBox *Patches;
|
||||
wxButton *EditPatch;
|
||||
wxButton *AddPatch;
|
||||
wxButton *RemovePatch;
|
||||
wxArrayString arrayStringFor_Cheats;
|
||||
wxCheckListBox *Cheats;
|
||||
wxButton *EditCheat;
|
||||
wxButton *AddCheat;
|
||||
wxButton *RemoveCheat;
|
||||
wxArrayString arrayStringFor_Speedhacks;
|
||||
wxCheckListBox *Speedhacks;
|
||||
wxButton *EditSpeedhack;
|
||||
wxButton *AddSpeedhack;
|
||||
wxButton *RemoveSpeedhack;
|
||||
enum
|
||||
{
|
||||
ID_TREECTRL = 1000,
|
||||
|
||||
wxStaticText *m_NameText;
|
||||
wxStaticText *m_GameIDText;
|
||||
wxStaticText *m_CountryText;
|
||||
wxStaticText *m_MakerIDText;
|
||||
wxStaticText *m_DateText;
|
||||
wxStaticText *m_FSTText;
|
||||
wxStaticText *m_LangText;
|
||||
wxStaticText *m_ShortText;
|
||||
wxStaticText *m_MakerText;
|
||||
wxStaticText *m_CommentText;
|
||||
wxStaticText *m_BannerText;
|
||||
wxTextCtrl *m_Name;
|
||||
wxTextCtrl *m_GameID;
|
||||
wxTextCtrl *m_Country;
|
||||
wxTextCtrl *m_MakerID;
|
||||
wxTextCtrl *m_Date;
|
||||
wxTextCtrl *m_FST;
|
||||
wxArrayString arrayStringFor_Lang;
|
||||
wxChoice *m_Lang;
|
||||
wxTextCtrl *m_ShortName;
|
||||
wxTextCtrl *m_Maker;
|
||||
wxTextCtrl *m_Comment;
|
||||
wxStaticBitmap *m_Banner;
|
||||
ID_NOTEBOOK,
|
||||
ID_GAMECONFIG,
|
||||
ID_PATCH_PAGE,
|
||||
ID_ARCODE_PAGE,
|
||||
ID_SPEEDHACK_PAGE,
|
||||
ID_INFORMATION,
|
||||
ID_FILESYSTEM,
|
||||
|
||||
wxTreeCtrl *m_Treectrl;
|
||||
wxTreeItemId RootId;
|
||||
wxImageList *m_iconList;
|
||||
ID_USEDUALCORE,
|
||||
ID_IDLESKIP,
|
||||
ID_MMU,
|
||||
ID_MMUBAT,
|
||||
ID_TLBHACK,
|
||||
ID_VBEAM,
|
||||
ID_DISCSPEED,
|
||||
ID_MERGEBLOCKS,
|
||||
ID_AUDIO_DSP_HLE,
|
||||
ID_ZTP_SPEEDUP,
|
||||
ID_PHACKENABLE,
|
||||
ID_PHSETTINGS,
|
||||
ID_ENABLEPROGRESSIVESCAN,
|
||||
ID_ENABLEWIDESCREEN,
|
||||
ID_EDITCONFIG,
|
||||
ID_EMUSTATE,
|
||||
ID_EMU_ISSUES,
|
||||
ID_PATCHES_LIST,
|
||||
ID_EDITPATCH,
|
||||
ID_ADDPATCH,
|
||||
ID_REMOVEPATCH,
|
||||
ID_CHEATS_LIST,
|
||||
ID_EDITCHEAT,
|
||||
ID_ADDCHEAT,
|
||||
ID_REMOVECHEAT,
|
||||
|
||||
wxFlexGridSizer *szrPHackSettings;
|
||||
ID_NAME,
|
||||
ID_GAMEID,
|
||||
ID_COUNTRY,
|
||||
ID_MAKERID,
|
||||
ID_DATE,
|
||||
ID_FST,
|
||||
ID_VERSION,
|
||||
ID_LANG,
|
||||
ID_SHORTNAME,
|
||||
ID_LONGNAME,
|
||||
ID_MAKER,
|
||||
ID_COMMENT,
|
||||
ID_BANNER,
|
||||
IDM_EXTRACTDIR,
|
||||
IDM_EXTRACTALL,
|
||||
IDM_EXTRACTFILE,
|
||||
IDM_EXTRACTAPPLOADER,
|
||||
IDM_EXTRACTDOL,
|
||||
IDM_BNRSAVEAS
|
||||
};
|
||||
|
||||
Gecko::CodeConfigPanel *m_geckocode_panel;
|
||||
void CreateGUIControls(bool);
|
||||
void OnClose(wxCloseEvent& event);
|
||||
void OnCloseClick(wxCommandEvent& event);
|
||||
void OnEditConfig(wxCommandEvent& event);
|
||||
void ListSelectionChanged(wxCommandEvent& event);
|
||||
void PatchButtonClicked(wxCommandEvent& event);
|
||||
void ActionReplayButtonClicked(wxCommandEvent& event);
|
||||
void RightClickOnBanner(wxMouseEvent& event);
|
||||
void OnBannerImageSave(wxCommandEvent& event);
|
||||
void OnRightClickOnTree(wxTreeEvent& event);
|
||||
void OnExtractFile(wxCommandEvent& event);
|
||||
void OnExtractDir(wxCommandEvent& event);
|
||||
void OnExtractDataFromHeader(wxCommandEvent& event);
|
||||
void SetRefresh(wxCommandEvent& event);
|
||||
void OnChangeBannerLang(wxCommandEvent& event);
|
||||
void OnCheckBoxClicked(wxCommandEvent& event);
|
||||
void PHackButtonClicked(wxCommandEvent& event);
|
||||
|
||||
enum
|
||||
{
|
||||
ID_TREECTRL = 1000,
|
||||
GameListItem *OpenGameListItem;
|
||||
|
||||
ID_NOTEBOOK,
|
||||
ID_GAMECONFIG,
|
||||
ID_PATCH_PAGE,
|
||||
ID_ARCODE_PAGE,
|
||||
ID_SPEEDHACK_PAGE,
|
||||
ID_INFORMATION,
|
||||
ID_FILESYSTEM,
|
||||
std::vector<const DiscIO::SFileInfo *> GCFiles;
|
||||
typedef std::vector<const DiscIO::SFileInfo *>::iterator fileIter;
|
||||
|
||||
ID_OVERRIDE_TEXT,
|
||||
ID_USEDUALCORE,
|
||||
ID_IDLESKIP,
|
||||
ID_MMU,
|
||||
ID_MMUBAT,
|
||||
ID_TLBHACK,
|
||||
ID_VBEAM,
|
||||
ID_DISCSPEED,
|
||||
ID_MERGEBLOCKS,
|
||||
ID_AUDIO_DSP_HLE,
|
||||
ID_ZTP_SPEEDUP,
|
||||
ID_PHACKENABLE,
|
||||
ID_PHSETTINGS,
|
||||
ID_ENABLEPROGRESSIVESCAN,
|
||||
ID_ENABLEWIDESCREEN,
|
||||
ID_EDITCONFIG,
|
||||
ID_EMUSTATE_TEXT,
|
||||
ID_EMUSTATE,
|
||||
ID_EMUISSUES_TEXT,
|
||||
ID_EMU_ISSUES,
|
||||
ID_PATCHES_LIST,
|
||||
ID_EDITPATCH,
|
||||
ID_ADDPATCH,
|
||||
ID_REMOVEPATCH,
|
||||
ID_CHEATS_LIST,
|
||||
ID_EDITCHEAT,
|
||||
ID_ADDCHEAT,
|
||||
ID_REMOVECHEAT,
|
||||
size_t CreateDirectoryTree(wxTreeItemId& parent,
|
||||
std::vector<const DiscIO::SFileInfo*> fileInfos,
|
||||
const size_t _FirstIndex,
|
||||
const size_t _LastIndex);
|
||||
void ExportDir(const char* _rFullPath, const char* _rExportFilename,
|
||||
const int partitionNum = 0);
|
||||
|
||||
ID_NAME_TEXT,
|
||||
ID_GAMEID_TEXT,
|
||||
ID_COUNTRY_TEXT,
|
||||
ID_MAKERID_TEXT,
|
||||
ID_DATE_TEXT,
|
||||
ID_FST_TEXT,
|
||||
ID_VERSION_TEXT,
|
||||
ID_LANG_TEXT,
|
||||
ID_SHORTNAME_TEXT,
|
||||
ID_LONGNAME_TEXT,
|
||||
ID_MAKER_TEXT,
|
||||
ID_COMMENT_TEXT,
|
||||
ID_BANNER_TEXT,
|
||||
IniFile GameIni;
|
||||
std::string GameIniFile;
|
||||
|
||||
ID_NAME,
|
||||
ID_GAMEID,
|
||||
ID_COUNTRY,
|
||||
ID_MAKERID,
|
||||
ID_DATE,
|
||||
ID_FST,
|
||||
ID_VERSION,
|
||||
ID_LANG,
|
||||
ID_SHORTNAME,
|
||||
ID_LONGNAME,
|
||||
ID_MAKER,
|
||||
ID_COMMENT,
|
||||
ID_BANNER,
|
||||
IDM_EXTRACTDIR,
|
||||
IDM_EXTRACTALL,
|
||||
IDM_EXTRACTFILE,
|
||||
IDM_EXTRACTAPPLOADER,
|
||||
IDM_EXTRACTDOL,
|
||||
IDM_BNRSAVEAS
|
||||
};
|
||||
|
||||
void CreateGUIControls(bool);
|
||||
void OnClose(wxCloseEvent& event);
|
||||
void OnCloseClick(wxCommandEvent& event);
|
||||
void OnEditConfig(wxCommandEvent& event);
|
||||
void ListSelectionChanged(wxCommandEvent& event);
|
||||
void PatchButtonClicked(wxCommandEvent& event);
|
||||
void ActionReplayButtonClicked(wxCommandEvent& event);
|
||||
void RightClickOnBanner(wxMouseEvent& event);
|
||||
void OnBannerImageSave(wxCommandEvent& event);
|
||||
void OnRightClickOnTree(wxTreeEvent& event);
|
||||
void OnExtractFile(wxCommandEvent& event);
|
||||
void OnExtractDir(wxCommandEvent& event);
|
||||
void OnExtractDataFromHeader(wxCommandEvent& event);
|
||||
void SetRefresh(wxCommandEvent& event);
|
||||
void OnChangeBannerLang(wxCommandEvent& event);
|
||||
void OnCheckBoxClicked(wxCommandEvent& event);
|
||||
void PHackButtonClicked(wxCommandEvent& event);
|
||||
|
||||
GameListItem *OpenGameListItem;
|
||||
|
||||
std::vector<const DiscIO::SFileInfo *> GCFiles;
|
||||
typedef std::vector<const DiscIO::SFileInfo *>::iterator fileIter;
|
||||
|
||||
size_t CreateDirectoryTree(wxTreeItemId& parent,
|
||||
std::vector<const DiscIO::SFileInfo*> fileInfos,
|
||||
const size_t _FirstIndex,
|
||||
const size_t _LastIndex);
|
||||
void ExportDir(const char* _rFullPath, const char* _rExportFilename,
|
||||
const int partitionNum = 0);
|
||||
|
||||
IniFile GameIni;
|
||||
std::string GameIniFile;
|
||||
|
||||
void LoadGameConfig();
|
||||
void PatchList_Load();
|
||||
void PatchList_Save();
|
||||
void ActionReplayList_Save();
|
||||
void ChangeBannerDetails(int lang);
|
||||
void LoadGameConfig();
|
||||
void PatchList_Load();
|
||||
void PatchList_Save();
|
||||
void ActionReplayList_Save();
|
||||
void ChangeBannerDetails(int lang);
|
||||
};
|
||||
#endif
|
||||
|
|
|
@ -190,11 +190,6 @@ void InputConfigDialog::UpdateControlReferences()
|
|||
(*i)->controller->UpdateReferences(g_controller_interface);
|
||||
}
|
||||
|
||||
void InputConfigDialog::ClickCancel(wxCommandEvent& event)
|
||||
{
|
||||
event.Skip();
|
||||
}
|
||||
|
||||
void InputConfigDialog::ClickSave(wxCommandEvent& event)
|
||||
{
|
||||
m_plugin.SaveConfig();
|
||||
|
@ -495,7 +490,6 @@ wxStaticBoxSizer* ControlDialog::CreateControlChooser(wxWindow* const parent, wx
|
|||
|
||||
wxButton* const clear_button = new wxButton(parent, -1, _("Clear"));
|
||||
wxButton* const set_button = new wxButton(parent, -1, _("Set"));
|
||||
wxButton* const ok_button = new wxButton(parent, wxID_OK, _("OK"));
|
||||
|
||||
wxButton* const select_button = new wxButton(parent, -1, _("Select"));
|
||||
_connect_macro_(select_button, ControlDialog::SetSelectedControl, wxEVT_COMMAND_BUTTON_CLICKED, parent);
|
||||
|
@ -546,16 +540,14 @@ wxStaticBoxSizer* ControlDialog::CreateControlChooser(wxWindow* const parent, wx
|
|||
ctrls_sizer->Add(control_lbox, 1, wxEXPAND, 0);
|
||||
ctrls_sizer->Add(button_sizer, 0, wxEXPAND, 0);
|
||||
|
||||
wxBoxSizer* const bottom_btns_sizer = new wxBoxSizer(wxHORIZONTAL);
|
||||
bottom_btns_sizer->Add(clear_button, 0, wxLEFT, 5);
|
||||
bottom_btns_sizer->Add(set_button, 0, wxRIGHT, 5);
|
||||
bottom_btns_sizer->AddStretchSpacer(1);
|
||||
bottom_btns_sizer->Add(ok_button, 0, wxRIGHT, 5);
|
||||
wxSizer* const bottom_btns_sizer = CreateButtonSizer(wxOK);
|
||||
bottom_btns_sizer->Prepend(set_button, 0, wxRIGHT, 5);
|
||||
bottom_btns_sizer->Prepend(clear_button, 0, wxLEFT, 5);
|
||||
|
||||
main_szr->Add(range_sizer, 0, wxEXPAND|wxLEFT|wxRIGHT, 5);
|
||||
main_szr->Add(ctrls_sizer, 0, wxEXPAND|wxLEFT|wxRIGHT|wxBOTTOM, 5);
|
||||
main_szr->Add(textctrl, 1, wxEXPAND|wxLEFT|wxRIGHT|wxBOTTOM, 5);
|
||||
main_szr->Add(bottom_btns_sizer, 0, wxEXPAND|wxBOTTOM, 5);
|
||||
main_szr->Add(bottom_btns_sizer, 0, wxEXPAND|wxBOTTOM|wxRIGHT, 5);
|
||||
main_szr->Add(m_bound_label, 0, wxCENTER, 0);
|
||||
|
||||
UpdateListContents();
|
||||
|
@ -983,23 +975,16 @@ InputConfigDialog::InputConfigDialog(wxWindow* const parent, InputPlugin& plugin
|
|||
wxButton* const close_button = new wxButton(this, wxID_OK, _("Save"));
|
||||
_connect_macro_(close_button, InputConfigDialog::ClickSave, wxEVT_COMMAND_BUTTON_CLICKED, this);
|
||||
wxButton* const cancel_button = new wxButton(this, wxID_CANCEL, _("Cancel"));
|
||||
_connect_macro_(cancel_button, InputConfigDialog::ClickCancel, wxEVT_COMMAND_BUTTON_CLICKED, this);
|
||||
|
||||
wxBoxSizer* btns = new wxBoxSizer(wxHORIZONTAL);
|
||||
//btns->Add(new wxStaticText(this, -1, wxString::FromAscii(ver.c_str())), 0, wxLEFT|wxTOP, 5);
|
||||
btns->AddStretchSpacer();
|
||||
btns->Add(cancel_button, 0, 0, 0);
|
||||
btns->Add(close_button, 0, 0, 0);
|
||||
wxSizer* btns = CreateButtonSizer(wxNO_DEFAULT);
|
||||
btns->Add(cancel_button);
|
||||
btns->Add(close_button);
|
||||
|
||||
wxBoxSizer* const szr = new wxBoxSizer(wxVERTICAL);
|
||||
szr->Add(m_pad_notebook, 0, wxEXPAND|wxTOP|wxLEFT|wxRIGHT, 5);
|
||||
szr->Add(btns, 0, wxEXPAND|wxALL, 5);
|
||||
|
||||
SetSizerAndFit(szr); // needed
|
||||
|
||||
// not needed here it seems, but it cant hurt
|
||||
//Layout();
|
||||
|
||||
SetSizerAndFit(szr);
|
||||
Center();
|
||||
|
||||
// live preview update timer
|
||||
|
|
|
@ -235,7 +235,6 @@ public:
|
|||
|
||||
bool Destroy();
|
||||
|
||||
void ClickCancel(wxCommandEvent& event);
|
||||
void ClickSave(wxCommandEvent& event);
|
||||
|
||||
void UpdateDeviceComboBox();
|
||||
|
|
|
@ -470,9 +470,9 @@ VideoConfigDiag::VideoConfigDiag(wxWindow* parent, const std::string &title, con
|
|||
szr_main->Add(notebook, 1, wxEXPAND | wxALL, 5);
|
||||
szr_main->Add(btn_close, 0, wxALIGN_RIGHT | wxRIGHT | wxBOTTOM, 5);
|
||||
|
||||
notebook->SetSelection(0);
|
||||
SetSizerAndFit(szr_main);
|
||||
Center();
|
||||
SetFocus();
|
||||
|
||||
SetUIValuesFromConfig();
|
||||
Connect(wxID_ANY, wxEVT_UPDATE_UI, wxUpdateUIEventHandler(VideoConfigDiag::OnUpdateUI), NULL, this);
|
||||
|
|
|
@ -82,7 +82,7 @@ WiimoteConfigDiag::WiimoteConfigDiag(wxWindow* const parent, InputPlugin& plugin
|
|||
wxButton* const cancel_button = new wxButton(this, wxID_CANCEL, _("Cancel"), wxDefaultPosition);
|
||||
_connect_macro_(cancel_button, WiimoteConfigDiag::Cancel, wxEVT_COMMAND_BUTTON_CLICKED, this);
|
||||
|
||||
wxBoxSizer* const button_sizer = new wxBoxSizer(wxHORIZONTAL);
|
||||
wxSizer* const button_sizer = CreateButtonSizer(wxNO_DEFAULT);
|
||||
button_sizer->Add(cancel_button, 0, wxALIGN_RIGHT | wxRIGHT, 5);
|
||||
button_sizer->Add(ok_button, 0, wxALIGN_RIGHT);
|
||||
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue