diff --git a/src/blackcore/context/contextnetworkimpl.cpp b/src/blackcore/context/contextnetworkimpl.cpp index f44b50351..ab846c46a 100644 --- a/src/blackcore/context/contextnetworkimpl.cpp +++ b/src/blackcore/context/contextnetworkimpl.cpp @@ -415,7 +415,7 @@ namespace BlackCore if (parser.countParts() < 2) { return false; } if (!m_network) { return false; } if (!this->isConnected()) { return false; } - const QString wallopMsg = simplifyAccents(parser.part(1).simplified().trimmed()); + const QString wallopMsg = parser.part(1).simplified().trimmed(); m_network->sendWallopMessage(wallopMsg); return true; } diff --git a/src/blackcore/vatsim/networkvatlib.cpp b/src/blackcore/vatsim/networkvatlib.cpp index 6c257acf3..f57a765b7 100644 --- a/src/blackcore/vatsim/networkvatlib.cpp +++ b/src/blackcore/vatsim/networkvatlib.cpp @@ -574,7 +574,7 @@ namespace BlackCore if (message.isEmpty()) {return; } BLACK_VERIFY_X(this->isConnected(), Q_FUNC_INFO, "Sending wallop, but not connected"); if (!this->isConnected()) { return; } - Vat_SendWallop(m_net.data(), toFSDnoColon(simplifyAccents(message))); + Vat_SendWallop(m_net.data(), toFSDnoColon(simplifyTextMessage(message))); } void CNetworkVatlib::sendCustomPacket(const CCallsign &callsign, const QString &packetId, const QStringList &data) @@ -1528,6 +1528,12 @@ namespace BlackCore CLogMessage(static_cast(nullptr)).error(errorMessage); } + QString CNetworkVatlib::simplifyTextMessage(const QString &msg) + { + if (msg.isEmpty()) { return {}; } + return asciiOnlyString(simplifyAccents(msg.simplified().trimmed())); + } + const QJsonObject &CNetworkVatlib::JsonPackets::aircraftConfigRequest() { static const QJsonObject jsonObject{ { "request", "full" } }; diff --git a/src/blackcore/vatsim/networkvatlib.h b/src/blackcore/vatsim/networkvatlib.h index c21eeaed9..3fdfc55db 100644 --- a/src/blackcore/vatsim/networkvatlib.h +++ b/src/blackcore/vatsim/networkvatlib.h @@ -190,6 +190,7 @@ namespace BlackCore static QString convertToUnicodeEscaped(const QString &str); static VatSimType convertToSimType(BlackMisc::Simulation::CSimulatorPluginInfo &simInfo); static void networkLogHandler(VatSeverityLevel severity, const char *context, const char *message); + static QString simplifyTextMessage(const QString &msg); void sendCustomPacket(const BlackMisc::Aviation::CCallsign &callsign, const QString &packetId, const QStringList &data); //! Default model string diff --git a/src/blackmisc/network/textmessage.cpp b/src/blackmisc/network/textmessage.cpp index c707e1a91..8f85b5945 100644 --- a/src/blackmisc/network/textmessage.cpp +++ b/src/blackmisc/network/textmessage.cpp @@ -27,14 +27,17 @@ namespace BlackMisc namespace Network { CTextMessage::CTextMessage(const QString &message, const CFrequency &frequency, const CCallsign &senderCallsign) - : m_message(message.trimmed().simplified()), m_senderCallsign(senderCallsign), m_frequency(frequency) + : m_senderCallsign(senderCallsign), m_frequency(frequency) { + this->setMessage(message); // single place to modify message m_frequency.switchUnit(PhysicalQuantities::CFrequencyUnit::MHz()); } CTextMessage::CTextMessage(const QString &message, const CCallsign &senderCallsign, const CCallsign &recipientCallsign) - : m_message(message.trimmed().simplified()), m_senderCallsign(senderCallsign), m_recipientCallsign(recipientCallsign), m_frequency(0, nullptr) - {} + : m_senderCallsign(senderCallsign), m_recipientCallsign(recipientCallsign), m_frequency(0, nullptr) + { + this->setMessage(message); // single place to modify message + } QString CTextMessage::convertToQString(bool i18n) const { @@ -115,9 +118,15 @@ namespace BlackMisc return CComSystem::isValidCivilAviationFrequency(m_frequency); } + QString CTextMessage::getAsciiOnlyMessage() const + { + if (m_message.isEmpty()) { return {}; } + return asciiOnlyString(simplifyAccents(m_message)); + } + void CTextMessage::setMessage(const QString &message) { - m_message = asciiOnlyString(simplifyAccents(message.simplified().trimmed())); + m_message = message.simplified().trimmed(); } bool CTextMessage::isRadioMessage() const diff --git a/src/blackmisc/network/textmessage.h b/src/blackmisc/network/textmessage.h index e6e8b9746..a2f9b4e91 100644 --- a/src/blackmisc/network/textmessage.h +++ b/src/blackmisc/network/textmessage.h @@ -85,6 +85,9 @@ namespace BlackMisc //! Get message const QString &getMessage() const { return m_message; } + //! Get ASCII only message + QString getAsciiOnlyMessage() const; + //! Empty message bool isEmpty() const { return m_message.isEmpty(); }