diff options
author | Yana Stamcheva <yana@jitsi.org> | 2007-09-14 11:40:49 +0000 |
---|---|---|
committer | Yana Stamcheva <yana@jitsi.org> | 2007-09-14 11:40:49 +0000 |
commit | 3333c970db94af03caf9db8c35aa730e914ff57b (patch) | |
tree | 97e712b88a2a6a7c2056010aa0e3f776a7fcc3cd /src | |
parent | fd2f277ca63557cd34489a72be24325ed01c9aa1 (diff) | |
download | jitsi-3333c970db94af03caf9db8c35aa730e914ff57b.zip jitsi-3333c970db94af03caf9db8c35aa730e914ff57b.tar.gz jitsi-3333c970db94af03caf9db8c35aa730e914ff57b.tar.bz2 |
Fix multi line messages in IRC.
Diffstat (limited to 'src')
-rw-r--r-- | src/net/java/sip/communicator/impl/protocol/irc/ChatRoomIrcImpl.java | 37 | ||||
-rw-r--r-- | src/net/java/sip/communicator/impl/protocol/irc/IrcStack.java | 4 |
2 files changed, 29 insertions, 12 deletions
diff --git a/src/net/java/sip/communicator/impl/protocol/irc/ChatRoomIrcImpl.java b/src/net/java/sip/communicator/impl/protocol/irc/ChatRoomIrcImpl.java index 8e9c7ff..8dc67f1 100644 --- a/src/net/java/sip/communicator/impl/protocol/irc/ChatRoomIrcImpl.java +++ b/src/net/java/sip/communicator/impl/protocol/irc/ChatRoomIrcImpl.java @@ -702,17 +702,36 @@ public class ChatRoomIrcImpl { assertConnected(); - if (((MessageIrcImpl) message).isCommand()) - { - parentProvider.getIrcStack().sendCommand(this, message); - } - else + String[] splitMessages = message.getContent().split("\n"); + + String messagePortion = null; + for (int i = 0; i < splitMessages.length; i ++) { - parentProvider.getIrcStack() - .sendMessage(chatRoomName, message.getContent()); - } + messagePortion = splitMessages[i]; + + // As we only send one message per line, we ignore empty lines in + // the incoming multi line message. + if(messagePortion.equals("\n") + || messagePortion.matches("[\\ ]*")) + continue; - this.fireMessageDeliveredEvent(message); + if (((MessageIrcImpl) message).isCommand()) + { + parentProvider.getIrcStack() + .sendCommand(this, messagePortion); + } + else + { + parentProvider.getIrcStack() + .sendMessage(chatRoomName, messagePortion); + } + + this.fireMessageDeliveredEvent( + new MessageIrcImpl( messagePortion, + message.getContentType(), + message.getEncoding(), + message.getSubject())); + } } /** diff --git a/src/net/java/sip/communicator/impl/protocol/irc/IrcStack.java b/src/net/java/sip/communicator/impl/protocol/irc/IrcStack.java index 0fa341a..05bfea2 100644 --- a/src/net/java/sip/communicator/impl/protocol/irc/IrcStack.java +++ b/src/net/java/sip/communicator/impl/protocol/irc/IrcStack.java @@ -1597,10 +1597,8 @@ public class IrcStack * * @param message The command we want to send. */ - protected void sendCommand(ChatRoomIrcImpl chatRoom, Message message) + protected void sendCommand(ChatRoomIrcImpl chatRoom, String command) { - String command = message.getContent(); - if (command.startsWith("/me")) { this.sendAction(chatRoom.getName(), command.substring(3)); |