void MenuBar::OnEmulationStateChanged(Core::State state) { bool running = state != Core::State::Uninitialized; bool playing = running && state != Core::State::Paused; // Emulation 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(running); if (!running) m_recording_stop->setEnabled(false); m_recording_play->setEnabled(!running); UpdateStateSlotMenu(); UpdateToolsMenu(running); OnDebugModeToggled(Settings::Instance().IsDebugModeEnabled()); }
void MenuBar::AddEmulationMenu() { QMenu* emu_menu = addMenu(tr("Emulation")); m_play_action = emu_menu->addAction(tr("Play"), this, SIGNAL(Play())); m_pause_action = emu_menu->addAction(tr("Pause"), this, SIGNAL(Pause())); m_stop_action = emu_menu->addAction(tr("Stop"), this, SIGNAL(Stop())); m_reset_action = emu_menu->addAction(tr("Reset"), this, SIGNAL(Reset())); m_fullscreen_action = emu_menu->addAction(tr("Fullscreen"), this, SIGNAL(Fullscreen())); m_frame_advance_action = emu_menu->addAction(tr("Frame Advance"), this, SIGNAL(FrameAdvance())); m_screenshot_action = emu_menu->addAction(tr("Take Screenshot"), this, SIGNAL(Screenshot())); AddStateLoadMenu(emu_menu); AddStateSaveMenu(emu_menu); AddStateSlotMenu(emu_menu); UpdateStateSlotMenu(); }
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); UpdateStateSlotMenu(); }
void MenuBar::AddEmulationMenu() { QMenu* emu_menu = addMenu(tr("&Emulation")); m_play_action = AddAction(emu_menu, tr("&Play"), this, &MenuBar::Play); m_pause_action = AddAction(emu_menu, tr("&Pause"), this, &MenuBar::Pause); m_stop_action = AddAction(emu_menu, tr("&Stop"), this, &MenuBar::Stop); m_reset_action = AddAction(emu_menu, tr("&Reset"), this, &MenuBar::Reset); m_fullscreen_action = AddAction(emu_menu, tr("Toggle &Fullscreen"), this, &MenuBar::Fullscreen); m_frame_advance_action = AddAction(emu_menu, tr("&Frame Advance"), this, &MenuBar::FrameAdvance); m_screenshot_action = AddAction(emu_menu, tr("Take Screenshot"), this, &MenuBar::Screenshot); emu_menu->addSeparator(); AddStateLoadMenu(emu_menu); AddStateSaveMenu(emu_menu); AddStateSlotMenu(emu_menu); UpdateStateSlotMenu(); }