mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2024-11-14 21:37:52 -07:00
Add hotkeys for incrementing/decrementing selected state slot (like RetroArch)
This commit is contained in:
parent
7b2b559743
commit
914f38753a
@ -179,6 +179,8 @@ constexpr std::array<const char*, NUM_HOTKEYS> s_hotkey_labels{{
|
||||
_trans("Undo Save State"),
|
||||
_trans("Save State"),
|
||||
_trans("Load State"),
|
||||
_trans("Increase Selected State Slot"),
|
||||
_trans("Decrease Selected State Slot"),
|
||||
|
||||
_trans("Load ROM"),
|
||||
_trans("Unload ROM"),
|
||||
@ -349,7 +351,7 @@ constexpr std::array<HotkeyGroupInfo, NUM_HOTKEY_GROUPS> s_groups_info = {
|
||||
{_trans("Save State"), HK_SAVE_STATE_SLOT_1, HK_SAVE_STATE_SLOT_SELECTED},
|
||||
{_trans("Select State"), HK_SELECT_STATE_SLOT_1, HK_SELECT_STATE_SLOT_10},
|
||||
{_trans("Load Last State"), HK_LOAD_LAST_STATE_1, HK_LOAD_LAST_STATE_10},
|
||||
{_trans("Other State Hotkeys"), HK_SAVE_FIRST_STATE, HK_LOAD_STATE_FILE},
|
||||
{_trans("Other State Hotkeys"), HK_SAVE_FIRST_STATE, HK_DECREMENT_SELECTED_STATE_SLOT},
|
||||
{_trans("GBA Core"), HK_GBA_LOAD, HK_GBA_RESET, true},
|
||||
{_trans("GBA Volume"), HK_GBA_VOLUME_DOWN, HK_GBA_TOGGLE_MUTE, true},
|
||||
{_trans("GBA Window Size"), HK_GBA_1X, HK_GBA_4X, true}}};
|
||||
|
@ -164,6 +164,8 @@ enum Hotkey
|
||||
HK_UNDO_SAVE_STATE,
|
||||
HK_SAVE_STATE_FILE,
|
||||
HK_LOAD_STATE_FILE,
|
||||
HK_INCREMENT_SELECTED_STATE_SLOT,
|
||||
HK_DECREMENT_SELECTED_STATE_SLOT,
|
||||
|
||||
HK_GBA_LOAD,
|
||||
HK_GBA_UNLOAD,
|
||||
|
@ -490,6 +490,12 @@ void HotkeyScheduler::Run()
|
||||
if (IsHotkey(HK_LOAD_STATE_SLOT_SELECTED))
|
||||
emit StateLoadSlotHotkey();
|
||||
|
||||
if (IsHotkey(HK_INCREMENT_SELECTED_STATE_SLOT))
|
||||
emit IncrementSelectedStateSlotHotkey();
|
||||
|
||||
if (IsHotkey(HK_DECREMENT_SELECTED_STATE_SLOT))
|
||||
emit DecrementSelectedStateSlotHotkey();
|
||||
|
||||
// Stereoscopy
|
||||
if (IsHotkey(HK_TOGGLE_STEREO_SBS))
|
||||
{
|
||||
|
@ -36,6 +36,8 @@ signals:
|
||||
void ScreenShotHotkey();
|
||||
void RefreshGameListHotkey();
|
||||
void SetStateSlotHotkey(int slot);
|
||||
void IncrementSelectedStateSlotHotkey();
|
||||
void DecrementSelectedStateSlotHotkey();
|
||||
void StateLoadSlotHotkey();
|
||||
void StateSaveSlotHotkey();
|
||||
void StateLoadSlot(int state);
|
||||
|
@ -595,6 +595,10 @@ void MainWindow::ConnectHotkeys()
|
||||
&MainWindow::StateSaveSlot);
|
||||
connect(m_hotkey_scheduler, &HotkeyScheduler::SetStateSlotHotkey, this,
|
||||
&MainWindow::SetStateSlot);
|
||||
connect(m_hotkey_scheduler, &HotkeyScheduler::IncrementSelectedStateSlotHotkey, this,
|
||||
&MainWindow::IncrementSelectedStateSlot);
|
||||
connect(m_hotkey_scheduler, &HotkeyScheduler::DecrementSelectedStateSlotHotkey, this,
|
||||
&MainWindow::DecrementSelectedStateSlot);
|
||||
connect(m_hotkey_scheduler, &HotkeyScheduler::StartRecording, this,
|
||||
&MainWindow::OnStartRecording);
|
||||
connect(m_hotkey_scheduler, &HotkeyScheduler::PlayRecording, this, &MainWindow::OnPlayRecording);
|
||||
@ -1358,6 +1362,22 @@ void MainWindow::SetStateSlot(int slot)
|
||||
2500);
|
||||
}
|
||||
|
||||
void MainWindow::IncrementSelectedStateSlot()
|
||||
{
|
||||
int state_slot = m_state_slot + 1;
|
||||
if (state_slot > State::NUM_STATES)
|
||||
state_slot = 1;
|
||||
m_menu_bar->SetStateSlot(state_slot);
|
||||
}
|
||||
|
||||
void MainWindow::DecrementSelectedStateSlot()
|
||||
{
|
||||
int state_slot = m_state_slot - 1;
|
||||
if (state_slot < 1)
|
||||
state_slot = State::NUM_STATES;
|
||||
m_menu_bar->SetStateSlot(state_slot);
|
||||
}
|
||||
|
||||
void MainWindow::PerformOnlineUpdate(const std::string& region)
|
||||
{
|
||||
WiiUpdate::PerformOnlineUpdate(region, this);
|
||||
|
@ -102,6 +102,8 @@ private:
|
||||
void StateSaveUndo();
|
||||
void StateSaveOldest();
|
||||
void SetStateSlot(int slot);
|
||||
void IncrementSelectedStateSlot();
|
||||
void DecrementSelectedStateSlot();
|
||||
void BootWiiSystemMenu();
|
||||
|
||||
void PerformOnlineUpdate(const std::string& region);
|
||||
|
Loading…
Reference in New Issue
Block a user