vkdoom_m/src/launcher/launcherbuttonbar.cpp
Christoph Oelckers ebd4ebf298 StringTable cleanup and improvements
cleaned up function interface to avoid referencing the file system in the worker functions.
replaced StringTable's operators with functions.. The main reason is that these are far easier to look up when browsing the source.
This also fixes a premature translation in SBARINFO that was done in the parsing stage, not the printing stage.
2024-04-21 10:34:44 +02:00

46 lines
1.2 KiB
C++

#include "launcherbuttonbar.h"
#include "launcherwindow.h"
#include "gstrings.h"
#include <zwidget/widgets/pushbutton/pushbutton.h>
LauncherButtonbar::LauncherButtonbar(LauncherWindow* parent) : Widget(parent)
{
PlayButton = new PushButton(this);
ExitButton = new PushButton(this);
PlayButton->OnClick = [=]() { OnPlayButtonClicked(); };
ExitButton->OnClick = [=]() { OnExitButtonClicked(); };
}
void LauncherButtonbar::UpdateLanguage()
{
PlayButton->SetText(GStrings.GetString("PICKER_PLAY"));
ExitButton->SetText(GStrings.GetString("PICKER_EXIT"));
}
double LauncherButtonbar::GetPreferredHeight() const
{
return 20.0 + std::max(PlayButton->GetPreferredHeight(), ExitButton->GetPreferredHeight());
}
void LauncherButtonbar::OnGeometryChanged()
{
PlayButton->SetFrameGeometry(20.0, 10.0, 120.0, PlayButton->GetPreferredHeight());
ExitButton->SetFrameGeometry(GetWidth() - 20.0 - 120.0, 10.0, 120.0, PlayButton->GetPreferredHeight());
}
void LauncherButtonbar::OnPlayButtonClicked()
{
GetLauncher()->Start();
}
void LauncherButtonbar::OnExitButtonClicked()
{
GetLauncher()->Exit();
}
LauncherWindow* LauncherButtonbar::GetLauncher() const
{
return static_cast<LauncherWindow*>(Parent());
}