Address feedback

This commit is contained in:
Adam Heinermann
2021-11-22 15:45:01 -08:00
parent e7917a00cd
commit 06fc4ec88f

View File

@@ -978,7 +978,7 @@ void GMainWindow::InitializeHotkeys() {
LinkActionShortcut(ui->action_TAS_Reset, QStringLiteral("TAS Reset")); LinkActionShortcut(ui->action_TAS_Reset, QStringLiteral("TAS Reset"));
static const QString main_window = QStringLiteral("Main Window"); static const QString main_window = QStringLiteral("Main Window");
const auto connect_shortcut = [&]<class Fn>(const QString& action_name, const Fn& function) { const auto connect_shortcut = [&]<typename Fn>(const QString& action_name, const Fn& function) {
const QShortcut* hotkey = hotkey_registry.GetHotkey(main_window, action_name, this); const QShortcut* hotkey = hotkey_registry.GetHotkey(main_window, action_name, this);
connect(hotkey, &QShortcut::activated, this, function); connect(hotkey, &QShortcut::activated, this, function);
}; };
@@ -1126,69 +1126,69 @@ void GMainWindow::ConnectWidgetEvents() {
void GMainWindow::ConnectMenuEvents() { void GMainWindow::ConnectMenuEvents() {
// Add actions to this window so that hiding menus in fullscreen won't disable them // Add actions to this window so that hiding menus in fullscreen won't disable them
const auto connect_to = [&]<class Fn>(QAction* action, const Fn& event_fn) { const auto connect_menu = [&]<typename Fn>(QAction* action, const Fn& event_fn) {
connect(action, &QAction::triggered, this, event_fn); connect(action, &QAction::triggered, this, event_fn);
addAction(action); addAction(action);
}; };
// File // File
connect_to(ui->action_Load_File, &GMainWindow::OnMenuLoadFile); connect_menu(ui->action_Load_File, &GMainWindow::OnMenuLoadFile);
connect_to(ui->action_Load_Folder, &GMainWindow::OnMenuLoadFolder); connect_menu(ui->action_Load_Folder, &GMainWindow::OnMenuLoadFolder);
connect_to(ui->action_Install_File_NAND, &GMainWindow::OnMenuInstallToNAND); connect_menu(ui->action_Install_File_NAND, &GMainWindow::OnMenuInstallToNAND);
connect_to(ui->action_Exit, &QMainWindow::close); connect_menu(ui->action_Exit, &QMainWindow::close);
connect_to(ui->action_Load_Amiibo, &GMainWindow::OnLoadAmiibo); connect_menu(ui->action_Load_Amiibo, &GMainWindow::OnLoadAmiibo);
// Emulation // Emulation
connect_to(ui->action_Pause, &GMainWindow::OnPauseContinueGame); connect_menu(ui->action_Pause, &GMainWindow::OnPauseContinueGame);
connect_to(ui->action_Stop, &GMainWindow::OnStopGame); connect_menu(ui->action_Stop, &GMainWindow::OnStopGame);
connect_to(ui->action_Report_Compatibility, &GMainWindow::OnMenuReportCompatibility); connect_menu(ui->action_Report_Compatibility, &GMainWindow::OnMenuReportCompatibility);
connect_to(ui->action_Open_Mods_Page, &GMainWindow::OnOpenModsPage); connect_menu(ui->action_Open_Mods_Page, &GMainWindow::OnOpenModsPage);
connect_to(ui->action_Open_Quickstart_Guide, &GMainWindow::OnOpenQuickstartGuide); connect_menu(ui->action_Open_Quickstart_Guide, &GMainWindow::OnOpenQuickstartGuide);
connect_to(ui->action_Open_FAQ, &GMainWindow::OnOpenFAQ); connect_menu(ui->action_Open_FAQ, &GMainWindow::OnOpenFAQ);
connect_to(ui->action_Restart, &GMainWindow::OnRestartGame); connect_menu(ui->action_Restart, &GMainWindow::OnRestartGame);
connect_to(ui->action_Configure, &GMainWindow::OnConfigure); connect_menu(ui->action_Configure, &GMainWindow::OnConfigure);
connect_to(ui->action_Configure_Current_Game, &GMainWindow::OnConfigurePerGame); connect_menu(ui->action_Configure_Current_Game, &GMainWindow::OnConfigurePerGame);
// View // View
connect_to(ui->action_Fullscreen, &GMainWindow::ToggleFullscreen); connect_menu(ui->action_Fullscreen, &GMainWindow::ToggleFullscreen);
connect_to(ui->action_Single_Window_Mode, &GMainWindow::ToggleWindowMode); connect_menu(ui->action_Single_Window_Mode, &GMainWindow::ToggleWindowMode);
connect_to(ui->action_Display_Dock_Widget_Headers, &GMainWindow::OnDisplayTitleBars); connect_menu(ui->action_Display_Dock_Widget_Headers, &GMainWindow::OnDisplayTitleBars);
connect_to(ui->action_Show_Filter_Bar, &GMainWindow::OnToggleFilterBar); connect_menu(ui->action_Show_Filter_Bar, &GMainWindow::OnToggleFilterBar);
connect(ui->action_Show_Status_Bar, &QAction::triggered, statusBar(), &QStatusBar::setVisible); connect(ui->action_Show_Status_Bar, &QAction::triggered, statusBar(), &QStatusBar::setVisible);
connect_to(ui->action_Reset_Window_Size_720, &GMainWindow::ResetWindowSize720); connect_menu(ui->action_Reset_Window_Size_720, &GMainWindow::ResetWindowSize720);
connect_to(ui->action_Reset_Window_Size_900, &GMainWindow::ResetWindowSize900); connect_menu(ui->action_Reset_Window_Size_900, &GMainWindow::ResetWindowSize900);
connect_to(ui->action_Reset_Window_Size_1080, &GMainWindow::ResetWindowSize1080); connect_menu(ui->action_Reset_Window_Size_1080, &GMainWindow::ResetWindowSize1080);
ui->menu_Reset_Window_Size->addActions({ui->action_Reset_Window_Size_720, ui->menu_Reset_Window_Size->addActions({ui->action_Reset_Window_Size_720,
ui->action_Reset_Window_Size_900, ui->action_Reset_Window_Size_900,
ui->action_Reset_Window_Size_1080}); ui->action_Reset_Window_Size_1080});
// Tools // Tools
connect_to(ui->action_Rederive, connect_menu(ui->action_Rederive, std::bind(&GMainWindow::OnReinitializeKeys, this,
std::bind(&GMainWindow::OnReinitializeKeys, this, ReinitializeKeyBehavior::Warning)); ReinitializeKeyBehavior::Warning));
connect_to(ui->action_Capture_Screenshot, &GMainWindow::OnCaptureScreenshot); connect_menu(ui->action_Capture_Screenshot, &GMainWindow::OnCaptureScreenshot);
// TAS // TAS
connect_to(ui->action_TAS_Start, &GMainWindow::OnTasStartStop); connect_menu(ui->action_TAS_Start, &GMainWindow::OnTasStartStop);
connect_to(ui->action_TAS_Record, &GMainWindow::OnTasRecord); connect_menu(ui->action_TAS_Record, &GMainWindow::OnTasRecord);
connect_to(ui->action_TAS_Reset, &GMainWindow::OnTasReset); connect_menu(ui->action_TAS_Reset, &GMainWindow::OnTasReset);
connect_to(ui->action_Configure_Tas, &GMainWindow::OnConfigureTas); connect_menu(ui->action_Configure_Tas, &GMainWindow::OnConfigureTas);
// Help // Help
connect_to(ui->action_Open_yuzu_Folder, &GMainWindow::OnOpenYuzuFolder); connect_menu(ui->action_Open_yuzu_Folder, &GMainWindow::OnOpenYuzuFolder);
connect_to(ui->action_About, &GMainWindow::OnAbout); connect_menu(ui->action_About, &GMainWindow::OnAbout);
} }
void GMainWindow::UpdateMenuState() { void GMainWindow::UpdateMenuState() {
const bool is_paused = emu_thread == nullptr || !emu_thread->IsRunning(); const bool is_paused = emu_thread == nullptr || !emu_thread->IsRunning();
const auto running_actions = {ui->action_Stop, const std::array running_actions{ui->action_Stop,
ui->action_Restart, ui->action_Restart,
ui->action_Configure_Current_Game, ui->action_Configure_Current_Game,
ui->action_Report_Compatibility, ui->action_Report_Compatibility,
ui->action_Load_Amiibo, ui->action_Load_Amiibo,
ui->action_Pause}; ui->action_Pause};
for (QAction* action : running_actions) { for (QAction* action : running_actions) {
action->setEnabled(emulation_running); action->setEnabled(emulation_running);