Qt: Expose display position/alignment in UI

This commit is contained in:
Connor McLaughlin 2022-10-13 17:40:58 +10:00
parent 0709f92ac1
commit bcd04e5f51
3 changed files with 34 additions and 6 deletions

View File

@ -36,6 +36,9 @@ DisplaySettingsWidget::DisplaySettingsWidget(SettingsDialog* dialog, QWidget* pa
SettingWidgetBinder::BindWidgetToEnumSetting(sif, m_ui.displayCropMode, "Display", "CropMode", SettingWidgetBinder::BindWidgetToEnumSetting(sif, m_ui.displayCropMode, "Display", "CropMode",
&Settings::ParseDisplayCropMode, &Settings::GetDisplayCropModeName, &Settings::ParseDisplayCropMode, &Settings::GetDisplayCropModeName,
Settings::DEFAULT_DISPLAY_CROP_MODE); 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", SettingWidgetBinder::BindWidgetToEnumSetting(sif, m_ui.gpuDownsampleMode, "GPU", "DownsampleMode",
&Settings::ParseDownsampleModeName, &Settings::GetDownsampleModeName, &Settings::ParseDownsampleModeName, &Settings::GetDownsampleModeName,
Settings::DEFAULT_GPU_DOWNSAMPLE_MODE); 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. <br>May " "Some games display content in the overscan area, or use it for screen effects. <br>May "
"not display correctly with the \"All Borders\" setting. \"Only Overscan\" offers a good " "not display correctly with the \"All Borders\" setting. \"Only Overscan\" offers a good "
"compromise between stability and hiding black borders.")); "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( dialog->registerWidgetHelp(
m_ui.gpuDownsampleMode, tr("Downsampling"), tr("Disabled"), 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, " 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<DisplayCropMode>(i)))); qApp->translate("DisplayCropMode", Settings::GetDisplayCropModeDisplayName(static_cast<DisplayCropMode>(i))));
} }
for (u32 i = 0; i < static_cast<u32>(DisplayAlignment::Count); i++)
{
m_ui.displayAlignment->addItem(
qApp->translate("DisplayAlignment", Settings::GetDisplayAlignmentDisplayName(static_cast<DisplayAlignment>(i))));
}
for (u32 i = 0; i < static_cast<u32>(GPUDownsampleMode::Count); i++) for (u32 i = 0; i < static_cast<u32>(GPUDownsampleMode::Count); i++)
{ {
m_ui.gpuDownsampleMode->addItem( m_ui.gpuDownsampleMode->addItem(

View File

@ -154,17 +154,17 @@
<item row="1" column="1"> <item row="1" column="1">
<widget class="QComboBox" name="displayCropMode"/> <widget class="QComboBox" name="displayCropMode"/>
</item> </item>
<item row="2" column="0"> <item row="3" column="0">
<widget class="QLabel" name="label_6"> <widget class="QLabel" name="label_6">
<property name="text"> <property name="text">
<string>Downsampling:</string> <string>Downsampling:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="1"> <item row="3" column="1">
<widget class="QComboBox" name="gpuDownsampleMode"/> <widget class="QComboBox" name="gpuDownsampleMode"/>
</item> </item>
<item row="3" column="0" colspan="2"> <item row="4" column="0" colspan="2">
<layout class="QGridLayout" name="gridLayout"> <layout class="QGridLayout" name="gridLayout">
<item row="0" column="0"> <item row="0" column="0">
<widget class="QCheckBox" name="displayIntegerScaling"> <widget class="QCheckBox" name="displayIntegerScaling">
@ -196,6 +196,16 @@
</item> </item>
</layout> </layout>
</item> </item>
<item row="2" column="0">
<widget class="QLabel" name="label_7">
<property name="text">
<string>Position:</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QComboBox" name="displayAlignment"/>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>

View File

@ -3403,6 +3403,11 @@ void FullscreenUI::DrawDisplaySettingsPage()
"CropMode", Settings::DEFAULT_DISPLAY_CROP_MODE, &Settings::ParseDisplayCropMode, "CropMode", Settings::DEFAULT_DISPLAY_CROP_MODE, &Settings::ParseDisplayCropMode,
&Settings::GetDisplayCropModeName, &Settings::GetDisplayCropModeDisplayName, DisplayCropMode::Count); &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", DrawEnumSetting(bsi, "Downsampling",
"Downsamples the rendered image prior to displaying it. Can improve " "Downsamples the rendered image prior to displaying it. Can improve "
"overall image quality in mixed 2D/3D games.", "overall image quality in mixed 2D/3D games.",
@ -5038,9 +5043,9 @@ void FullscreenUI::DrawCoverDownloaderWindow()
bool is_open = true; bool is_open = true;
if (ImGui::BeginPopupModal("Download Covers", &is_open, ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize)) if (ImGui::BeginPopupModal("Download Covers", &is_open, ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize))
{ {
ImGui::TextWrapped( ImGui::TextWrapped("DuckStation can automatically download covers for games which do not currently have a cover "
"DuckStation can automatically download covers for games which do not currently have a cover set. We do not host any " "set. We do not host any "
"cover images, the user must provide their own source for images."); "cover images, the user must provide their own source for images.");
ImGui::NewLine(); ImGui::NewLine();
ImGui::TextWrapped( ImGui::TextWrapped(
"In the form below, specify the URLs to download covers from, with one template URL per line. The following " "In the form below, specify the URLs to download covers from, with one template URL per line. The following "