From 940e2ecd201aa03961b687c9b92ed63b3153b798 Mon Sep 17 00:00:00 2001 From: SerhiiGadzhilov <71632867+SerhiiGadzhilov@users.noreply.github.com> Date: Thu, 21 Oct 2021 13:48:40 +0300 Subject: [PATCH] SYNERGY-1287 display language notifications only on client side (#7111) * SYNERGY-1287 Display language notification only on client side * SYNERGY-1287 Always show notification on the client side * Update ChangeLog * Fix doxygen job --- CI/job-doxygen.yml | 2 +- ChangeLog | 2 +- src/lib/client/Client.cpp | 19 ++++++------------- src/lib/server/ClientProxyUnknown.cpp | 6 +----- src/lib/server/Server.cpp | 12 ------------ src/lib/server/Server.h | 7 ------- src/lib/synergy/protocol_types.cpp | 2 +- src/lib/synergy/protocol_types.h | 2 +- 8 files changed, 11 insertions(+), 41 deletions(-) diff --git a/CI/job-doxygen.yml b/CI/job-doxygen.yml index 9e75b84ff..1ce8ece95 100644 --- a/CI/job-doxygen.yml +++ b/CI/job-doxygen.yml @@ -3,7 +3,7 @@ jobs: condition: eq(variables['Build.SourceBranch'], 'refs/heads/master') pool: - vmImage: 'ubuntu-16.04' + vmImage: 'ubuntu-latest' steps: - script: | diff --git a/ChangeLog b/ChangeLog index 459b6d5fb..1a0f5a8ed 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,7 +2,7 @@ v1.14.2-snapshot =========== Bug fixes: - #7070 Fix radio button shifted focus on macOS -- #7038 | #7104 Fix client and server different keyboard layout errors +- #7038 | #7104 | #7111 Fix client and server different keyboard layout errors - #7078 Fix clipboard re-enables automatically - #7077 Fix Ubuntu, CentOS and Debian build after SYNERGY-1161 - #7080 Add trace if the system can't open file with trusted fingerprints diff --git a/src/lib/client/Client.cpp b/src/lib/client/Client.cpp index f32fc97eb..29ef39059 100644 --- a/src/lib/client/Client.cpp +++ b/src/lib/client/Client.cpp @@ -752,10 +752,7 @@ Client::handleHello(const Event&, void*) // say hello back LOG((CLOG_DEBUG1 "say hello version %d.%d", helloBackMajor, helloBackMinor)); - auto localLanguages = m_languageManager.getSerializedLocalLanguages(); - ProtocolUtil::writef(m_stream, kMsgHelloBack, - helloBackMajor, - helloBackMinor, & m_name, &localLanguages); + ProtocolUtil::writef(m_stream, kMsgHelloBack, helloBackMajor, helloBackMinor, &m_name); // now connected but waiting to complete handshake setupScreen(); @@ -820,15 +817,11 @@ Client::onFileRecieveCompleted() void Client::checkMissedLanguages() const { - if (m_args.m_enableLangSync) { - auto missedLanguages = m_languageManager.getMissedLanguages(); - if (!missedLanguages.empty()) { - AppUtil::instance().showNotification("Language synchronization error", - "These languages are required for the client to work: " + missedLanguages); - } - } - else { - LOG((CLOG_DEBUG "Language sync logic is disabled.")); + auto missedLanguages = m_languageManager.getMissedLanguages(); + if (!missedLanguages.empty()) { + AppUtil::instance().showNotification("Language synchronization error", + "You need to install these languages on this computer to enable support for multiple languages: " + + missedLanguages); } } diff --git a/src/lib/server/ClientProxyUnknown.cpp b/src/lib/server/ClientProxyUnknown.cpp index facf67dba..28b6cebdb 100644 --- a/src/lib/server/ClientProxyUnknown.cpp +++ b/src/lib/server/ClientProxyUnknown.cpp @@ -194,13 +194,9 @@ ClientProxyUnknown::handleData(const Event&, void*) // parse the reply to hello SInt16 major, minor; - String remoteLanguages; - if (!ProtocolUtil::readf(m_stream, kMsgHelloBack, - &major, &minor, &name, &remoteLanguages)) { + if (!ProtocolUtil::readf(m_stream, kMsgHelloBack, &major, &minor, &name)) { throw XBadClient(); } - m_languageManager.setRemoteLanguages(remoteLanguages); - m_server->setLanguageManager(m_languageManager); // disallow invalid version numbers if (major <= 0 || minor < 0) { diff --git a/src/lib/server/Server.cpp b/src/lib/server/Server.cpp index 79f67b28f..f8ddd12a8 100644 --- a/src/lib/server/Server.cpp +++ b/src/lib/server/Server.cpp @@ -348,8 +348,6 @@ Server::adoptClient(BaseClientProxy* client) client->screensaver(true); } - checkMissedLanguages(); - // send notification Server::ScreenConnectedInfo* info = new Server::ScreenConnectedInfo(getName(client)); @@ -1933,16 +1931,6 @@ Server::sendDragInfo(BaseClientProxy* newScreen) } } -void -Server::checkMissedLanguages() const -{ - auto missedLanguages = m_languageManager.getMissedLanguages(); - if (!missedLanguages.empty()) { - AppUtil::instance().showNotification("Language synchronization error", - "These languages are required for the server to work: " + missedLanguages); - } -} - void Server::onMouseMoveSecondary(SInt32 dx, SInt32 dy) { diff --git a/src/lib/server/Server.h b/src/lib/server/Server.h index 8a5272267..87055a61c 100644 --- a/src/lib/server/Server.h +++ b/src/lib/server/Server.h @@ -157,9 +157,6 @@ public: //! Store ClientListener pointer void setListener(ClientListener* p) { m_clientListener = p; } - //! Set language manager - void setLanguageManager(const synergy::languages::LanguageManager& manager) { m_languageManager = manager; } - //@} //! @name accessors //@{ @@ -377,9 +374,6 @@ private: // send drag info to new client screen void sendDragInfo(BaseClientProxy* newScreen); - //Shows notification if there are missed languages - void checkMissedLanguages() const; - public: bool m_mock; @@ -494,5 +488,4 @@ private: ClientListener* m_clientListener; lib::synergy::ServerArgs m_args; - synergy::languages::LanguageManager m_languageManager; }; diff --git a/src/lib/synergy/protocol_types.cpp b/src/lib/synergy/protocol_types.cpp index 2685456cb..fe7e9a545 100644 --- a/src/lib/synergy/protocol_types.cpp +++ b/src/lib/synergy/protocol_types.cpp @@ -19,7 +19,7 @@ #include "synergy/protocol_types.h" const char* const kMsgHello = "Synergy%2i%2i%s"; -const char* const kMsgHelloBack = "Synergy%2i%2i%s%s"; +const char* const kMsgHelloBack = "Synergy%2i%2i%s"; const char* const kMsgCNoop = "CNOP"; const char* const kMsgCClose = "CBYE"; const char* const kMsgCEnter = "CINN%2i%2i%4i%2i"; diff --git a/src/lib/synergy/protocol_types.h b/src/lib/synergy/protocol_types.h index 67339543d..ea6eeba71 100644 --- a/src/lib/synergy/protocol_types.h +++ b/src/lib/synergy/protocol_types.h @@ -109,7 +109,7 @@ extern const char* const kMsgHello; // respond to hello from server; secondary -> primary // $1 = protocol major version number supported by client. $2 = // protocol minor version number supported by client. $3 = client -// name. $4 = client language list +// name. extern const char* const kMsgHelloBack;