diff options
author | Tobias Markmann <tm@ayena.de> | 2015-01-30 13:58:52 (GMT) |
---|---|---|
committer | Swift Review <review@swift.im> | 2015-02-05 15:44:55 (GMT) |
commit | ccaa8342069eaa07d6cb3a4273c83f44883472fe (patch) | |
tree | 9f33e7f0820ccee4d5e0b572706ad790f41d2bd4 /Swift/Controllers/Chat/MUCController.cpp | |
parent | 7d2ee8a852ca25f094ab003061d330a576a4806b (diff) | |
download | swift-ccaa8342069eaa07d6cb3a4273c83f44883472fe.zip swift-ccaa8342069eaa07d6cb3a4273c83f44883472fe.tar.bz2 |
Correctly render MUC system messages as system messages
Messages received from a MUC bare JID in a MUC have been rendered as
user messages in the past. They are now rendered as system messages.
Test-Information:
Tested with a MUC component that sends a bare message on login.
Change-Id: I9a548ec9b81db8ba329182e08446d72c3518c7cb
Diffstat (limited to 'Swift/Controllers/Chat/MUCController.cpp')
-rw-r--r-- | Swift/Controllers/Chat/MUCController.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/Swift/Controllers/Chat/MUCController.cpp b/Swift/Controllers/Chat/MUCController.cpp index e7a5e29..70a638e 100644 --- a/Swift/Controllers/Chat/MUCController.cpp +++ b/Swift/Controllers/Chat/MUCController.cpp @@ -535,6 +535,15 @@ void MUCController::preHandleIncomingMessage(boost::shared_ptr<MessageEvent> mes } } +void MUCController::addMessageHandleIncomingMessage(const JID& from, const std::string& message, bool senderIsSelf, boost::shared_ptr<SecurityLabel> label, const boost::posix_time::ptime& time, const HighlightAction& highlight) { + if (from.isBare()) { + chatWindow_->addSystemMessage(chatMessageParser_->parseMessageBody(str(format(QT_TRANSLATE_NOOP("", "%1%")) % message)), ChatWindow::DefaultDirection); + } + else { + ChatControllerBase::addMessageHandleIncomingMessage(from, message, senderIsSelf, label, time, highlight); + } +} + void MUCController::postHandleIncomingMessage(boost::shared_ptr<MessageEvent> messageEvent, const HighlightAction& highlight) { boost::shared_ptr<Message> message = messageEvent->getStanza(); if (joined_ && messageEvent->getStanza()->getFrom().getResource() != nick_ && !message->getPayload<Delay>()) { |