diff --git a/src/apps/deskflow-gui/dialogs/AboutDialog.cpp b/src/apps/deskflow-gui/dialogs/AboutDialog.cpp index d42988523..f36865aea 100644 --- a/src/apps/deskflow-gui/dialogs/AboutDialog.cpp +++ b/src/apps/deskflow-gui/dialogs/AboutDialog.cpp @@ -39,19 +39,19 @@ AboutDialog::AboutDialog(QWidget *parent) : QDialog(parent) auto btnCopyVersion = new QPushButton(copyIcon, QString(), this); 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 - auto versionString = QString(kVersion); - if (versionString.endsWith(QStringLiteral(".0"))) { - versionString.chop(2); + m_versionString = QString(kVersion); + if (m_versionString.endsWith(QStringLiteral(".0"))) { + m_versionString.chop(2); } else { - versionString.append(QStringLiteral(" (%1)").arg(kVersionGitSha)); + m_versionString.append(QStringLiteral(" (%1)").arg(kVersionGitSha)); } auto versionLayout = new QHBoxLayout(); versionLayout->addWidget(new QLabel(tr("Version:"))); - versionLayout->addWidget(new QLabel(versionString, this)); + versionLayout->addWidget(new QLabel(m_versionString, this)); versionLayout->addWidget(btnCopyVersion); versionLayout->addSpacerItem(new QSpacerItem(0, 0, QSizePolicy::Expanding, QSizePolicy::Fixed)); @@ -86,3 +86,8 @@ AboutDialog::AboutDialog(QWidget *parent) : QDialog(parent) adjustSize(); setFixedSize(size()); } + +void AboutDialog::copyVersionText() +{ + QGuiApplication::clipboard()->setText(m_versionString); +} diff --git a/src/apps/deskflow-gui/dialogs/AboutDialog.h b/src/apps/deskflow-gui/dialogs/AboutDialog.h index 3e8a92791..4e2060836 100644 --- a/src/apps/deskflow-gui/dialogs/AboutDialog.h +++ b/src/apps/deskflow-gui/dialogs/AboutDialog.h @@ -29,6 +29,9 @@ public: ~AboutDialog() = default; private: + void copyVersionText(); + + QString m_versionString; 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_lightLogo = QStringLiteral(":/image/logo-light.png");