DolphinQt: Fix the enabling/disabling of Movie items even more

Play can only be used when a game is selected and emulation is not
running. Start can be used when a game is selected (to start from
cold boot) or when emulation is running (to start from a savestate).

https://bugs.dolphin-emu.org/issues/11826
This commit is contained in:
JosJuice 2019-08-14 13:45:07 +02:00
parent dd8bc7b3e6
commit a66ca85dd5
2 changed files with 8 additions and 5 deletions

View File

@ -114,7 +114,8 @@ void MenuBar::OnEmulationStateChanged(Core::State state)
m_recording_stop->setEnabled(false); m_recording_stop->setEnabled(false);
m_recording_export->setEnabled(false); m_recording_export->setEnabled(false);
} }
m_recording_play->setEnabled(!running); m_recording_play->setEnabled(m_game_selected && !running);
m_recording_start->setEnabled((m_game_selected || running) && !Movie::IsPlayingInput());
// Options // Options
m_controllers_action->setEnabled(NetPlay::IsNetPlayRunning() ? !running : true); m_controllers_action->setEnabled(NetPlay::IsNetPlayRunning() ? !running : true);
@ -1109,15 +1110,15 @@ void MenuBar::NANDExtractCertificates()
void MenuBar::OnSelectionChanged(std::shared_ptr<const UICommon::GameFile> game_file) void MenuBar::OnSelectionChanged(std::shared_ptr<const UICommon::GameFile> game_file)
{ {
const bool game_selected = !!game_file; m_game_selected = !!game_file;
m_recording_play->setEnabled(game_selected && !Core::IsRunning()); m_recording_play->setEnabled(m_game_selected && !Core::IsRunning());
m_recording_start->setEnabled(game_selected && !Movie::IsPlayingInput()); m_recording_start->setEnabled((m_game_selected || Core::IsRunning()) && !Movie::IsPlayingInput());
} }
void MenuBar::OnRecordingStatusChanged(bool recording) void MenuBar::OnRecordingStatusChanged(bool recording)
{ {
m_recording_start->setEnabled(!recording); m_recording_start->setEnabled(!recording && (m_game_selected || Core::IsRunning()));
m_recording_stop->setEnabled(recording); m_recording_stop->setEnabled(recording);
m_recording_export->setEnabled(recording); m_recording_export->setEnabled(recording);
} }

View File

@ -259,4 +259,6 @@ private:
QAction* m_jit_paired_off; QAction* m_jit_paired_off;
QAction* m_jit_systemregisters_off; QAction* m_jit_systemregisters_off;
QAction* m_jit_branch_off; QAction* m_jit_branch_off;
bool m_game_selected = false;
}; };