Compare commits

...

2 commits

Author SHA1 Message Date
Lukas Brübach
6c9390594a [Client] Skip decided pairings when resolving live tournament game 2026-10-11 17:32:03 +02:00
Lukas Brübach
670bd9dc6c [Tournament] Fold tournament settings hint into the spinbox tooltip
The standalone hint label sat in the form layout's field column with an
empty label cell, which misaligned it against the row above. Per review,
drop the label and carry its text in the spinbox tooltip instead.
2026-10-11 14:59:04 +02:00
2 changed files with 3 additions and 8 deletions

View file

@ -2,7 +2,6 @@
#include <QDialogButtonBox>
#include <QFormLayout>
#include <QLabel>
#include <QPushButton>
#include <QSpinBox>
@ -15,13 +14,9 @@ DlgTournamentSettings::DlgTournamentSettings(QWidget *parent) : QDialog(parent)
gamesPerMatchSpin = new QSpinBox(this);
gamesPerMatchSpin->setRange(1, 5);
gamesPerMatchSpin->setValue(1);
gamesPerMatchSpin->setToolTip(tr("Number of games per match (e.g., 3 for Best of 3)"));
gamesPerMatchSpin->setToolTip(tr("Number of games per match (e.g., 3 for Best of 3, 5 for Best of 5)"));
mainLayout->addRow(tr("Games per match:"), gamesPerMatchSpin);
QLabel *hintLabel = new QLabel(tr("Set to 3 for Best of 3, 5 for Best of 5, etc."), this);
hintLabel->setStyleSheet("color: palette(placeholderText);");
mainLayout->addRow(QString(), hintLabel);
buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, this);
connect(buttonBox, &QDialogButtonBox::accepted, this, &DlgTournamentSettings::actOK);
connect(buttonBox, &QDialogButtonBox::rejected, this, &QDialog::reject);

View file

@ -185,7 +185,7 @@ void TournamentWidget::rebuildTables(const Event_TournamentState &state)
QString statusStr;
if (pairing.player2_id() == -1) {
statusStr = tr("BYE");
} else if (pairing.winner_id() != -1) {
} else if (pairing.has_winner_id() || pairing.is_draw()) {
statusStr = tr("Finished");
} else {
statusStr = tr("vs");
@ -211,7 +211,7 @@ void TournamentWidget::resolveCurrentGameId(const Event_TournamentState &state)
for (int i = 0; i < state.pairings_size(); ++i) {
const auto &pairing = state.pairings(i);
if (pairing.game_id() == -1) {
if (pairing.game_id() == -1 || pairing.has_winner_id() || pairing.is_draw()) {
continue;
}
if (!hasOwnLivePairing && localPlayerId != -1 &&