refactor: Copy the full version string on the about dialog
This commit is contained in:
parent
23c054661c
commit
2455e0e29f
2 changed files with 14 additions and 6 deletions
|
|
@ -39,19 +39,19 @@ AboutDialog::AboutDialog(QWidget *parent) : QDialog(parent)
|
||||||
|
|
||||||
auto btnCopyVersion = new QPushButton(copyIcon, QString(), this);
|
auto btnCopyVersion = new QPushButton(copyIcon, QString(), this);
|
||||||
btnCopyVersion->setFlat(true);
|
btnCopyVersion->setFlat(true);
|
||||||
connect(btnCopyVersion, &QPushButton::clicked, this, [] { QGuiApplication::clipboard()->setText(kVersion); });
|
connect(btnCopyVersion, &QPushButton::clicked, this, &AboutDialog::copyVersionText);
|
||||||
|
|
||||||
// Set up the displayed version number
|
// Set up the displayed version number
|
||||||
auto versionString = QString(kVersion);
|
m_versionString = QString(kVersion);
|
||||||
if (versionString.endsWith(QStringLiteral(".0"))) {
|
if (m_versionString.endsWith(QStringLiteral(".0"))) {
|
||||||
versionString.chop(2);
|
m_versionString.chop(2);
|
||||||
} else {
|
} else {
|
||||||
versionString.append(QStringLiteral(" (%1)").arg(kVersionGitSha));
|
m_versionString.append(QStringLiteral(" (%1)").arg(kVersionGitSha));
|
||||||
}
|
}
|
||||||
|
|
||||||
auto versionLayout = new QHBoxLayout();
|
auto versionLayout = new QHBoxLayout();
|
||||||
versionLayout->addWidget(new QLabel(tr("Version:")));
|
versionLayout->addWidget(new QLabel(tr("Version:")));
|
||||||
versionLayout->addWidget(new QLabel(versionString, this));
|
versionLayout->addWidget(new QLabel(m_versionString, this));
|
||||||
versionLayout->addWidget(btnCopyVersion);
|
versionLayout->addWidget(btnCopyVersion);
|
||||||
versionLayout->addSpacerItem(new QSpacerItem(0, 0, QSizePolicy::Expanding, QSizePolicy::Fixed));
|
versionLayout->addSpacerItem(new QSpacerItem(0, 0, QSizePolicy::Expanding, QSizePolicy::Fixed));
|
||||||
|
|
||||||
|
|
@ -86,3 +86,8 @@ AboutDialog::AboutDialog(QWidget *parent) : QDialog(parent)
|
||||||
adjustSize();
|
adjustSize();
|
||||||
setFixedSize(size());
|
setFixedSize(size());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AboutDialog::copyVersionText()
|
||||||
|
{
|
||||||
|
QGuiApplication::clipboard()->setText(m_versionString);
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,9 @@ public:
|
||||||
~AboutDialog() = default;
|
~AboutDialog() = default;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
void copyVersionText();
|
||||||
|
|
||||||
|
QString m_versionString;
|
||||||
inline static const auto s_lightCopy = QStringLiteral(":/icons/64x64/copy-light.png");
|
inline static const auto s_lightCopy = QStringLiteral(":/icons/64x64/copy-light.png");
|
||||||
inline static const auto s_darkCopy = QStringLiteral(":/icons/64x64/copy-dark.png");
|
inline static const auto s_darkCopy = QStringLiteral(":/icons/64x64/copy-dark.png");
|
||||||
inline static const auto s_lightLogo = QStringLiteral(":/image/logo-light.png");
|
inline static const auto s_lightLogo = QStringLiteral(":/image/logo-light.png");
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue