mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-23 06:09:50 -06:00
Qt: use Settings::EmulationStateChanged
This commit is contained in:
@ -38,64 +38,42 @@ MenuBar::MenuBar(QWidget* parent) : QMenuBar(parent)
|
||||
AddViewMenu();
|
||||
AddHelpMenu();
|
||||
|
||||
EmulationStopped();
|
||||
connect(&Settings::Instance(), &Settings::EmulationStateChanged, this,
|
||||
[=](Core::State state) { OnEmulationStateChanged(state); });
|
||||
OnEmulationStateChanged(Core::GetState());
|
||||
|
||||
connect(this, &MenuBar::SelectionChanged, this, &MenuBar::OnSelectionChanged);
|
||||
connect(this, &MenuBar::RecordingStatusChanged, this, &MenuBar::OnRecordingStatusChanged);
|
||||
connect(this, &MenuBar::ReadOnlyModeChanged, this, &MenuBar::OnReadOnlyModeChanged);
|
||||
}
|
||||
|
||||
void MenuBar::EmulationStarted()
|
||||
void MenuBar::OnEmulationStateChanged(Core::State state)
|
||||
{
|
||||
bool running = state != Core::State::Uninitialized;
|
||||
bool playing = running && state != Core::State::Paused;
|
||||
|
||||
// Emulation
|
||||
m_play_action->setEnabled(false);
|
||||
m_play_action->setVisible(false);
|
||||
m_pause_action->setEnabled(true);
|
||||
m_pause_action->setVisible(true);
|
||||
m_stop_action->setEnabled(true);
|
||||
m_reset_action->setEnabled(true);
|
||||
m_fullscreen_action->setEnabled(true);
|
||||
m_frame_advance_action->setEnabled(true);
|
||||
m_screenshot_action->setEnabled(true);
|
||||
m_state_load_menu->setEnabled(true);
|
||||
m_state_save_menu->setEnabled(true);
|
||||
m_play_action->setEnabled(!playing);
|
||||
m_play_action->setVisible(!playing);
|
||||
m_pause_action->setEnabled(playing);
|
||||
m_pause_action->setVisible(playing);
|
||||
m_stop_action->setEnabled(running);
|
||||
m_stop_action->setVisible(running);
|
||||
m_reset_action->setEnabled(running);
|
||||
m_fullscreen_action->setEnabled(running);
|
||||
m_frame_advance_action->setEnabled(running);
|
||||
m_screenshot_action->setEnabled(running);
|
||||
m_state_load_menu->setEnabled(running);
|
||||
m_state_save_menu->setEnabled(running);
|
||||
|
||||
// Movie
|
||||
m_recording_read_only->setEnabled(true);
|
||||
m_recording_play->setEnabled(false);
|
||||
m_recording_read_only->setEnabled(running);
|
||||
if (!running)
|
||||
m_recording_stop->setEnabled(false);
|
||||
m_recording_play->setEnabled(!running);
|
||||
|
||||
UpdateStateSlotMenu();
|
||||
UpdateToolsMenu(true);
|
||||
}
|
||||
void MenuBar::EmulationPaused()
|
||||
{
|
||||
m_play_action->setEnabled(true);
|
||||
m_play_action->setVisible(true);
|
||||
m_pause_action->setEnabled(false);
|
||||
m_pause_action->setVisible(false);
|
||||
}
|
||||
void MenuBar::EmulationStopped()
|
||||
{
|
||||
// Emulation
|
||||
m_play_action->setEnabled(true);
|
||||
m_play_action->setVisible(true);
|
||||
m_pause_action->setEnabled(false);
|
||||
m_pause_action->setVisible(false);
|
||||
m_stop_action->setEnabled(false);
|
||||
m_reset_action->setEnabled(false);
|
||||
m_fullscreen_action->setEnabled(false);
|
||||
m_frame_advance_action->setEnabled(false);
|
||||
m_screenshot_action->setEnabled(false);
|
||||
m_state_load_menu->setEnabled(false);
|
||||
m_state_save_menu->setEnabled(false);
|
||||
|
||||
// Movie
|
||||
m_recording_read_only->setEnabled(false);
|
||||
m_recording_stop->setEnabled(false);
|
||||
m_recording_play->setEnabled(false);
|
||||
|
||||
UpdateStateSlotMenu();
|
||||
UpdateToolsMenu(false);
|
||||
UpdateToolsMenu(running);
|
||||
}
|
||||
|
||||
void MenuBar::AddFileMenu()
|
||||
|
Reference in New Issue
Block a user