refactor: copy more info with the about dialog info's copy button

This commit is contained in:
sithlord48 2025-01-09 14:32:01 -05:00 committed by Chris Rizzitello
parent b8d12a0895
commit 7a72658963
2 changed files with 12 additions and 7 deletions

View file

@ -42,16 +42,16 @@ AboutDialog::AboutDialog(QWidget *parent) : QDialog(parent)
connect(btnCopyVersion, &QPushButton::clicked, this, &AboutDialog::copyVersionText); connect(btnCopyVersion, &QPushButton::clicked, this, &AboutDialog::copyVersionText);
// Set up the displayed version number // Set up the displayed version number
m_versionString = QString(kVersion); auto versionString = QString(kVersion);
if (m_versionString.endsWith(QStringLiteral(".0"))) { if (versionString.endsWith(QStringLiteral(".0"))) {
m_versionString.chop(2); versionString.chop(2);
} else { } else {
m_versionString.append(QStringLiteral(" (%1)").arg(kVersionGitSha)); 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(m_versionString, this)); versionLayout->addWidget(new QLabel(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));
@ -89,5 +89,11 @@ AboutDialog::AboutDialog(QWidget *parent) : QDialog(parent)
void AboutDialog::copyVersionText() void AboutDialog::copyVersionText()
{ {
QGuiApplication::clipboard()->setText(m_versionString); QString infoString = QStringLiteral("Deskflow: %1 (%2)\nQt: %3\nSystem: %4")
.arg(kVersion, kVersionGitSha, qVersion(), QSysInfo::prettyProductName());
#ifdef Q_OS_LINUX
infoString.append(QStringLiteral("\nSession: %1 (%2)")
.arg(qEnvironmentVariable("XDG_CURRENT_DESKTOP"), qEnvironmentVariable("XDG_SESSION_TYPE")));
#endif
QGuiApplication::clipboard()->setText(infoString);
} }

View file

@ -31,7 +31,6 @@ public:
private: private:
void copyVersionText(); 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");