From fa2ad60a5ba571e4b313e9e472951507d309e72a Mon Sep 17 00:00:00 2001 From: Serhii Hadzhilov Date: Thu, 22 Apr 2021 17:59:01 +0300 Subject: [PATCH] SYNERGY-799 Show message even if parent is hidden or minimized --- ChangeLog | 1 + src/gui/src/ClientConnection.cpp | 20 +++++++++++++++++--- src/gui/src/ClientConnection.h | 3 ++- src/gui/src/ServerConnection.cpp | 5 ++++- 4 files changed, 24 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7bd5edc96..5ce6afcf7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -19,6 +19,7 @@ Enhancements: - #6977 Update synergy UI. Configure server - #6978 Update synergy UI. Settings window - #6981 Update synergy UI. Setup client configuration +- #6984 Update synergy UI. Client error messages - #6962 | #6965 Add macOS 10.13 builder =========== diff --git a/src/gui/src/ClientConnection.cpp b/src/gui/src/ClientConnection.cpp index c28a8eeec..71207a5c4 100644 --- a/src/gui/src/ClientConnection.cpp +++ b/src/gui/src/ClientConnection.cpp @@ -28,10 +28,10 @@ ClientConnection::ClientConnection(MainWindow& parent) : { } -void ClientConnection::update(const QString& line) const +void ClientConnection::update(const QString& line) { - if (m_parent.isActiveWindow() && - line.contains("failed to connect to server") ) + if (line.contains("failed to connect to server") && + checkMainWindow()) { m_parent.stopSynergy(); @@ -42,6 +42,20 @@ void ClientConnection::update(const QString& line) const } } +bool ClientConnection::checkMainWindow() +{ + bool result = m_parent.isActiveWindow(); + + if (m_parent.isMinimized() || m_parent.isHidden()) + { + m_parent.showNormal(); + m_parent.activateWindow(); + result = true; + } + + return result; +} + QString ClientConnection::getMessage() const { QString message(QObject::tr("We can’t connect to the server IP address.\nCheck your IP on your server and your firewall settings.")); diff --git a/src/gui/src/ClientConnection.h b/src/gui/src/ClientConnection.h index 72ea28d08..0d52e95a7 100644 --- a/src/gui/src/ClientConnection.h +++ b/src/gui/src/ClientConnection.h @@ -29,10 +29,11 @@ class ClientConnection public: explicit ClientConnection(MainWindow& parent); - void update(const QString& line) const; + void update(const QString& line); private: QString getMessage() const; + bool checkMainWindow(); }; #endif // CLIENTCONNECTION_H diff --git a/src/gui/src/ServerConnection.cpp b/src/gui/src/ServerConnection.cpp index 03a2a9d0b..fba9b62c4 100644 --- a/src/gui/src/ServerConnection.cpp +++ b/src/gui/src/ServerConnection.cpp @@ -45,13 +45,16 @@ void ServerConnection::update(const QString& line) bool ServerConnection::checkMainWindow() { + bool result = m_parent.isActiveWindow(); + if (m_parent.isMinimized() || m_parent.isHidden()) { m_parent.showNormal(); m_parent.activateWindow(); + result = true; } - return m_parent.isActiveWindow(); + return result; } void ServerConnection::addClient(const QString& clientName)