From f2c5af2de7faea911a370d2fa759846dba7408ea Mon Sep 17 00:00:00 2001 From: Joshua Goins Date: Tue, 16 May 2023 15:24:27 -0400 Subject: [PATCH] Allow vertical scrolling in input configuration On screens that are of limited height (like the Steam Deck), certain buttons of the input configuration are cut off and cannot be accessed. Now a vertical scrollbar will show up when the minimum height is not available. --- src/yuzu/configuration/configure_input.cpp | 9 ++++++++- src/yuzu/configuration/configure_input_player.ui | 12 ++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/yuzu/configuration/configure_input.cpp b/src/yuzu/configuration/configure_input.cpp index 7fce85bca7..fb9c385d44 100644 --- a/src/yuzu/configuration/configure_input.cpp +++ b/src/yuzu/configuration/configure_input.cpp @@ -3,6 +3,7 @@ #include #include +#include #include "core/core.h" #include "core/hid/emulated_controller.h" @@ -112,7 +113,13 @@ void ConfigureInput::Initialize(InputCommon::InputSubsystem* input_subsystem, for (std::size_t i = 0; i < player_tabs.size(); ++i) { player_tabs[i]->setLayout(new QHBoxLayout(player_tabs[i])); - player_tabs[i]->layout()->addWidget(player_controllers[i]); + + auto scroll_area = new QScrollArea(player_tabs[i]); + player_tabs[i]->layout()->addWidget(scroll_area); + scroll_area->setWidget(player_controllers[i]); + scroll_area->setWidgetResizable(true); + scroll_area->setFrameShape(QFrame::Shape::NoFrame); + connect(player_controllers[i], &ConfigureInputPlayer::Connected, [&, i](bool is_connected) { // Ensures that the controllers are always connected in sequential order if (is_connected) { diff --git a/src/yuzu/configuration/configure_input_player.ui b/src/yuzu/configuration/configure_input_player.ui index 977b900714..8c59e219bb 100644 --- a/src/yuzu/configuration/configure_input_player.ui +++ b/src/yuzu/configuration/configure_input_player.ui @@ -10,6 +10,18 @@ 487 + + + 0 + 0 + + + + + 0 + 743 + + Configure Input