WSJT-X/widgets/SplashScreen.cpp

49 lines
1.3 KiB
C++

#include "SplashScreen.hpp"
#include <QPixmap>
#include <QVBoxLayout>
#include <QCheckBox>
#include <QCoreApplication>
#include "revision_utils.hpp"
#include "pimpl_impl.hpp"
#include "moc_SplashScreen.cpp"
class SplashScreen::impl
{
public:
impl ()
: checkbox_ {"Do not show this again"}
{
main_layout_.addStretch ();
main_layout_.addWidget (&checkbox_, 0, Qt::AlignRight);
}
QVBoxLayout main_layout_;
QCheckBox checkbox_;
};
SplashScreen::SplashScreen ()
: QSplashScreen {QPixmap {":/splash.png"}, Qt::WindowStaysOnTopHint}
{
setLayout (&m_->main_layout_);
showMessage ("<h2>" + QString {"WSJT-X v" +
QCoreApplication::applicationVersion() + " " +
revision ()}.simplified () + "</h2>"
"V2.0 has many new features.<br /><br />"
"The release notes have more details.<br /><br />"
"Send issue reports to https://wsjtx.groups.io, and be sure to save .wav<br />"
"files where appropriate.<br /><br />"
"<b>Open the Help menu and select Release Notes for more details.</b><br />"
"<img src=\":/icon_128x128.png\" />"
"<img src=\":/gpl-v3-logo.svg\" height=\"80\" />", Qt::AlignCenter);
connect (&m_->checkbox_, &QCheckBox::stateChanged, [this] (int s) {
if (Qt::Checked == s) Q_EMIT disabled ();
});
}
SplashScreen::~SplashScreen ()
{
}