summaryrefslogtreecommitdiff
path: root/Source/Core/DolphinWX/Cheats/CreateCodeDialog.cpp
diff options
context:
space:
mode:
authorEmptyChaos <EmptyChaos@users.noreply.github.com>2016-04-22 10:42:16 +0000
committerEmptyChaos <EmptyChaos@users.noreply.github.com>2016-05-29 23:33:24 +1000
commit6ab1b2747714179783d0a2946acc9408eef2d950 (patch)
tree0e1d1640c93a8805744a786f40a995dbdf7a2321 /Source/Core/DolphinWX/Cheats/CreateCodeDialog.cpp
parent25b072ff2ba6839b300b05a45ce76e94d84ded32 (diff)
ActionReplay: UI Consistency and Cleanup
Cleanup code style. Move ActionReplay code->INI saving into ActionReplay namespace. Threadsafety Cleanup: ActionReplay is accessed from the Host, Emu and CPU Threads so the internal storage needs to be protected by a lock to prevent vectors/strings being deleted/moved while in use by the CPU Thread. UI Consistency: Make ARCodes behave like Gecko Codes - only apply changes when Apply is pressed. Save changes to INI from CheatsWindow. ISOProperties/CheatsWindow now synchronize with each other.
Diffstat (limited to 'Source/Core/DolphinWX/Cheats/CreateCodeDialog.cpp')
-rw-r--r--Source/Core/DolphinWX/Cheats/CreateCodeDialog.cpp18
1 files changed, 4 insertions, 14 deletions
diff --git a/Source/Core/DolphinWX/Cheats/CreateCodeDialog.cpp b/Source/Core/DolphinWX/Cheats/CreateCodeDialog.cpp
index d53136987a..34b6baac82 100644
--- a/Source/Core/DolphinWX/Cheats/CreateCodeDialog.cpp
+++ b/Source/Core/DolphinWX/Cheats/CreateCodeDialog.cpp
@@ -12,6 +12,7 @@
#include "Core/ConfigManager.h"
#include "DolphinWX/ISOProperties.h"
#include "DolphinWX/WxUtils.h"
+#include "DolphinWX/Cheats/CheatsWindow.h"
#include "DolphinWX/Cheats/CreateCodeDialog.h"
CreateCodeDialog::CreateCodeDialog(wxWindow* const parent, const u32 address)
@@ -70,27 +71,16 @@ void CreateCodeDialog::PressOK(wxCommandEvent& ev)
return;
}
- //wxString full_code = textctrl_code->GetValue();
- //full_code += ' ';
- //full_code += wxString::Format("0x%08x", code_value);
-
// create the new code
ActionReplay::ARCode new_cheat;
new_cheat.active = false;
new_cheat.user_defined = true;
new_cheat.name = WxStrToStr(code_name);
new_cheat.ops.emplace_back(ActionReplay::AREntry(m_code_address, code_value));
- ActionReplay::AddCode(new_cheat);
- // pretty hacky - add the code to the gameini
- // FIXME: The save logic should be ActionReplay since it mirrors the parser
- {
- CISOProperties isoprops(GameListItem(SConfig::GetInstance().m_LastFilename, {}), this);
- // add the code to the isoproperties arcode list
- isoprops.AddARCode(new_cheat);
- // save the gameini
- isoprops.SaveGameConfig();
- }
+ wxCommandEvent add_event(DOLPHIN_EVT_ADD_NEW_ACTION_REPLAY_CODE, GetId());
+ add_event.SetClientData(&new_cheat);
+ GetParent()->GetEventHandler()->ProcessEvent(add_event);
Close();
}