From 2455e0e29fc831bd8bc4c22919824e504ef42bfb Mon Sep 17 00:00:00 2001 From: sithlord48 Date: Sat, 28 Dec 2024 09:51:15 -0500 Subject: [PATCH] refactor: Copy the full version string on the about dialog --- src/apps/deskflow-gui/dialogs/AboutDialog.cpp | 17 +++++++++++------ src/apps/deskflow-gui/dialogs/AboutDialog.h | 3 +++ 2 files changed, 14 insertions(+), 6 deletions(-) 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");