From bcd04e5f51692913484aef994a02ab67e4066d4a Mon Sep 17 00:00:00 2001 From: Connor McLaughlin Date: Thu, 13 Oct 2022 17:40:58 +1000 Subject: [PATCH] Qt: Expose display position/alignment in UI --- src/duckstation-qt/displaysettingswidget.cpp | 13 +++++++++++++ src/duckstation-qt/displaysettingswidget.ui | 16 +++++++++++++--- src/frontend-common/fullscreen_ui.cpp | 11 ++++++++--- 3 files changed, 34 insertions(+), 6 deletions(-) diff --git a/src/duckstation-qt/displaysettingswidget.cpp b/src/duckstation-qt/displaysettingswidget.cpp index 9d3dc5961..7db660ed9 100644 --- a/src/duckstation-qt/displaysettingswidget.cpp +++ b/src/duckstation-qt/displaysettingswidget.cpp @@ -36,6 +36,9 @@ DisplaySettingsWidget::DisplaySettingsWidget(SettingsDialog* dialog, QWidget* pa SettingWidgetBinder::BindWidgetToEnumSetting(sif, m_ui.displayCropMode, "Display", "CropMode", &Settings::ParseDisplayCropMode, &Settings::GetDisplayCropModeName, Settings::DEFAULT_DISPLAY_CROP_MODE); + SettingWidgetBinder::BindWidgetToEnumSetting(sif, m_ui.displayAlignment, "Display", "Alignment", + &Settings::ParseDisplayAlignment, &Settings::GetDisplayAlignmentName, + Settings::DEFAULT_DISPLAY_ALIGNMENT); SettingWidgetBinder::BindWidgetToEnumSetting(sif, m_ui.gpuDownsampleMode, "GPU", "DownsampleMode", &Settings::ParseDownsampleModeName, &Settings::GetDownsampleModeName, Settings::DEFAULT_GPU_DOWNSAMPLE_MODE); @@ -95,6 +98,10 @@ DisplaySettingsWidget::DisplaySettingsWidget(SettingsDialog* dialog, QWidget* pa "Some games display content in the overscan area, or use it for screen effects.
May " "not display correctly with the \"All Borders\" setting. \"Only Overscan\" offers a good " "compromise between stability and hiding black borders.")); + dialog->registerWidgetHelp( + m_ui.displayAlignment, tr("Position"), + qApp->translate("DisplayCropMode", Settings::GetDisplayAlignmentDisplayName(Settings::DEFAULT_DISPLAY_ALIGNMENT)), + tr("Determines the position on the screen when black borders must be added.")); dialog->registerWidgetHelp( m_ui.gpuDownsampleMode, tr("Downsampling"), tr("Disabled"), tr("Downsamples the rendered image prior to displaying it. Can improve overall image quality in mixed 2D/3D games, " @@ -177,6 +184,12 @@ void DisplaySettingsWidget::setupAdditionalUi() qApp->translate("DisplayCropMode", Settings::GetDisplayCropModeDisplayName(static_cast(i)))); } + for (u32 i = 0; i < static_cast(DisplayAlignment::Count); i++) + { + m_ui.displayAlignment->addItem( + qApp->translate("DisplayAlignment", Settings::GetDisplayAlignmentDisplayName(static_cast(i)))); + } + for (u32 i = 0; i < static_cast(GPUDownsampleMode::Count); i++) { m_ui.gpuDownsampleMode->addItem( diff --git a/src/duckstation-qt/displaysettingswidget.ui b/src/duckstation-qt/displaysettingswidget.ui index 35948a5c0..d654cb643 100644 --- a/src/duckstation-qt/displaysettingswidget.ui +++ b/src/duckstation-qt/displaysettingswidget.ui @@ -154,17 +154,17 @@ - + Downsampling: - + - + @@ -196,6 +196,16 @@ + + + + Position: + + + + + + diff --git a/src/frontend-common/fullscreen_ui.cpp b/src/frontend-common/fullscreen_ui.cpp index 9bf73a9eb..9a92ffa1a 100644 --- a/src/frontend-common/fullscreen_ui.cpp +++ b/src/frontend-common/fullscreen_ui.cpp @@ -3403,6 +3403,11 @@ void FullscreenUI::DrawDisplaySettingsPage() "CropMode", Settings::DEFAULT_DISPLAY_CROP_MODE, &Settings::ParseDisplayCropMode, &Settings::GetDisplayCropModeName, &Settings::GetDisplayCropModeDisplayName, DisplayCropMode::Count); + DrawEnumSetting(bsi, "Position", "Determines the position on the screen when black borders must be added.", "Display", + "Alignment", Settings::DEFAULT_DISPLAY_ALIGNMENT, &Settings::ParseDisplayAlignment, + &Settings::GetDisplayAlignmentDisplayName, &Settings::GetDisplayAlignmentDisplayName, + DisplayAlignment::Count); + DrawEnumSetting(bsi, "Downsampling", "Downsamples the rendered image prior to displaying it. Can improve " "overall image quality in mixed 2D/3D games.", @@ -5038,9 +5043,9 @@ void FullscreenUI::DrawCoverDownloaderWindow() bool is_open = true; if (ImGui::BeginPopupModal("Download Covers", &is_open, ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize)) { - ImGui::TextWrapped( - "DuckStation can automatically download covers for games which do not currently have a cover set. We do not host any " - "cover images, the user must provide their own source for images."); + ImGui::TextWrapped("DuckStation can automatically download covers for games which do not currently have a cover " + "set. We do not host any " + "cover images, the user must provide their own source for images."); ImGui::NewLine(); ImGui::TextWrapped( "In the form below, specify the URLs to download covers from, with one template URL per line. The following "