Don't squish because then they overlap. Use new layout instead.

Took 8 minutes
This commit is contained in:
Lukas Brübach 2025-09-26 23:45:33 +02:00
parent 40899cb65e
commit bafcf499b1

View file

@ -114,13 +114,24 @@ void DlgCreateGame::sharedCtor()
gameSetupOptionsGroupBox = new QGroupBox(tr("Game setup options")); gameSetupOptionsGroupBox = new QGroupBox(tr("Game setup options"));
gameSetupOptionsGroupBox->setLayout(gameSetupOptionsLayout); gameSetupOptionsGroupBox->setLayout(gameSetupOptionsLayout);
QGridLayout *grid = new QGridLayout; auto *grid = new QGridLayout;
// Top row
grid->addWidget(generalGroupBox, 0, 0); grid->addWidget(generalGroupBox, 0, 0);
grid->addWidget(joinRestrictionsGroupBox, 0, 1); grid->addWidget(joinRestrictionsGroupBox, 0, 1);
// Middle row: left column
grid->addWidget(gameTypeGroupBox, 1, 0); grid->addWidget(gameTypeGroupBox, 1, 0);
grid->addWidget(spectatorsGroupBox, 1, 1, Qt::AlignTop);
grid->addWidget(gameSetupOptionsGroupBox, 1, 1, Qt::AlignBottom); // Middle row: right column (game setup + spectators)
grid->addWidget(rememberGameSettings, 3, 0); auto *rightLayout = new QVBoxLayout;
rightLayout->addWidget(spectatorsGroupBox, Qt::AlignTop); // top
rightLayout->addWidget(gameSetupOptionsGroupBox); // bottom
grid->addLayout(rightLayout, 1, 1);
// Bottom row
grid->addWidget(rememberGameSettings, 3, 0, 1, 2); // span both columns if needed
buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok); buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok);
connect(buttonBox, &QDialogButtonBox::rejected, this, &DlgCreateGame::reject); connect(buttonBox, &QDialogButtonBox::rejected, this, &DlgCreateGame::reject);