diff --git a/.github/workflows/cron_update_base_translation.yml b/.github/workflows/cron_update_base_translation.yml index f2218cc01e7bb..099706faee974 100644 --- a/.github/workflows/cron_update_base_translation.yml +++ b/.github/workflows/cron_update_base_translation.yml @@ -20,7 +20,7 @@ jobs: uses: peter-evans/create-pull-request@v7 with: title: "Qt: Update Base Translation" - commit-message: "Qt: Update Base Translation" + commit-message: "[ci skip]" committer: "PCSX2 Bot " author: "PCSX2 Bot " body: "Daily update of base translation sources." diff --git a/pcsx2-qt/MainWindow.cpp b/pcsx2-qt/MainWindow.cpp index 616e9efa946a8..8ff7b1507aaf8 100644 --- a/pcsx2-qt/MainWindow.cpp +++ b/pcsx2-qt/MainWindow.cpp @@ -1911,11 +1911,6 @@ void MainWindow::onInputRecStopActionTriggered() } } -void MainWindow::onInputRecOpenSettingsTriggered() -{ - // TODO - Vaser - Implement -} - InputRecordingViewer* MainWindow::getInputRecordingViewer() { if (!m_input_recording_viewer) diff --git a/pcsx2-qt/MainWindow.h b/pcsx2-qt/MainWindow.h index be3d2ef286f1a..b907753c4e555 100644 --- a/pcsx2-qt/MainWindow.h +++ b/pcsx2-qt/MainWindow.h @@ -179,7 +179,6 @@ private Q_SLOTS: void onInputRecNewActionTriggered(); void onInputRecPlayActionTriggered(); void onInputRecStopActionTriggered(); - void onInputRecOpenSettingsTriggered(); void onInputRecOpenViewer(); void onVMStarting(); diff --git a/pcsx2-qt/MainWindow.ui b/pcsx2-qt/MainWindow.ui index 850aa437bb2d4..e6477c9bdd2f9 100644 --- a/pcsx2-qt/MainWindow.ui +++ b/pcsx2-qt/MainWindow.ui @@ -196,7 +196,6 @@ - @@ -981,14 +980,6 @@ Stop - - - false - - - Settings - - Input Recording Logs diff --git a/pcsx2-qt/Settings/AdvancedSettingsWidget.cpp b/pcsx2-qt/Settings/AdvancedSettingsWidget.cpp index 75ca121bc9398..acd4903fe4435 100644 --- a/pcsx2-qt/Settings/AdvancedSettingsWidget.cpp +++ b/pcsx2-qt/Settings/AdvancedSettingsWidget.cpp @@ -56,6 +56,9 @@ AdvancedSettingsWidget::AdvancedSettingsWidget(SettingsWindow* dialog, QWidget* SettingWidgetBinder::BindWidgetToFloatSetting(sif, m_ui.ntscFrameRate, "EmuCore/GS", "FramerateNTSC", 59.94f); SettingWidgetBinder::BindWidgetToFloatSetting(sif, m_ui.palFrameRate, "EmuCore/GS", "FrameratePAL", 50.00f); + dialog->registerWidgetHelp(m_ui.savestateSelector, tr("Use Save State Selector"), tr("Checked"), + tr("Show a save state selector UI when switching slots instead of showing a notification bubble.")); + SettingWidgetBinder::BindWidgetToIntSetting( sif, m_ui.savestateCompressionMethod, "EmuCore", "SavestateCompressionType", static_cast(SavestateCompressionMethod::Zstandard)); @@ -67,6 +70,7 @@ AdvancedSettingsWidget::AdvancedSettingsWidget(SettingsWindow* dialog, QWidget* SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.backupSaveStates, "EmuCore", "BackupSavestate", true); SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.saveStateOnShutdown, "EmuCore", "SaveStateOnShutdown", false); + SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.savestateSelector, "EmuCore", "UseSavestateSelector", true); SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.pineEnable, "EmuCore", "EnablePINE", false); SettingWidgetBinder::BindWidgetToIntSetting(sif, m_ui.pineSlot, "EmuCore", "PINESlot", 28011); diff --git a/pcsx2-qt/Settings/AdvancedSettingsWidget.ui b/pcsx2-qt/Settings/AdvancedSettingsWidget.ui index 054730063b189..197fda8c7c6c3 100644 --- a/pcsx2-qt/Settings/AdvancedSettingsWidget.ui +++ b/pcsx2-qt/Settings/AdvancedSettingsWidget.ui @@ -32,9 +32,9 @@ 0 - 0 + -447 790 - 1023 + 1049 @@ -422,10 +422,10 @@ Savestate Settings - - + + - Compression Method: + Save State On Shutdown @@ -491,10 +491,17 @@ - - + + - Save State On Shutdown + Compression Method: + + + + + + + Use Save State Selector diff --git a/pcsx2-qt/resources/icons/black/svg/camera-video.svg b/pcsx2-qt/resources/icons/black/svg/camera-video.svg index a942cff7340ee..fe02654ad933b 100644 --- a/pcsx2-qt/resources/icons/black/svg/camera-video.svg +++ b/pcsx2-qt/resources/icons/black/svg/camera-video.svg @@ -1,7 +1,17 @@ - - - - - - - \ No newline at end of file + + + + + + + + + + \ No newline at end of file diff --git a/pcsx2-qt/resources/icons/black/svg/jogcon-line.svg b/pcsx2-qt/resources/icons/black/svg/jogcon-line.svg index e2713d43f8918..ecfcb4ca0de2a 100644 --- a/pcsx2-qt/resources/icons/black/svg/jogcon-line.svg +++ b/pcsx2-qt/resources/icons/black/svg/jogcon-line.svg @@ -1,20 +1,26 @@ - - - - - + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/pcsx2-qt/resources/icons/black/svg/negcon-line.svg b/pcsx2-qt/resources/icons/black/svg/negcon-line.svg index 2d3d907b229d1..b2bca1fc32487 100644 --- a/pcsx2-qt/resources/icons/black/svg/negcon-line.svg +++ b/pcsx2-qt/resources/icons/black/svg/negcon-line.svg @@ -1,30 +1,20 @@ - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + \ No newline at end of file diff --git a/pcsx2-qt/resources/icons/black/svg/realplay-sphere-line.svg b/pcsx2-qt/resources/icons/black/svg/realplay-sphere-line.svg index c4938bdd252a1..daf77b05b0f7a 100644 --- a/pcsx2-qt/resources/icons/black/svg/realplay-sphere-line.svg +++ b/pcsx2-qt/resources/icons/black/svg/realplay-sphere-line.svg @@ -1,7 +1,15 @@ - - - - - - - \ No newline at end of file + + + + + + + + + + + diff --git a/pcsx2-qt/resources/icons/black/svg/trance-vibrator-line.svg b/pcsx2-qt/resources/icons/black/svg/trance-vibrator-line.svg index 2b9f9478fd805..3b34819ddd8a7 100644 --- a/pcsx2-qt/resources/icons/black/svg/trance-vibrator-line.svg +++ b/pcsx2-qt/resources/icons/black/svg/trance-vibrator-line.svg @@ -1,19 +1,27 @@ - - - + + + + + + + + + + - + \ No newline at end of file diff --git a/pcsx2-qt/resources/icons/white/svg/camera-video.svg b/pcsx2-qt/resources/icons/white/svg/camera-video.svg index 98f30ec33c340..b55a7252b17ce 100644 --- a/pcsx2-qt/resources/icons/white/svg/camera-video.svg +++ b/pcsx2-qt/resources/icons/white/svg/camera-video.svg @@ -1,7 +1,17 @@ - - - - - - - \ No newline at end of file + + + + + + + + + + \ No newline at end of file diff --git a/pcsx2-qt/resources/icons/white/svg/jogcon-line.svg b/pcsx2-qt/resources/icons/white/svg/jogcon-line.svg index 60fcb49105ad0..f06b9044deb7f 100644 --- a/pcsx2-qt/resources/icons/white/svg/jogcon-line.svg +++ b/pcsx2-qt/resources/icons/white/svg/jogcon-line.svg @@ -1,23 +1,30 @@ - - - - - - + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/pcsx2-qt/resources/icons/white/svg/negcon-line.svg b/pcsx2-qt/resources/icons/white/svg/negcon-line.svg index cc4ba5cd0141f..ab9cb170c2208 100644 --- a/pcsx2-qt/resources/icons/white/svg/negcon-line.svg +++ b/pcsx2-qt/resources/icons/white/svg/negcon-line.svg @@ -1 +1,24 @@ - \ No newline at end of file + + + + + + + + + + + + \ No newline at end of file diff --git a/pcsx2-qt/resources/icons/white/svg/realplay-sphere-line.svg b/pcsx2-qt/resources/icons/white/svg/realplay-sphere-line.svg index e3cbc7f6e8146..d3640948f7293 100644 --- a/pcsx2-qt/resources/icons/white/svg/realplay-sphere-line.svg +++ b/pcsx2-qt/resources/icons/white/svg/realplay-sphere-line.svg @@ -1,7 +1,15 @@ - - - - - - - \ No newline at end of file + + + + + + + + + + + diff --git a/pcsx2-qt/resources/icons/white/svg/trance-vibrator-line.svg b/pcsx2-qt/resources/icons/white/svg/trance-vibrator-line.svg index 6619d170d680d..6a882d5fd5980 100644 --- a/pcsx2-qt/resources/icons/white/svg/trance-vibrator-line.svg +++ b/pcsx2-qt/resources/icons/white/svg/trance-vibrator-line.svg @@ -1,19 +1,27 @@ - - - + + + + + + + + + + - + \ No newline at end of file diff --git a/pcsx2/Config.h b/pcsx2/Config.h index 88f4da719ce00..fc64f1c22bae3 100644 --- a/pcsx2/Config.h +++ b/pcsx2/Config.h @@ -1276,6 +1276,7 @@ struct Pcsx2Config EnableGameFixes : 1, // enables automatic game fixes SaveStateOnShutdown : 1, // default value for saving state on shutdown EnableDiscordPresence : 1, // enables discord rich presence integration + UseSavestateSelector: 1, InhibitScreensaver : 1, BackupSavestate : 1, McdFolderAutoManage : 1, diff --git a/pcsx2/Hotkeys.cpp b/pcsx2/Hotkeys.cpp index a6d96cded9f25..b71e5494f5631 100644 --- a/pcsx2/Hotkeys.cpp +++ b/pcsx2/Hotkeys.cpp @@ -106,6 +106,11 @@ static bool CanPause() return true; } +static bool UseSavestateSelector() +{ + return EmuConfig.UseSavestateSelector; +} + BEGIN_HOTKEY_LIST(g_common_hotkeys) DEFINE_HOTKEY("OpenPauseMenu", TRANSLATE_NOOP("Hotkeys", "System"), TRANSLATE_NOOP("Hotkeys", "Open Pause Menu"), [](s32 pressed) { @@ -222,12 +227,12 @@ DEFINE_HOTKEY("InputRecToggleMode", TRANSLATE_NOOP("Hotkeys", "System"), DEFINE_HOTKEY("PreviousSaveStateSlot", TRANSLATE_NOOP("Hotkeys", "Save States"), TRANSLATE_NOOP("Hotkeys", "Select Previous Save Slot"), [](s32 pressed) { if (!pressed && VMManager::HasValidVM()) - SaveStateSelectorUI::SelectPreviousSlot(true); + SaveStateSelectorUI::SelectPreviousSlot(UseSavestateSelector()); }) DEFINE_HOTKEY("NextSaveStateSlot", TRANSLATE_NOOP("Hotkeys", "Save States"), TRANSLATE_NOOP("Hotkeys", "Select Next Save Slot"), [](s32 pressed) { if (!pressed && VMManager::HasValidVM()) - SaveStateSelectorUI::SelectNextSlot(true); + SaveStateSelectorUI::SelectNextSlot(UseSavestateSelector()); }) DEFINE_HOTKEY("SaveStateToSlot", TRANSLATE_NOOP("Hotkeys", "Save States"), TRANSLATE_NOOP("Hotkeys", "Save State To Selected Slot"), [](s32 pressed) { diff --git a/pcsx2/ImGui/FullscreenUI.cpp b/pcsx2/ImGui/FullscreenUI.cpp index d6cd8a6320d48..743066c1dd34b 100644 --- a/pcsx2/ImGui/FullscreenUI.cpp +++ b/pcsx2/ImGui/FullscreenUI.cpp @@ -3168,6 +3168,9 @@ void FullscreenUI::DrawInterfaceSettingsPage() DrawToggleSetting(bsi, FSUI_ICONSTR(ICON_FA_ARCHIVE, "Create Save State Backups"), FSUI_CSTR("Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix"), "EmuCore", "BackupSavestate", true); + DrawToggleSetting(bsi, FSUI_ICONSTR(ICON_FA_INFO_CIRCLE, "Use Save State Selector"), + FSUI_CSTR("Show a save state selector UI when switching slots instead of showing a notification bubble."), + "EmuCore", "UseSavestateSelector", true); if (DrawToggleSetting(bsi, FSUI_ICONSTR(ICON_FA_LIGHTBULB, "Use Light Theme"), FSUI_CSTR("Uses a light coloured theme instead of the default dark theme."), "UI", "UseLightFullscreenUITheme", false)) { diff --git a/pcsx2/Pcsx2Config.cpp b/pcsx2/Pcsx2Config.cpp index be60b540fe6b3..071ff140ebae2 100644 --- a/pcsx2/Pcsx2Config.cpp +++ b/pcsx2/Pcsx2Config.cpp @@ -1928,6 +1928,7 @@ void Pcsx2Config::LoadSaveCore(SettingsWrapper& wrap) SettingsWrapBitBool(EnableRecordingTools); SettingsWrapBitBool(EnableGameFixes); SettingsWrapBitBool(SaveStateOnShutdown); + SettingsWrapBitBool(UseSavestateSelector); SettingsWrapBitBool(EnableDiscordPresence); SettingsWrapBitBool(InhibitScreensaver); SettingsWrapBitBool(HostFs);