InputGroup userInterfaceGeneral(InputCategory::UserInterface, "General"); namespace UserInterfaceGeneral { struct ToggleMenubar : HotkeyInput { void pressed() { utility.toggleMenubar(); } ToggleMenubar() : HotkeyInput("Toggle Menubar", "input.userInterface.general.toggleMenubar") { name = "KB0::Tab"; userInterfaceGeneral.attach(this); } } toggleMenubar; struct ToggleStatusbar : HotkeyInput { void pressed() { utility.toggleStatusbar(); } ToggleStatusbar() : HotkeyInput("Toggle Statusbar", "input.userInterface.general.toggleStatusbar") { name = "KB0::Tab"; userInterfaceGeneral.attach(this); } } toggleStatusbar; struct ToggleCheatSystem : HotkeyInput { void pressed() { //there is a signal attached to cheatEnableBox that will update SNES::cheat.enable(bool); if(cheatEditorWindow->cheatEnableBox->isChecked() == false) { cheatEditorWindow->cheatEnableBox->setChecked(true); utility.showMessage("Cheat system enabled."); } else { cheatEditorWindow->cheatEnableBox->setChecked(false); utility.showMessage("Cheat system disabled."); } } ToggleCheatSystem() : HotkeyInput("Toggle Cheat System", "input.userInterface.general.toggleCheatSystem") { userInterfaceGeneral.attach(this); } } toggleCheatSystem; struct CaptureScreenshot : HotkeyInput { void pressed() { //tell SNES::Interface to save a screenshot at the next video_refresh() event interface.saveScreenshot = true; } CaptureScreenshot() : HotkeyInput("Capture Screenshot", "input.userInterface.general.captureScreenshot") { userInterfaceGeneral.attach(this); } } captureScreenshot; //put here instead of in a separate "Audio Settings" group, //because there is only one audio option at present struct MuteAudioOutput : HotkeyInput { void pressed() { mainWindow->settings_muteAudio->toggleChecked(); config().audio.mute = mainWindow->settings_muteAudio->isChecked(); } MuteAudioOutput() : HotkeyInput("Mute Audio Output", "input.userInterface.general.muteAudioOutput") { name = "Shift+KB0::M"; userInterfaceGeneral.attach(this); } } muteAudioOutput; }