aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorYana Stamcheva <yana@jitsi.org>2007-09-14 11:40:49 +0000
committerYana Stamcheva <yana@jitsi.org>2007-09-14 11:40:49 +0000
commit3333c970db94af03caf9db8c35aa730e914ff57b (patch)
tree97e712b88a2a6a7c2056010aa0e3f776a7fcc3cd /src
parentfd2f277ca63557cd34489a72be24325ed01c9aa1 (diff)
downloadjitsi-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.java37
-rw-r--r--src/net/java/sip/communicator/impl/protocol/irc/IrcStack.java4
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));