From d7036f3470a116bbb8e574a80e906003b3ddf166 Mon Sep 17 00:00:00 2001 From: Stenzek Date: Wed, 16 Sep 2026 00:55:36 +1000 Subject: [PATCH] Qt: Persist use-serial-file-names in cover downloader --- src/core/fullscreenui_settings.cpp | 15 ++++++++++++++- src/duckstation-qt/coverdownloadwindow.cpp | 14 +++++++++++++- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/src/core/fullscreenui_settings.cpp b/src/core/fullscreenui_settings.cpp index 6e2cedb17..f6cb49702 100644 --- a/src/core/fullscreenui_settings.cpp +++ b/src/core/fullscreenui_settings.cpp @@ -3036,6 +3036,9 @@ void FullscreenUI::DrawCoverDownloaderWindow() StringUtil::Strlcpy(s_settings_locals.cover_downloader_template_urls, StringUtil::JoinString(urls, '\n'), sizeof(s_settings_locals.cover_downloader_template_urls)); } + + s_settings_locals.cover_downloader_use_serial_names = + Core::GetBaseBoolSettingValue("UI", "CoverDownloaderUseSerialFileNames", false); } ImGui::PushStyleVar(ImGuiStyleVar_WindowRounding, LayoutScale(10.0f)); @@ -3135,8 +3138,18 @@ void FullscreenUI::SaveCoverDownloaderURLs() { const std::vector urls = StringUtil::SplitNewString(s_settings_locals.cover_downloader_template_urls, '\n'); - if (urls != Core::GetBaseStringListSetting("UI", "CoverDownloaderURL")) + bool changed = (urls != Core::GetBaseStringListSetting("UI", "CoverDownloaderURL")); + if (changed) Core::SetBaseStringListSettingValue("UI", "CoverDownloaderURL", urls); + if (s_settings_locals.cover_downloader_use_serial_names != + Core::GetBaseBoolSettingValue("UI", "CoverDownloaderUseSerialFileNames", false)) + { + Core::SetBaseBoolSettingValue("UI", "CoverDownloaderUseSerialFileNames", + s_settings_locals.cover_downloader_use_serial_names); + changed = true; + } + if (changed) + Host::CommitBaseSettingChanges(); } void FullscreenUI::DrawBIOSSettingsPage() diff --git a/src/duckstation-qt/coverdownloadwindow.cpp b/src/duckstation-qt/coverdownloadwindow.cpp index ac23d3beb..f75c317cf 100644 --- a/src/duckstation-qt/coverdownloadwindow.cpp +++ b/src/duckstation-qt/coverdownloadwindow.cpp @@ -30,6 +30,8 @@ CoverDownloadWindow::CoverDownloadWindow() : QWidget() const std::vector urls = Core::GetBaseStringListSetting("UI", "CoverDownloaderURL"); if (!urls.empty()) m_ui.urls->setPlainText(QString::fromStdString(StringUtil::JoinString(urls, "\n"))); + + m_ui.useSerialFileNames->setChecked(Core::GetBaseBoolSettingValue("UI", "CoverDownloaderUseSerialFileNames", false)); } CoverDownloadWindow::~CoverDownloadWindow() = default; @@ -44,8 +46,18 @@ void CoverDownloadWindow::closeEvent(QCloseEvent* ev) if (!url.empty()) urls.push_back(std::move(url)); } - if (urls != Core::GetBaseStringListSetting("UI", "CoverDownloaderURL")) + + bool changed = (urls != Core::GetBaseStringListSetting("UI", "CoverDownloaderURL")); + if (changed) Core::SetBaseStringListSettingValue("UI", "CoverDownloaderURL", urls); + if (const bool use_serial_filenames = m_ui.useSerialFileNames->isChecked(); + use_serial_filenames != Core::GetBaseBoolSettingValue("UI", "CoverDownloaderUseSerialFileNames", false)) + { + Core::SetBaseBoolSettingValue("UI", "CoverDownloaderUseSerialFileNames", use_serial_filenames); + changed = true; + } + if (changed) + Host::CommitBaseSettingChanges(); QtUtils::SaveWindowGeometry(this); QWidget::closeEvent(ev);