From 228ead39fb24ac34b5be449ab1f9423356803ebf Mon Sep 17 00:00:00 2001 From: Nick Bolton Date: Wed, 7 Aug 2024 18:40:31 +0100 Subject: [PATCH] More reliable button click detection for add client dialog (#7427) * Use more reliable method to detect button clicks on add client dialog * Use pointer to const * Remove redundant tr * Update ChangeLog --- ChangeLog | 1 + src/lib/gui/core/ServerConnection.cpp | 18 +++++++++++++----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 337f1f9a3..fbb9d62f7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -70,6 +70,7 @@ Enhancements: - #7424 Add Alma Linux and Rocky Linux runners - #7425 Refactored core process management and IPC client - #7426 Fixed warnings and enable errors as warnings +- #7427 More reliable button click detection for add client dialog # 1.14.6 diff --git a/src/lib/gui/core/ServerConnection.cpp b/src/lib/gui/core/ServerConnection.cpp index 6832d8150..3f23e1b61 100644 --- a/src/lib/gui/core/ServerConnection.cpp +++ b/src/lib/gui/core/ServerConnection.cpp @@ -21,6 +21,7 @@ #include "gui/config/AppConfig.h" #include +#include namespace synergy::gui { @@ -75,15 +76,22 @@ void ServerConnection::addClient(const QString &clientName) { } QMessageBox message(&m_parent); - message.addButton(QObject::tr("Ignore"), QMessageBox::RejectRole); - message.addButton(QObject::tr("Add client"), QMessageBox::AcceptRole); + const QPushButton *ignore = + message.addButton("Ignore", QMessageBox::RejectRole); + const QPushButton *add = + message.addButton("Add client", QMessageBox::AcceptRole); message.setText( - QObject::tr("Client with name '%1' wants to connect").arg(clientName)); + QString("A new client called '%1' wants to connect").arg(clientName)); + message.exec(); - if (message.exec() == QMessageBox::Accepted) { + if (message.clickedButton() == add) { + qDebug("accepted dialog, adding client: %s", qPrintable(clientName)); emit configureClient(clientName); - } else { + } else if (message.clickedButton() == ignore) { + qDebug("declined dialog, ignoring client: %s", qPrintable(clientName)); m_ignoredClients.append(clientName); + } else { + qFatal("no expected dialog button was clicked"); } }