Merge pull request #14879 from jordan-woyak/infinity-window-adjustments

DolphinQt/InfinityBaseWindow: Minor adjustments.
This commit is contained in:
Admiral H. Curtiss
2026-10-03 12:25:05 +02:00
committed by GitHub
2 changed files with 25 additions and 11 deletions
@@ -15,6 +15,7 @@
#include <QMessageBox>
#include <QPushButton>
#include <QScrollArea>
#include <QStackedWidget>
#include <QString>
#include <QVBoxLayout>
@@ -26,6 +27,7 @@
#include "Core/System.h"
#include "DolphinQt/QtUtils/DolphinFileDialog.h"
#include "DolphinQt/QtUtils/WrapInScrollArea.h"
#include "DolphinQt/Resources.h"
#include "DolphinQt/Settings.h"
@@ -76,9 +78,19 @@ void InfinityBaseWindow::CreateMainWindow()
vbox->addWidget(line);
};
m_group_figures = new QGroupBox(tr("Active Infinity Figures:"));
auto* vbox_group = new QVBoxLayout();
auto* scroll_area = new QScrollArea();
m_stacked_groupboxes = new QStackedWidget;
auto* const active_figures_group = new QGroupBox(tr("Active Infinity Figures:"));
auto* const active_figures_layout = new QVBoxLayout{active_figures_group};
auto* const active_figures = new QWidget;
active_figures_layout->setContentsMargins(QMargins{});
active_figures_layout->addWidget(GetWrappedWidget(active_figures));
// Stack contains an empty QGroupBox for when hidden along with the proper QGroupBox.
m_stacked_groupboxes->addWidget(new QGroupBox);
m_stacked_groupboxes->addWidget(active_figures_group);
auto* const vbox_group = new QVBoxLayout{active_figures};
AddFigureSlot(vbox_group, tr("Play Set/Power Disc"), FigureUIPosition::HexagonDiscOne);
add_line(vbox_group);
@@ -98,11 +110,11 @@ void InfinityBaseWindow::CreateMainWindow()
add_line(vbox_group);
AddFigureSlot(vbox_group, tr("Player Two Ability Two"), FigureUIPosition::P2AbilityTwo);
m_group_figures->setLayout(vbox_group);
scroll_area->setWidget(m_group_figures);
scroll_area->setWidgetResizable(true);
m_group_figures->setVisible(Config::Get(Config::MAIN_EMULATE_INFINITY_BASE));
main_layout->addWidget(scroll_area);
vbox_group->addStretch();
m_stacked_groupboxes->setCurrentIndex(Config::Get(Config::MAIN_EMULATE_INFINITY_BASE) ? 1 : 0);
main_layout->addWidget(m_stacked_groupboxes);
setLayout(main_layout);
}
@@ -253,6 +265,8 @@ CreateFigureDialog::CreateFigureDialog(QWidget* parent, FigureUIPosition slot) :
hbox_idvar->addWidget(edit_num);
layout->addLayout(hbox_idvar);
layout->addStretch();
auto* buttons = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
buttons->button(QDialogButtonBox::Ok)->setText(tr("Create"));
layout->addWidget(buttons);
@@ -329,7 +343,7 @@ QString CreateFigureDialog::GetFilePath() const
void InfinityBaseWindow::EmulateBase(bool emulate)
{
Config::SetBaseOrCurrent(Config::MAIN_EMULATE_INFINITY_BASE, emulate);
m_group_figures->setVisible(emulate);
m_stacked_groupboxes->setCurrentIndex(emulate ? 1 : 0);
}
void InfinityBaseWindow::OnEmulationStateChanged(Core::State state)
@@ -11,8 +11,8 @@
#include "Common/CommonTypes.h"
class QCheckBox;
class QGroupBox;
class QLineEdit;
class QStackedWidget;
class QVBoxLayout;
namespace Core
@@ -47,7 +47,7 @@ private:
void LoadFigurePath(IOS::HLE::USB::FigureUIPosition slot, const QString& path);
QCheckBox* m_checkbox;
QGroupBox* m_group_figures;
QStackedWidget* m_stacked_groupboxes;
};
class CreateFigureDialog : public QDialog