diff options
| author | Rachel Bryk <RachelBryk@gmail.com> | 2014-09-16 17:41:16 -0400 |
|---|---|---|
| committer | Rachel Bryk <RachelBryk@gmail.com> | 2014-09-16 19:19:41 -0400 |
| commit | 5dc88a267396dc2be504b7445121d02fc3fc55b7 (patch) | |
| tree | b2322abb72d18af3d4c6b1a0bae935feaca63415 /Source/Core/DolphinWX/FrameTools.cpp | |
| parent | 0dd05f4a3f4d5b241c7d741d81f7a180e890a327 (diff) | |
Add hotkeys to select save state slots and to save/load the currently selected slots.
Diffstat (limited to 'Source/Core/DolphinWX/FrameTools.cpp')
| -rw-r--r-- | Source/Core/DolphinWX/FrameTools.cpp | 49 |
1 files changed, 48 insertions, 1 deletions
diff --git a/Source/Core/DolphinWX/FrameTools.cpp b/Source/Core/DolphinWX/FrameTools.cpp index 4045879e31..6b0fc4d92e 100644 --- a/Source/Core/DolphinWX/FrameTools.cpp +++ b/Source/Core/DolphinWX/FrameTools.cpp @@ -185,16 +185,19 @@ wxMenuBar* CFrame::CreateMenu() emulationMenu->AppendSeparator(); wxMenu *saveMenu = new wxMenu; wxMenu *loadMenu = new wxMenu; + wxMenu *slotSelectMenu = new wxMenu; emulationMenu->Append(IDM_LOADSTATE, _("&Load State"), loadMenu); emulationMenu->Append(IDM_SAVESTATE, _("Sa&ve State"), saveMenu); + emulationMenu->Append(IDM_SELECTSLOT, _("Select State slot"), slotSelectMenu); saveMenu->Append(IDM_SAVESTATEFILE, GetMenuLabel(HK_SAVE_STATE_FILE)); + saveMenu->Append(IDM_SAVESELECTEDSLOT, GetMenuLabel(HK_SAVE_STATE_SLOT_SELECTED)); saveMenu->Append(IDM_SAVEFIRSTSTATE, GetMenuLabel(HK_SAVE_FIRST_STATE)); loadMenu->Append(IDM_UNDOSAVESTATE, GetMenuLabel(HK_UNDO_SAVE_STATE)); saveMenu->AppendSeparator(); loadMenu->Append(IDM_LOADSTATEFILE, GetMenuLabel(HK_LOAD_STATE_FILE)); - + loadMenu->Append(IDM_LOADSELECTEDSLOT, GetMenuLabel(HK_LOAD_STATE_SLOT_SELECTED)); loadMenu->Append(IDM_UNDOLOADSTATE, GetMenuLabel(HK_UNDO_LOAD_STATE)); loadMenu->AppendSeparator(); @@ -202,6 +205,7 @@ wxMenuBar* CFrame::CreateMenu() { loadMenu->Append(IDM_LOADSLOT1 + i - 1, GetMenuLabel(HK_LOAD_STATE_SLOT_1 + i - 1)); saveMenu->Append(IDM_SAVESLOT1 + i - 1, GetMenuLabel(HK_SAVE_STATE_SLOT_1 + i - 1)); + slotSelectMenu->Append(IDM_SELECTSLOT1 + i - 1, GetMenuLabel(HK_SELECT_STATE_SLOT_1 + i -1)); } loadMenu->AppendSeparator(); @@ -477,6 +481,28 @@ wxString CFrame::GetMenuLabel(int Id) case HK_UNDO_LOAD_STATE: Label = _("Undo Load State"); break; case HK_UNDO_SAVE_STATE: Label = _("Undo Save State"); break; + case HK_SAVE_STATE_SLOT_SELECTED: + Label = _("Save state to selected slot"); + break; + + case HK_LOAD_STATE_SLOT_SELECTED: + Label = _("load state from selected slot"); + break; + + case HK_SELECT_STATE_SLOT_1: + case HK_SELECT_STATE_SLOT_2: + case HK_SELECT_STATE_SLOT_3: + case HK_SELECT_STATE_SLOT_4: + case HK_SELECT_STATE_SLOT_5: + case HK_SELECT_STATE_SLOT_6: + case HK_SELECT_STATE_SLOT_7: + case HK_SELECT_STATE_SLOT_8: + case HK_SELECT_STATE_SLOT_9: + case HK_SELECT_STATE_SLOT_10: + Label = wxString::Format(_("Select Slot %i"), Id - HK_SELECT_STATE_SLOT_1 + 1); + break; + + default: Label = wxString::Format(_("Undefined %i"), Id); } @@ -1602,6 +1628,27 @@ void CFrame::OnFrameSkip(wxCommandEvent& event) SConfig::GetInstance().m_FrameSkip = amount; } +void CFrame::OnSelectSlot(wxCommandEvent& event) +{ + g_saveSlot = event.GetId() - IDM_SELECTSLOT1 + 1; + Core::DisplayMessage(StringFromFormat("Selected slot %d", g_saveSlot), 1000); +} + +void CFrame::OnLoadCurrentSlot(wxCommandEvent& event) +{ + if (Core::IsRunningAndStarted()) + { + State::Load(g_saveSlot); + } +} + +void CFrame::OnSaveCurrentSlot(wxCommandEvent& event) +{ + if (Core::IsRunningAndStarted()) + { + State::Save(g_saveSlot); + } +} |
