add spacing between items in header bar

This commit is contained in:
2026-07-23 21:20:56 +02:00
parent 79b79ab7c3
commit d1051607b2
2 changed files with 26 additions and 13 deletions

View File

@@ -54,24 +54,34 @@ HeaderBar::HeaderBar(const GameConfig* config, const std::string& itemsIconDir,
m_artifactsLabel->setToolTip(
QString::fromStdString(*config->world.artifactTooltip));
}
m_bossLabel = new QLabel(tr("Boss Wave #1 Next boss: 5:00"), this);
layout->addWidget(m_timeLabel);
layout->addWidget(m_blocksLabel);
layout->addWidget(m_artifactsLabel);
layout->addStretch();
layout->addWidget(m_bossLabel);
m_bossWaveLabel = new QLabel(tr("Boss Wave #1"), this);
m_nextBossLabel = new QLabel(tr("Next boss: 5:00"), this);
// Asteroid expansion button, to the left of the speed buttons (REQ-UI-HEADER,
// REQ-UI-EXPAND-BUTTON). Caption/enabled state are set on the first
// ExpansionCostChangedEvent; clicking requests an ExpandAsteroidCommand.
m_expandButton = new QPushButton(tr("Expand"), this);
layout->addWidget(m_expandButton);
connect(m_expandButton, &QPushButton::clicked, this, []() {
EventManager::getInstance()->sendEventImmediately(
std::make_shared<CommandRequestedEvent>(
std::make_shared<ExpandAsteroidCommand>()));
});
const int itemSpacing = 20;
layout->addWidget(m_timeLabel);
layout->addSpacing(itemSpacing);
layout->addWidget(m_blocksLabel);
layout->addSpacing(itemSpacing);
layout->addWidget(m_artifactsLabel);
layout->addStretch();
layout->addWidget(m_bossWaveLabel);
layout->addSpacing(itemSpacing);
layout->addWidget(m_nextBossLabel);
layout->addSpacing(itemSpacing);
layout->addWidget(m_expandButton);
layout->addSpacing(itemSpacing);
const char* labels[] = { "0x", "0.5x", "1x", "2x", "10x" };
QSignalMapper* mapper = new QSignalMapper(this);
for (int i = 0; i < kSpeedCount; ++i)
@@ -185,11 +195,13 @@ void HeaderBar::handleEvent(std::shared_ptr<const BossWaveUpdatedEvent> event)
{
const int bossSeconds = static_cast<int>(
ticksToSeconds(event->countdownTicks > 0 ? event->countdownTicks : 0));
m_bossLabel->setText(
tr("Boss Wave #%1 Next boss: %2:%3")
.arg(event->counter)
.arg(bossSeconds / 60)
.arg(bossSeconds % 60, 2, 10, QChar('0')));
m_bossWaveLabel->setText(
tr("Boss Wave #%1")
.arg(event->counter));
m_nextBossLabel->setText(
tr("Next boss: %1:%2")
.arg(bossSeconds / 60)
.arg(bossSeconds % 60, 2, 10, QChar('0')));
}
void HeaderBar::handleEvent(std::shared_ptr<const ArtifactCountChangedEvent> event)

View File

@@ -66,7 +66,8 @@ private:
QLabel* m_timeLabel;
QLabel* m_blocksLabel;
QLabel* m_artifactsLabel;
QLabel* m_bossLabel;
QLabel* m_bossWaveLabel;
QLabel* m_nextBossLabel;
QPushButton* m_expandButton;
std::vector<QPushButton*> m_speedButtons;